Widget Context - Version 1.2.0

Version Description

PHP 5.6 is now the minimum supported version of PHP. Also included is developer tooling update and improved PHP unit tests.

=

Download this release

Release Info

Developer kasparsd
Plugin Icon 128x128 Widget Context
Version 1.2.0
Comparing to
See all releases

Code changes from version 1.1.1 to 1.2.0

assets/js/widget-context.js CHANGED
@@ -1,29 +1,20 @@
1
- jQuery(document).ready(function($) {
2
-
3
- function show_hide_controls( widget_id ) {
4
-
5
- var condition = $( '#widget-context-' + widget_id + ' .wc-field-select-condition select' ).val();
6
-
7
- $( '#widget-context-' + widget_id ).toggleClass( 'context-global', ( condition == 'show' || condition == 'hide' ) );
8
 
 
9
  }
10
 
11
- $('.widget-context-inside').each(function() {
12
-
13
- show_hide_controls( $(this).data('widget-id') );
14
-
15
- });
16
 
17
- $('#widgets-right, #widgets-left, #customize-theme-controls').on( 'change', '.wc-field-select-condition select', function(){
18
-
19
- show_hide_controls( $(this).parent().data('widget-id') );
20
-
21
- });
22
 
23
  $( document ).on( 'widget-updated widget-added', function( e, widget ) {
24
-
25
- show_hide_controls( widget.find('input[name="widget-id"]').val() );
26
-
27
- });
28
-
29
- });
1
+ /* global jQuery, document */
2
+ jQuery( document ).ready( function( $ ) {
3
+ function showHideControls( widgetId ) {
4
+ var condition = $( '#widget-context-' + widgetId + ' .wc-field-select-condition select' ).val();
 
 
 
5
 
6
+ $( '#widget-context-' + widgetId ).toggleClass( 'context-global', ( condition === 'show' || condition === 'hide' ) );
7
  }
8
 
9
+ $( '.widget-context-inside' ).each( function() {
10
+ showHideControls( $( this ).data( 'widget-id' ) );
11
+ } );
 
 
12
 
13
+ $( '#widgets-right, #widgets-left, #customize-theme-controls' ).on( 'change', '.wc-field-select-condition select', function() {
14
+ showHideControls( $( this ).parent().data( 'widget-id' ) );
15
+ } );
 
 
16
 
17
  $( document ).on( 'widget-updated widget-added', function( e, widget ) {
18
+ showHideControls( widget.find( 'input[name="widget-id"]' ).val() );
19
+ } );
20
+ } );
 
 
 
composer.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "kasparsd/widget-context",
3
+ "description": "WordPress plugin for showing or hiding widgets on specific posts, pages and sections of a site.",
4
+ "homepage": "https://widgetcontext.com",
5
+ "type": "wordpress-plugin",
6
+ "license": "GPL-2.0-or-later",
7
+ "authors": [
8
+ {
9
+ "name": "Kaspars Dambis",
10
+ "homepage": "https://widgetcontext.com"
11
+ }
12
+ ],
13
+ "support": {
14
+ "issues": "https://github.com/kasparsd/widget-context-wporg/issues",
15
+ "source": "https://github.com/kasparsd/widget-context-wporg"
16
+ },
17
+ "minimum-stability": "dev",
18
+ "prefer-stable": true,
19
+ "config": {
20
+ "sort-packages": true,
21
+ "platform": {
22
+ "php": "5.6.20"
23
+ }
24
+ },
25
+ "require-dev": {
26
+ "10up/wp_mock": "^0.2.0",
27
+ "mockery/mockery": "^0.9",
28
+ "php-coveralls/php-coveralls": "^2.1.0",
29
+ "phpcompatibility/php-compatibility": "^9.2",
30
+ "phpmd/phpmd": "^2.7",
31
+ "phpunit/phpunit": "^5",
32
+ "wp-coding-standards/wpcs": "^2.1",
33
+ "wpsh/local": "^0.2.3"
34
+ },
35
+ "autoload": {
36
+ "classmap": [
37
+ "src/"
38
+ ]
39
+ },
40
+ "autoload-dev": {
41
+ "psr-4": {
42
+ "Preseto\\WidgetContextTest\\": "tests/php/"
43
+ }
44
+ },
45
+ "scripts": {
46
+ "lint": [
47
+ "composer validate --no-check-publish --strict",
48
+ "phpcs ."
49
+ ],
50
+ "mess": [
51
+ "phpmd ./src text phpmd.xml --suffixes php"
52
+ ],
53
+ "test": [
54
+ "phpunit"
55
+ ],
56
+ "coverage": [
57
+ "php-coveralls -v"
58
+ ],
59
+ "release": [
60
+ "composer install --no-dev --prefer-dist --optimize-autoloader"
61
+ ]
62
+ }
63
+ }
composer.lock ADDED
@@ -0,0 +1,2755 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_readme": [
3
+ "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
+ "This file is @generated automatically"
6
+ ],
7
+ "content-hash": "0562734e8b6684af5e60a1275d93c462",
8
+ "packages": [],
9
+ "packages-dev": [
10
+ {
11
+ "name": "10up/wp_mock",
12
+ "version": "0.2.0",
13
+ "source": {
14
+ "type": "git",
15
+ "url": "https://github.com/10up/wp_mock.git",
16
+ "reference": "507e59027e9b0d86eba9b74420962a72c4c2ec9e"
17
+ },
18
+ "dist": {
19
+ "type": "zip",
20
+ "url": "https://api.github.com/repos/10up/wp_mock/zipball/507e59027e9b0d86eba9b74420962a72c4c2ec9e",
21
+ "reference": "507e59027e9b0d86eba9b74420962a72c4c2ec9e",
22
+ "shasum": ""
23
+ },
24
+ "require": {
25
+ "antecedent/patchwork": "~2.0.3",
26
+ "mockery/mockery": "^0.9.5",
27
+ "php": ">=5.6",
28
+ "phpunit/phpunit": ">=4.3"
29
+ },
30
+ "conflict": {
31
+ "phpunit/phpunit": ">=6.0"
32
+ },
33
+ "require-dev": {
34
+ "behat/behat": "^3.0"
35
+ },
36
+ "type": "library",
37
+ "autoload": {
38
+ "psr-4": {
39
+ "WP_Mock\\": "./php/WP_Mock"
40
+ },
41
+ "classmap": [
42
+ "php/WP_Mock.php"
43
+ ]
44
+ },
45
+ "notification-url": "https://packagist.org/downloads/",
46
+ "license": [
47
+ "GPL-2.0+"
48
+ ],
49
+ "description": "A mocking library to take the pain out of unit testing for WordPress",
50
+ "time": "2017-07-19T03:10:11+00:00"
51
+ },
52
+ {
53
+ "name": "antecedent/patchwork",
54
+ "version": "2.0.9",
55
+ "source": {
56
+ "type": "git",
57
+ "url": "https://github.com/antecedent/patchwork.git",
58
+ "reference": "cab3be4865e47f1dc447715e76c7b616e48b005d"
59
+ },
60
+ "dist": {
61
+ "type": "zip",
62
+ "url": "https://api.github.com/repos/antecedent/patchwork/zipball/cab3be4865e47f1dc447715e76c7b616e48b005d",
63
+ "reference": "cab3be4865e47f1dc447715e76c7b616e48b005d",
64
+ "shasum": ""
65
+ },
66
+ "require": {
67
+ "php": ">=5.4.0"
68
+ },
69
+ "type": "library",
70
+ "notification-url": "https://packagist.org/downloads/",
71
+ "license": [
72
+ "MIT"
73
+ ],
74
+ "authors": [
75
+ {
76
+ "name": "Ignas Rudaitis",
77
+ "email": "ignas.rudaitis@gmail.com"
78
+ }
79
+ ],
80
+ "description": "Method redefinition (monkey-patching) functionality for PHP.",
81
+ "homepage": "http://patchwork2.org/",
82
+ "keywords": [
83
+ "aop",
84
+ "aspect",
85
+ "interception",
86
+ "monkeypatching",
87
+ "redefinition",
88
+ "runkit",
89
+ "testing"
90
+ ],
91
+ "time": "2017-08-01T11:52:57+00:00"
92
+ },
93
+ {
94
+ "name": "doctrine/instantiator",
95
+ "version": "1.0.5",
96
+ "source": {
97
+ "type": "git",
98
+ "url": "https://github.com/doctrine/instantiator.git",
99
+ "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
100
+ },
101
+ "dist": {
102
+ "type": "zip",
103
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
104
+ "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
105
+ "shasum": ""
106
+ },
107
+ "require": {
108
+ "php": ">=5.3,<8.0-DEV"
109
+ },
110
+ "require-dev": {
111
+ "athletic/athletic": "~0.1.8",
112
+ "ext-pdo": "*",
113
+ "ext-phar": "*",
114
+ "phpunit/phpunit": "~4.0",
115
+ "squizlabs/php_codesniffer": "~2.0"
116
+ },
117
+ "type": "library",
118
+ "extra": {
119
+ "branch-alias": {
120
+ "dev-master": "1.0.x-dev"
121
+ }
122
+ },
123
+ "autoload": {
124
+ "psr-4": {
125
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
126
+ }
127
+ },
128
+ "notification-url": "https://packagist.org/downloads/",
129
+ "license": [
130
+ "MIT"
131
+ ],
132
+ "authors": [
133
+ {
134
+ "name": "Marco Pivetta",
135
+ "email": "ocramius@gmail.com",
136
+ "homepage": "http://ocramius.github.com/"
137
+ }
138
+ ],
139
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
140
+ "homepage": "https://github.com/doctrine/instantiator",
141
+ "keywords": [
142
+ "constructor",
143
+ "instantiate"
144
+ ],
145
+ "time": "2015-06-14T21:17:01+00:00"
146
+ },
147
+ {
148
+ "name": "guzzlehttp/guzzle",
149
+ "version": "6.3.3",
150
+ "source": {
151
+ "type": "git",
152
+ "url": "https://github.com/guzzle/guzzle.git",
153
+ "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba"
154
+ },
155
+ "dist": {
156
+ "type": "zip",
157
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba",
158
+ "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba",
159
+ "shasum": ""
160
+ },
161
+ "require": {
162
+ "guzzlehttp/promises": "^1.0",
163
+ "guzzlehttp/psr7": "^1.4",
164
+ "php": ">=5.5"
165
+ },
166
+ "require-dev": {
167
+ "ext-curl": "*",
168
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
169
+ "psr/log": "^1.0"
170
+ },
171
+ "suggest": {
172
+ "psr/log": "Required for using the Log middleware"
173
+ },
174
+ "type": "library",
175
+ "extra": {
176
+ "branch-alias": {
177
+ "dev-master": "6.3-dev"
178
+ }
179
+ },
180
+ "autoload": {
181
+ "files": [
182
+ "src/functions_include.php"
183
+ ],
184
+ "psr-4": {
185
+ "GuzzleHttp\\": "src/"
186
+ }
187
+ },
188
+ "notification-url": "https://packagist.org/downloads/",
189
+ "license": [
190
+ "MIT"
191
+ ],
192
+ "authors": [
193
+ {
194
+ "name": "Michael Dowling",
195
+ "email": "mtdowling@gmail.com",
196
+ "homepage": "https://github.com/mtdowling"
197
+ }
198
+ ],
199
+ "description": "Guzzle is a PHP HTTP client library",
200
+ "homepage": "http://guzzlephp.org/",
201
+ "keywords": [
202
+ "client",
203
+ "curl",
204
+ "framework",
205
+ "http",
206
+ "http client",
207
+ "rest",
208
+ "web service"
209
+ ],
210
+ "time": "2018-04-22T15:46:56+00:00"
211
+ },
212
+ {
213
+ "name": "guzzlehttp/promises",
214
+ "version": "v1.3.1",
215
+ "source": {
216
+ "type": "git",
217
+ "url": "https://github.com/guzzle/promises.git",
218
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
219
+ },
220
+ "dist": {
221
+ "type": "zip",
222
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
223
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
224
+ "shasum": ""
225
+ },
226
+ "require": {
227
+ "php": ">=5.5.0"
228
+ },
229
+ "require-dev": {
230
+ "phpunit/phpunit": "^4.0"
231
+ },
232
+ "type": "library",
233
+ "extra": {
234
+ "branch-alias": {
235
+ "dev-master": "1.4-dev"
236
+ }
237
+ },
238
+ "autoload": {
239
+ "psr-4": {
240
+ "GuzzleHttp\\Promise\\": "src/"
241
+ },
242
+ "files": [
243
+ "src/functions_include.php"
244
+ ]
245
+ },
246
+ "notification-url": "https://packagist.org/downloads/",
247
+ "license": [
248
+ "MIT"
249
+ ],
250
+ "authors": [
251
+ {
252
+ "name": "Michael Dowling",
253
+ "email": "mtdowling@gmail.com",
254
+ "homepage": "https://github.com/mtdowling"
255
+ }
256
+ ],
257
+ "description": "Guzzle promises library",
258
+ "keywords": [
259
+ "promise"
260
+ ],
261
+ "time": "2016-12-20T10:07:11+00:00"
262
+ },
263
+ {
264
+ "name": "guzzlehttp/psr7",
265
+ "version": "1.6.1",
266
+ "source": {
267
+ "type": "git",
268
+ "url": "https://github.com/guzzle/psr7.git",
269
+ "reference": "239400de7a173fe9901b9ac7c06497751f00727a"
270
+ },
271
+ "dist": {
272
+ "type": "zip",
273
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a",
274
+ "reference": "239400de7a173fe9901b9ac7c06497751f00727a",
275
+ "shasum": ""
276
+ },
277
+ "require": {
278
+ "php": ">=5.4.0",
279
+ "psr/http-message": "~1.0",
280
+ "ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
281
+ },
282
+ "provide": {
283
+ "psr/http-message-implementation": "1.0"
284
+ },
285
+ "require-dev": {
286
+ "ext-zlib": "*",
287
+ "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8"
288
+ },
289
+ "suggest": {
290
+ "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses"
291
+ },
292
+ "type": "library",
293
+ "extra": {
294
+ "branch-alias": {
295
+ "dev-master": "1.6-dev"
296
+ }
297
+ },
298
+ "autoload": {
299
+ "psr-4": {
300
+ "GuzzleHttp\\Psr7\\": "src/"
301
+ },
302
+ "files": [
303
+ "src/functions_include.php"
304
+ ]
305
+ },
306
+ "notification-url": "https://packagist.org/downloads/",
307
+ "license": [
308
+ "MIT"
309
+ ],
310
+ "authors": [
311
+ {
312
+ "name": "Michael Dowling",
313
+ "email": "mtdowling@gmail.com",
314
+ "homepage": "https://github.com/mtdowling"
315
+ },
316
+ {
317
+ "name": "Tobias Schultze",
318
+ "homepage": "https://github.com/Tobion"
319
+ }
320
+ ],
321
+ "description": "PSR-7 message implementation that also provides common utility methods",
322
+ "keywords": [
323
+ "http",
324
+ "message",
325
+ "psr-7",
326
+ "request",
327
+ "response",
328
+ "stream",
329
+ "uri",
330
+ "url"
331
+ ],
332
+ "time": "2019-07-01T23:21:34+00:00"
333
+ },
334
+ {
335
+ "name": "hamcrest/hamcrest-php",
336
+ "version": "v1.2.2",
337
+ "source": {
338
+ "type": "git",
339
+ "url": "https://github.com/hamcrest/hamcrest-php.git",
340
+ "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c"
341
+ },
342
+ "dist": {
343
+ "type": "zip",
344
+ "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c",
345
+ "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c",
346
+ "shasum": ""
347
+ },
348
+ "require": {
349
+ "php": ">=5.3.2"
350
+ },
351
+ "replace": {
352
+ "cordoval/hamcrest-php": "*",
353
+ "davedevelopment/hamcrest-php": "*",
354
+ "kodova/hamcrest-php": "*"
355
+ },
356
+ "require-dev": {
357
+ "phpunit/php-file-iterator": "1.3.3",
358
+ "satooshi/php-coveralls": "dev-master"
359
+ },
360
+ "type": "library",
361
+ "autoload": {
362
+ "classmap": [
363
+ "hamcrest"
364
+ ],
365
+ "files": [
366
+ "hamcrest/Hamcrest.php"
367
+ ]
368
+ },
369
+ "notification-url": "https://packagist.org/downloads/",
370
+ "license": [
371
+ "BSD"
372
+ ],
373
+ "description": "This is the PHP port of Hamcrest Matchers",
374
+ "keywords": [
375
+ "test"
376
+ ],
377
+ "time": "2015-05-11T14:41:42+00:00"
378
+ },
379
+ {
380
+ "name": "mockery/mockery",
381
+ "version": "0.9.11",
382
+ "source": {
383
+ "type": "git",
384
+ "url": "https://github.com/mockery/mockery.git",
385
+ "reference": "be9bf28d8e57d67883cba9fcadfcff8caab667f8"
386
+ },
387
+ "dist": {
388
+ "type": "zip",
389
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/be9bf28d8e57d67883cba9fcadfcff8caab667f8",
390
+ "reference": "be9bf28d8e57d67883cba9fcadfcff8caab667f8",
391
+ "shasum": ""
392
+ },
393
+ "require": {
394
+ "hamcrest/hamcrest-php": "~1.1",
395
+ "lib-pcre": ">=7.0",
396
+ "php": ">=5.3.2"
397
+ },
398
+ "require-dev": {
399
+ "phpunit/phpunit": "~4.0"
400
+ },
401
+ "type": "library",
402
+ "extra": {
403
+ "branch-alias": {
404
+ "dev-master": "0.9.x-dev"
405
+ }
406
+ },
407
+ "autoload": {
408
+ "psr-0": {
409
+ "Mockery": "library/"
410
+ }
411
+ },
412
+ "notification-url": "https://packagist.org/downloads/",
413
+ "license": [
414
+ "BSD-3-Clause"
415
+ ],
416
+ "authors": [
417
+ {
418
+ "name": "Pádraic Brady",
419
+ "email": "padraic.brady@gmail.com",
420
+ "homepage": "http://blog.astrumfutura.com"
421
+ },
422
+ {
423
+ "name": "Dave Marshall",
424
+ "email": "dave.marshall@atstsolutions.co.uk",
425
+ "homepage": "http://davedevelopment.co.uk"
426
+ }
427
+ ],
428
+ "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.",
429
+ "homepage": "http://github.com/padraic/mockery",
430
+ "keywords": [
431
+ "BDD",
432
+ "TDD",
433
+ "library",
434
+ "mock",
435
+ "mock objects",
436
+ "mockery",
437
+ "stub",
438
+ "test",
439
+ "test double",
440
+ "testing"
441
+ ],
442
+ "time": "2019-02-12T16:07:13+00:00"
443
+ },
444
+ {
445
+ "name": "myclabs/deep-copy",
446
+ "version": "1.7.0",
447
+ "source": {
448
+ "type": "git",
449
+ "url": "https://github.com/myclabs/DeepCopy.git",
450
+ "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e"
451
+ },
452
+ "dist": {
453
+ "type": "zip",
454
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
455
+ "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
456
+ "shasum": ""
457
+ },
458
+ "require": {
459
+ "php": "^5.6 || ^7.0"
460
+ },
461
+ "require-dev": {
462
+ "doctrine/collections": "^1.0",
463
+ "doctrine/common": "^2.6",
464
+ "phpunit/phpunit": "^4.1"
465
+ },
466
+ "type": "library",
467
+ "autoload": {
468
+ "psr-4": {
469
+ "DeepCopy\\": "src/DeepCopy/"
470
+ },
471
+ "files": [
472
+ "src/DeepCopy/deep_copy.php"
473
+ ]
474
+ },
475
+ "notification-url": "https://packagist.org/downloads/",
476
+ "license": [
477
+ "MIT"
478
+ ],
479
+ "description": "Create deep copies (clones) of your objects",
480
+ "keywords": [
481
+ "clone",
482
+ "copy",
483
+ "duplicate",
484
+ "object",
485
+ "object graph"
486
+ ],
487
+ "time": "2017-10-19T19:58:43+00:00"
488
+ },
489
+ {
490
+ "name": "pdepend/pdepend",
491
+ "version": "2.5.2",
492
+ "source": {
493
+ "type": "git",
494
+ "url": "https://github.com/pdepend/pdepend.git",
495
+ "reference": "9daf26d0368d4a12bed1cacae1a9f3a6f0adf239"
496
+ },
497
+ "dist": {
498
+ "type": "zip",
499
+ "url": "https://api.github.com/repos/pdepend/pdepend/zipball/9daf26d0368d4a12bed1cacae1a9f3a6f0adf239",
500
+ "reference": "9daf26d0368d4a12bed1cacae1a9f3a6f0adf239",
501
+ "shasum": ""
502
+ },
503
+ "require": {
504
+ "php": ">=5.3.7",
505
+ "symfony/config": "^2.3.0|^3|^4",
506
+ "symfony/dependency-injection": "^2.3.0|^3|^4",
507
+ "symfony/filesystem": "^2.3.0|^3|^4"
508
+ },
509
+ "require-dev": {
510
+ "phpunit/phpunit": "^4.8|^5.7",
511
+ "squizlabs/php_codesniffer": "^2.0.0"
512
+ },
513
+ "bin": [
514
+ "src/bin/pdepend"
515
+ ],
516
+ "type": "library",
517
+ "autoload": {
518
+ "psr-4": {
519
+ "PDepend\\": "src/main/php/PDepend"
520
+ }
521
+ },
522
+ "notification-url": "https://packagist.org/downloads/",
523
+ "license": [
524
+ "BSD-3-Clause"
525
+ ],
526
+ "description": "Official version of pdepend to be handled with Composer",
527
+ "time": "2017-12-13T13:21:38+00:00"
528
+ },
529
+ {
530
+ "name": "php-coveralls/php-coveralls",
531
+ "version": "v2.1.0",
532
+ "source": {
533
+ "type": "git",
534
+ "url": "https://github.com/php-coveralls/php-coveralls.git",
535
+ "reference": "3b00c229726f892bfdadeaf01ea430ffd04a939d"
536
+ },
537
+ "dist": {
538
+ "type": "zip",
539
+ "url": "https://api.github.com/repos/php-coveralls/php-coveralls/zipball/3b00c229726f892bfdadeaf01ea430ffd04a939d",
540
+ "reference": "3b00c229726f892bfdadeaf01ea430ffd04a939d",
541
+ "shasum": ""
542
+ },
543
+ "require": {
544
+ "ext-json": "*",
545
+ "ext-simplexml": "*",
546
+ "guzzlehttp/guzzle": "^6.0",
547
+ "php": "^5.5 || ^7.0",
548
+ "psr/log": "^1.0",
549
+ "symfony/config": "^2.1 || ^3.0 || ^4.0",
550
+ "symfony/console": "^2.1 || ^3.0 || ^4.0",
551
+ "symfony/stopwatch": "^2.0 || ^3.0 || ^4.0",
552
+ "symfony/yaml": "^2.0 || ^3.0 || ^4.0"
553
+ },
554
+ "require-dev": {
555
+ "phpunit/phpunit": "^4.8.35 || ^5.4.3 || ^6.0"
556
+ },
557
+ "suggest": {
558
+ "symfony/http-kernel": "Allows Symfony integration"
559
+ },
560
+ "bin": [
561
+ "bin/php-coveralls"
562
+ ],
563
+ "type": "library",
564
+ "extra": {
565
+ "branch-alias": {
566
+ "dev-master": "2.1-dev"
567
+ }
568
+ },
569
+ "autoload": {
570
+ "psr-4": {
571
+ "PhpCoveralls\\": "src/"
572
+ }
573
+ },
574
+ "notification-url": "https://packagist.org/downloads/",
575
+ "license": [
576
+ "MIT"
577
+ ],
578
+ "authors": [
579
+ {
580
+ "name": "Kitamura Satoshi",
581
+ "role": "Original creator",
582
+ "email": "with.no.parachute@gmail.com",
583
+ "homepage": "https://www.facebook.com/satooshi.jp"
584
+ },
585
+ {
586
+ "name": "Takashi Matsuo",
587
+ "email": "tmatsuo@google.com"
588
+ },
589
+ {
590
+ "name": "Google Inc"
591
+ },
592
+ {
593
+ "name": "Dariusz Ruminski",
594
+ "email": "dariusz.ruminski@gmail.com",
595
+ "homepage": "https://github.com/keradus"
596
+ },
597
+ {
598
+ "name": "Contributors",
599
+ "homepage": "https://github.com/php-coveralls/php-coveralls/graphs/contributors"
600
+ }
601
+ ],
602
+ "description": "PHP client library for Coveralls API",
603
+ "homepage": "https://github.com/php-coveralls/php-coveralls",
604
+ "keywords": [
605
+ "ci",
606
+ "coverage",
607
+ "github",
608
+ "test"
609
+ ],
610
+ "time": "2018-05-22T23:11:08+00:00"
611
+ },
612
+ {
613
+ "name": "phpcompatibility/php-compatibility",
614
+ "version": "9.2.0",
615
+ "source": {
616
+ "type": "git",
617
+ "url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
618
+ "reference": "3db1bf1e28123fd574a4ae2e9a84072826d51b5e"
619
+ },
620
+ "dist": {
621
+ "type": "zip",
622
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/3db1bf1e28123fd574a4ae2e9a84072826d51b5e",
623
+ "reference": "3db1bf1e28123fd574a4ae2e9a84072826d51b5e",
624
+ "shasum": ""
625
+ },
626
+ "require": {
627
+ "php": ">=5.3",
628
+ "squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
629
+ },
630
+ "conflict": {
631
+ "squizlabs/php_codesniffer": "2.6.2"
632
+ },
633
+ "require-dev": {
634
+ "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
635
+ },
636
+ "suggest": {
637
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
638
+ "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
639
+ },
640
+ "type": "phpcodesniffer-standard",
641
+ "notification-url": "https://packagist.org/downloads/",
642
+ "license": [
643
+ "LGPL-3.0-or-later"
644
+ ],
645
+ "authors": [
646
+ {
647
+ "name": "Contributors",
648
+ "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors"
649
+ },
650
+ {
651
+ "name": "Wim Godden",
652
+ "role": "lead",
653
+ "homepage": "https://github.com/wimg"
654
+ },
655
+ {
656
+ "name": "Juliette Reinders Folmer",
657
+ "role": "lead",
658
+ "homepage": "https://github.com/jrfnl"
659
+ }
660
+ ],
661
+ "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.",
662
+ "homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
663
+ "keywords": [
664
+ "compatibility",
665
+ "phpcs",
666
+ "standards"
667
+ ],
668
+ "time": "2019-06-27T19:58:56+00:00"
669
+ },
670
+ {
671
+ "name": "phpdocumentor/reflection-common",
672
+ "version": "1.0.1",
673
+ "source": {
674
+ "type": "git",
675
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
676
+ "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
677
+ },
678
+ "dist": {
679
+ "type": "zip",
680
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
681
+ "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
682
+ "shasum": ""
683
+ },
684
+ "require": {
685
+ "php": ">=5.5"
686
+ },
687
+ "require-dev": {
688
+ "phpunit/phpunit": "^4.6"
689
+ },
690
+ "type": "library",
691
+ "extra": {
692
+ "branch-alias": {
693
+ "dev-master": "1.0.x-dev"
694
+ }
695
+ },
696
+ "autoload": {
697
+ "psr-4": {
698
+ "phpDocumentor\\Reflection\\": [
699
+ "src"
700
+ ]
701
+ }
702
+ },
703
+ "notification-url": "https://packagist.org/downloads/",
704
+ "license": [
705
+ "MIT"
706
+ ],
707
+ "authors": [
708
+ {
709
+ "name": "Jaap van Otterdijk",
710
+ "email": "opensource@ijaap.nl"
711
+ }
712
+ ],
713
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
714
+ "homepage": "http://www.phpdoc.org",
715
+ "keywords": [
716
+ "FQSEN",
717
+ "phpDocumentor",
718
+ "phpdoc",
719
+ "reflection",
720
+ "static analysis"
721
+ ],
722
+ "time": "2017-09-11T18:02:19+00:00"
723
+ },
724
+ {
725
+ "name": "phpdocumentor/reflection-docblock",
726
+ "version": "3.3.2",
727
+ "source": {
728
+ "type": "git",
729
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
730
+ "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2"
731
+ },
732
+ "dist": {
733
+ "type": "zip",
734
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bf329f6c1aadea3299f08ee804682b7c45b326a2",
735
+ "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2",
736
+ "shasum": ""
737
+ },
738
+ "require": {
739
+ "php": "^5.6 || ^7.0",
740
+ "phpdocumentor/reflection-common": "^1.0.0",
741
+ "phpdocumentor/type-resolver": "^0.4.0",
742
+ "webmozart/assert": "^1.0"
743
+ },
744
+ "require-dev": {
745
+ "mockery/mockery": "^0.9.4",
746
+ "phpunit/phpunit": "^4.4"
747
+ },
748
+ "type": "library",
749
+ "autoload": {
750
+ "psr-4": {
751
+ "phpDocumentor\\Reflection\\": [
752
+ "src/"
753
+ ]
754
+ }
755
+ },
756
+ "notification-url": "https://packagist.org/downloads/",
757
+ "license": [
758
+ "MIT"
759
+ ],
760
+ "authors": [
761
+ {
762
+ "name": "Mike van Riel",
763
+ "email": "me@mikevanriel.com"
764
+ }
765
+ ],
766
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
767
+ "time": "2017-11-10T14:09:06+00:00"
768
+ },
769
+ {
770
+ "name": "phpdocumentor/type-resolver",
771
+ "version": "0.4.0",
772
+ "source": {
773
+ "type": "git",
774
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
775
+ "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
776
+ },
777
+ "dist": {
778
+ "type": "zip",
779
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
780
+ "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
781
+ "shasum": ""
782
+ },
783
+ "require": {
784
+ "php": "^5.5 || ^7.0",
785
+ "phpdocumentor/reflection-common": "^1.0"
786
+ },
787
+ "require-dev": {
788
+ "mockery/mockery": "^0.9.4",
789
+ "phpunit/phpunit": "^5.2||^4.8.24"
790
+ },
791
+ "type": "library",
792
+ "extra": {
793
+ "branch-alias": {
794
+ "dev-master": "1.0.x-dev"
795
+ }
796
+ },
797
+ "autoload": {
798
+ "psr-4": {
799
+ "phpDocumentor\\Reflection\\": [
800
+ "src/"
801
+ ]
802
+ }
803
+ },
804
+ "notification-url": "https://packagist.org/downloads/",
805
+ "license": [
806
+ "MIT"
807
+ ],
808
+ "authors": [
809
+ {
810
+ "name": "Mike van Riel",
811
+ "email": "me@mikevanriel.com"
812
+ }
813
+ ],
814
+ "time": "2017-07-14T14:27:02+00:00"
815
+ },
816
+ {
817
+ "name": "phpmd/phpmd",
818
+ "version": "2.7.0",
819
+ "source": {
820
+ "type": "git",
821
+ "url": "https://github.com/phpmd/phpmd.git",
822
+ "reference": "a05a999c644f4bc9a204846017db7bb7809fbe4c"
823
+ },
824
+ "dist": {
825
+ "type": "zip",
826
+ "url": "https://api.github.com/repos/phpmd/phpmd/zipball/a05a999c644f4bc9a204846017db7bb7809fbe4c",
827
+ "reference": "a05a999c644f4bc9a204846017db7bb7809fbe4c",
828
+ "shasum": ""
829
+ },
830
+ "require": {
831
+ "ext-xml": "*",
832
+ "pdepend/pdepend": "^2.5",
833
+ "php": ">=5.3.9"
834
+ },
835
+ "require-dev": {
836
+ "gregwar/rst": "^1.0",
837
+ "mikey179/vfsstream": "^1.6.4",
838
+ "phpunit/phpunit": "^4.8.36 || ^5.7.27",
839
+ "squizlabs/php_codesniffer": "^2.0"
840
+ },
841
+ "bin": [
842
+ "src/bin/phpmd"
843
+ ],
844
+ "type": "library",
845
+ "autoload": {
846
+ "psr-0": {
847
+ "PHPMD\\": "src/main/php"
848
+ }
849
+ },
850
+ "notification-url": "https://packagist.org/downloads/",
851
+ "license": [
852
+ "BSD-3-Clause"
853
+ ],
854
+ "authors": [
855
+ {
856
+ "name": "Manuel Pichler",
857
+ "role": "Project Founder",
858
+ "email": "github@manuel-pichler.de",
859
+ "homepage": "https://github.com/manuelpichler"
860
+ },
861
+ {
862
+ "name": "Marc Würth",
863
+ "role": "Project Maintainer",
864
+ "email": "ravage@bluewin.ch",
865
+ "homepage": "https://github.com/ravage84"
866
+ },
867
+ {
868
+ "name": "Other contributors",
869
+ "role": "Contributors",
870
+ "homepage": "https://github.com/phpmd/phpmd/graphs/contributors"
871
+ }
872
+ ],
873
+ "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.",
874
+ "homepage": "https://phpmd.org/",
875
+ "keywords": [
876
+ "mess detection",
877
+ "mess detector",
878
+ "pdepend",
879
+ "phpmd",
880
+ "pmd"
881
+ ],
882
+ "time": "2019-07-30T21:13:32+00:00"
883
+ },
884
+ {
885
+ "name": "phpspec/prophecy",
886
+ "version": "1.8.1",
887
+ "source": {
888
+ "type": "git",
889
+ "url": "https://github.com/phpspec/prophecy.git",
890
+ "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76"
891
+ },
892
+ "dist": {
893
+ "type": "zip",
894
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76",
895
+ "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76",
896
+ "shasum": ""
897
+ },
898
+ "require": {
899
+ "doctrine/instantiator": "^1.0.2",
900
+ "php": "^5.3|^7.0",
901
+ "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
902
+ "sebastian/comparator": "^1.1|^2.0|^3.0",
903
+ "sebastian/recursion-context": "^1.0|^2.0|^3.0"
904
+ },
905
+ "require-dev": {
906
+ "phpspec/phpspec": "^2.5|^3.2",
907
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
908
+ },
909
+ "type": "library",
910
+ "extra": {
911
+ "branch-alias": {
912
+ "dev-master": "1.8.x-dev"
913
+ }
914
+ },
915
+ "autoload": {
916
+ "psr-4": {
917
+ "Prophecy\\": "src/Prophecy"
918
+ }
919
+ },
920
+ "notification-url": "https://packagist.org/downloads/",
921
+ "license": [
922
+ "MIT"
923
+ ],
924
+ "authors": [
925
+ {
926
+ "name": "Konstantin Kudryashov",
927
+ "email": "ever.zet@gmail.com",
928
+ "homepage": "http://everzet.com"
929
+ },
930
+ {
931
+ "name": "Marcello Duarte",
932
+ "email": "marcello.duarte@gmail.com"
933
+ }
934
+ ],
935
+ "description": "Highly opinionated mocking framework for PHP 5.3+",
936
+ "homepage": "https://github.com/phpspec/prophecy",
937
+ "keywords": [
938
+ "Double",
939
+ "Dummy",
940
+ "fake",
941
+ "mock",
942
+ "spy",
943
+ "stub"
944
+ ],
945
+ "time": "2019-06-13T12:50:23+00:00"
946
+ },
947
+ {
948
+ "name": "phpunit/php-code-coverage",
949
+ "version": "4.0.8",
950
+ "source": {
951
+ "type": "git",
952
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
953
+ "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d"
954
+ },
955
+ "dist": {
956
+ "type": "zip",
957
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
958
+ "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
959
+ "shasum": ""
960
+ },
961
+ "require": {
962
+ "ext-dom": "*",
963
+ "ext-xmlwriter": "*",
964
+ "php": "^5.6 || ^7.0",
965
+ "phpunit/php-file-iterator": "^1.3",
966
+ "phpunit/php-text-template": "^1.2",
967
+ "phpunit/php-token-stream": "^1.4.2 || ^2.0",
968
+ "sebastian/code-unit-reverse-lookup": "^1.0",
969
+ "sebastian/environment": "^1.3.2 || ^2.0",
970
+ "sebastian/version": "^1.0 || ^2.0"
971
+ },
972
+ "require-dev": {
973
+ "ext-xdebug": "^2.1.4",
974
+ "phpunit/phpunit": "^5.7"
975
+ },
976
+ "suggest": {
977
+ "ext-xdebug": "^2.5.1"
978
+ },
979
+ "type": "library",
980
+ "extra": {
981
+ "branch-alias": {
982
+ "dev-master": "4.0.x-dev"
983
+ }
984
+ },
985
+ "autoload": {
986
+ "classmap": [
987
+ "src/"
988
+ ]
989
+ },
990
+ "notification-url": "https://packagist.org/downloads/",
991
+ "license": [
992
+ "BSD-3-Clause"
993
+ ],
994
+ "authors": [
995
+ {
996
+ "name": "Sebastian Bergmann",
997
+ "role": "lead",
998
+ "email": "sb@sebastian-bergmann.de"
999
+ }
1000
+ ],
1001
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
1002
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
1003
+ "keywords": [
1004
+ "coverage",
1005
+ "testing",
1006
+ "xunit"
1007
+ ],
1008
+ "time": "2017-04-02T07:44:40+00:00"
1009
+ },
1010
+ {
1011
+ "name": "phpunit/php-file-iterator",
1012
+ "version": "1.4.5",
1013
+ "source": {
1014
+ "type": "git",
1015
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
1016
+ "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
1017
+ },
1018
+ "dist": {
1019
+ "type": "zip",
1020
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
1021
+ "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
1022
+ "shasum": ""
1023
+ },
1024
+ "require": {
1025
+ "php": ">=5.3.3"
1026
+ },
1027
+ "type": "library",
1028
+ "extra": {
1029
+ "branch-alias": {
1030
+ "dev-master": "1.4.x-dev"
1031
+ }
1032
+ },
1033
+ "autoload": {
1034
+ "classmap": [
1035
+ "src/"
1036
+ ]
1037
+ },
1038
+ "notification-url": "https://packagist.org/downloads/",
1039
+ "license": [
1040
+ "BSD-3-Clause"
1041
+ ],
1042
+ "authors": [
1043
+ {
1044
+ "name": "Sebastian Bergmann",
1045
+ "role": "lead",
1046
+ "email": "sb@sebastian-bergmann.de"
1047
+ }
1048
+ ],
1049
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
1050
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
1051
+ "keywords": [
1052
+ "filesystem",
1053
+ "iterator"
1054
+ ],
1055
+ "time": "2017-11-27T13:52:08+00:00"
1056
+ },
1057
+ {
1058
+ "name": "phpunit/php-text-template",
1059
+ "version": "1.2.1",
1060
+ "source": {
1061
+ "type": "git",
1062
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
1063
+ "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
1064
+ },
1065
+ "dist": {
1066
+ "type": "zip",
1067
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
1068
+ "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
1069
+ "shasum": ""
1070
+ },
1071
+ "require": {
1072
+ "php": ">=5.3.3"
1073
+ },
1074
+ "type": "library",
1075
+ "autoload": {
1076
+ "classmap": [
1077
+ "src/"
1078
+ ]
1079
+ },
1080
+ "notification-url": "https://packagist.org/downloads/",
1081
+ "license": [
1082
+ "BSD-3-Clause"
1083
+ ],
1084
+ "authors": [
1085
+ {
1086
+ "name": "Sebastian Bergmann",
1087
+ "role": "lead",
1088
+ "email": "sebastian@phpunit.de"
1089
+ }
1090
+ ],
1091
+ "description": "Simple template engine.",
1092
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
1093
+ "keywords": [
1094
+ "template"
1095
+ ],
1096
+ "time": "2015-06-21T13:50:34+00:00"
1097
+ },
1098
+ {
1099
+ "name": "phpunit/php-timer",
1100
+ "version": "1.0.9",
1101
+ "source": {
1102
+ "type": "git",
1103
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
1104
+ "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
1105
+ },
1106
+ "dist": {
1107
+ "type": "zip",
1108
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
1109
+ "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
1110
+ "shasum": ""
1111
+ },
1112
+ "require": {
1113
+ "php": "^5.3.3 || ^7.0"
1114
+ },
1115
+ "require-dev": {
1116
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
1117
+ },
1118
+ "type": "library",
1119
+ "extra": {
1120
+ "branch-alias": {
1121
+ "dev-master": "1.0-dev"
1122
+ }
1123
+ },
1124
+ "autoload": {
1125
+ "classmap": [
1126
+ "src/"
1127
+ ]
1128
+ },
1129
+ "notification-url": "https://packagist.org/downloads/",
1130
+ "license": [
1131
+ "BSD-3-Clause"
1132
+ ],
1133
+ "authors": [
1134
+ {
1135
+ "name": "Sebastian Bergmann",
1136
+ "role": "lead",
1137
+ "email": "sb@sebastian-bergmann.de"
1138
+ }
1139
+ ],
1140
+ "description": "Utility class for timing",
1141
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
1142
+ "keywords": [
1143
+ "timer"
1144
+ ],
1145
+ "time": "2017-02-26T11:10:40+00:00"
1146
+ },
1147
+ {
1148
+ "name": "phpunit/php-token-stream",
1149
+ "version": "1.4.12",
1150
+ "source": {
1151
+ "type": "git",
1152
+ "url": "https://github.com/sebastianbergmann/php-token-stream.git",
1153
+ "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
1154
+ },
1155
+ "dist": {
1156
+ "type": "zip",
1157
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
1158
+ "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
1159
+ "shasum": ""
1160
+ },
1161
+ "require": {
1162
+ "ext-tokenizer": "*",
1163
+ "php": ">=5.3.3"
1164
+ },
1165
+ "require-dev": {
1166
+ "phpunit/phpunit": "~4.2"
1167
+ },
1168
+ "type": "library",
1169
+ "extra": {
1170
+ "branch-alias": {
1171
+ "dev-master": "1.4-dev"
1172
+ }
1173
+ },
1174
+ "autoload": {
1175
+ "classmap": [
1176
+ "src/"
1177
+ ]
1178
+ },
1179
+ "notification-url": "https://packagist.org/downloads/",
1180
+ "license": [
1181
+ "BSD-3-Clause"
1182
+ ],
1183
+ "authors": [
1184
+ {
1185
+ "name": "Sebastian Bergmann",
1186
+ "email": "sebastian@phpunit.de"
1187
+ }
1188
+ ],
1189
+ "description": "Wrapper around PHP's tokenizer extension.",
1190
+ "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
1191
+ "keywords": [
1192
+ "tokenizer"
1193
+ ],
1194
+ "time": "2017-12-04T08:55:13+00:00"
1195
+ },
1196
+ {
1197
+ "name": "phpunit/phpunit",
1198
+ "version": "5.7.27",
1199
+ "source": {
1200
+ "type": "git",
1201
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
1202
+ "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c"
1203
+ },
1204
+ "dist": {
1205
+ "type": "zip",
1206
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
1207
+ "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
1208
+ "shasum": ""
1209
+ },
1210
+ "require": {
1211
+ "ext-dom": "*",
1212
+ "ext-json": "*",
1213
+ "ext-libxml": "*",
1214
+ "ext-mbstring": "*",
1215
+ "ext-xml": "*",
1216
+ "myclabs/deep-copy": "~1.3",
1217
+ "php": "^5.6 || ^7.0",
1218
+ "phpspec/prophecy": "^1.6.2",
1219
+ "phpunit/php-code-coverage": "^4.0.4",
1220
+ "phpunit/php-file-iterator": "~1.4",
1221
+ "phpunit/php-text-template": "~1.2",
1222
+ "phpunit/php-timer": "^1.0.6",
1223
+ "phpunit/phpunit-mock-objects": "^3.2",
1224
+ "sebastian/comparator": "^1.2.4",
1225
+ "sebastian/diff": "^1.4.3",
1226
+ "sebastian/environment": "^1.3.4 || ^2.0",
1227
+ "sebastian/exporter": "~2.0",
1228
+ "sebastian/global-state": "^1.1",
1229
+ "sebastian/object-enumerator": "~2.0",
1230
+ "sebastian/resource-operations": "~1.0",
1231
+ "sebastian/version": "^1.0.6|^2.0.1",
1232
+ "symfony/yaml": "~2.1|~3.0|~4.0"
1233
+ },
1234
+ "conflict": {
1235
+ "phpdocumentor/reflection-docblock": "3.0.2"
1236
+ },
1237
+ "require-dev": {
1238
+ "ext-pdo": "*"
1239
+ },
1240
+ "suggest": {
1241
+ "ext-xdebug": "*",
1242
+ "phpunit/php-invoker": "~1.1"
1243
+ },
1244
+ "bin": [
1245
+ "phpunit"
1246
+ ],
1247
+ "type": "library",
1248
+ "extra": {
1249
+ "branch-alias": {
1250
+ "dev-master": "5.7.x-dev"
1251
+ }
1252
+ },
1253
+ "autoload": {
1254
+ "classmap": [
1255
+ "src/"
1256
+ ]
1257
+ },
1258
+ "notification-url": "https://packagist.org/downloads/",
1259
+ "license": [
1260
+ "BSD-3-Clause"
1261
+ ],
1262
+ "authors": [
1263
+ {
1264
+ "name": "Sebastian Bergmann",
1265
+ "role": "lead",
1266
+ "email": "sebastian@phpunit.de"
1267
+ }
1268
+ ],
1269
+ "description": "The PHP Unit Testing framework.",
1270
+ "homepage": "https://phpunit.de/",
1271
+ "keywords": [
1272
+ "phpunit",
1273
+ "testing",
1274
+ "xunit"
1275
+ ],
1276
+ "time": "2018-02-01T05:50:59+00:00"
1277
+ },
1278
+ {
1279
+ "name": "phpunit/phpunit-mock-objects",
1280
+ "version": "3.4.4",
1281
+ "source": {
1282
+ "type": "git",
1283
+ "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
1284
+ "reference": "a23b761686d50a560cc56233b9ecf49597cc9118"
1285
+ },
1286
+ "dist": {
1287
+ "type": "zip",
1288
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118",
1289
+ "reference": "a23b761686d50a560cc56233b9ecf49597cc9118",
1290
+ "shasum": ""
1291
+ },
1292
+ "require": {
1293
+ "doctrine/instantiator": "^1.0.2",
1294
+ "php": "^5.6 || ^7.0",
1295
+ "phpunit/php-text-template": "^1.2",
1296
+ "sebastian/exporter": "^1.2 || ^2.0"
1297
+ },
1298
+ "conflict": {
1299
+ "phpunit/phpunit": "<5.4.0"
1300
+ },
1301
+ "require-dev": {
1302
+ "phpunit/phpunit": "^5.4"
1303
+ },
1304
+ "suggest": {
1305
+ "ext-soap": "*"
1306
+ },
1307
+ "type": "library",
1308
+ "extra": {
1309
+ "branch-alias": {
1310
+ "dev-master": "3.2.x-dev"
1311
+ }
1312
+ },
1313
+ "autoload": {
1314
+ "classmap": [
1315
+ "src/"
1316
+ ]
1317
+ },
1318
+ "notification-url": "https://packagist.org/downloads/",
1319
+ "license": [
1320
+ "BSD-3-Clause"
1321
+ ],
1322
+ "authors": [
1323
+ {
1324
+ "name": "Sebastian Bergmann",
1325
+ "email": "sb@sebastian-bergmann.de",
1326
+ "role": "lead"
1327
+ }
1328
+ ],
1329
+ "description": "Mock Object library for PHPUnit",
1330
+ "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
1331
+ "keywords": [
1332
+ "mock",
1333
+ "xunit"
1334
+ ],
1335
+ "abandoned": true,
1336
+ "time": "2017-06-30T09:13:00+00:00"
1337
+ },
1338
+ {
1339
+ "name": "psr/container",
1340
+ "version": "1.0.0",
1341
+ "source": {
1342
+ "type": "git",
1343
+ "url": "https://github.com/php-fig/container.git",
1344
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
1345
+ },
1346
+ "dist": {
1347
+ "type": "zip",
1348
+ "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
1349
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
1350
+ "shasum": ""
1351
+ },
1352
+ "require": {
1353
+ "php": ">=5.3.0"
1354
+ },
1355
+ "type": "library",
1356
+ "extra": {
1357
+ "branch-alias": {
1358
+ "dev-master": "1.0.x-dev"
1359
+ }
1360
+ },
1361
+ "autoload": {
1362
+ "psr-4": {
1363
+ "Psr\\Container\\": "src/"
1364
+ }
1365
+ },
1366
+ "notification-url": "https://packagist.org/downloads/",
1367
+ "license": [
1368
+ "MIT"
1369
+ ],
1370
+ "authors": [
1371
+ {
1372
+ "name": "PHP-FIG",
1373
+ "homepage": "http://www.php-fig.org/"
1374
+ }
1375
+ ],
1376
+ "description": "Common Container Interface (PHP FIG PSR-11)",
1377
+ "homepage": "https://github.com/php-fig/container",
1378
+ "keywords": [
1379
+ "PSR-11",
1380
+ "container",
1381
+ "container-interface",
1382
+ "container-interop",
1383
+ "psr"
1384
+ ],
1385
+ "time": "2017-02-14T16:28:37+00:00"
1386
+ },
1387
+ {
1388
+ "name": "psr/http-message",
1389
+ "version": "1.0.1",
1390
+ "source": {
1391
+ "type": "git",
1392
+ "url": "https://github.com/php-fig/http-message.git",
1393
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
1394
+ },
1395
+ "dist": {
1396
+ "type": "zip",
1397
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
1398
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
1399
+ "shasum": ""
1400
+ },
1401
+ "require": {
1402
+ "php": ">=5.3.0"
1403
+ },
1404
+ "type": "library",
1405
+ "extra": {
1406
+ "branch-alias": {
1407
+ "dev-master": "1.0.x-dev"
1408
+ }
1409
+ },
1410
+ "autoload": {
1411
+ "psr-4": {
1412
+ "Psr\\Http\\Message\\": "src/"
1413
+ }
1414
+ },
1415
+ "notification-url": "https://packagist.org/downloads/",
1416
+ "license": [
1417
+ "MIT"
1418
+ ],
1419
+ "authors": [
1420
+ {
1421
+ "name": "PHP-FIG",
1422
+ "homepage": "http://www.php-fig.org/"
1423
+ }
1424
+ ],
1425
+ "description": "Common interface for HTTP messages",
1426
+ "homepage": "https://github.com/php-fig/http-message",
1427
+ "keywords": [
1428
+ "http",
1429
+ "http-message",
1430
+ "psr",
1431
+ "psr-7",
1432
+ "request",
1433
+ "response"
1434
+ ],
1435
+ "time": "2016-08-06T14:39:51+00:00"
1436
+ },
1437
+ {
1438
+ "name": "psr/log",
1439
+ "version": "1.1.0",
1440
+ "source": {
1441
+ "type": "git",
1442
+ "url": "https://github.com/php-fig/log.git",
1443
+ "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"
1444
+ },
1445
+ "dist": {
1446
+ "type": "zip",
1447
+ "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
1448
+ "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
1449
+ "shasum": ""
1450
+ },
1451
+ "require": {
1452
+ "php": ">=5.3.0"
1453
+ },
1454
+ "type": "library",
1455
+ "extra": {
1456
+ "branch-alias": {
1457
+ "dev-master": "1.0.x-dev"
1458
+ }
1459
+ },
1460
+ "autoload": {
1461
+ "psr-4": {
1462
+ "Psr\\Log\\": "Psr/Log/"
1463
+ }
1464
+ },
1465
+ "notification-url": "https://packagist.org/downloads/",
1466
+ "license": [
1467
+ "MIT"
1468
+ ],
1469
+ "authors": [
1470
+ {
1471
+ "name": "PHP-FIG",
1472
+ "homepage": "http://www.php-fig.org/"
1473
+ }
1474
+ ],
1475
+ "description": "Common interface for logging libraries",
1476
+ "homepage": "https://github.com/php-fig/log",
1477
+ "keywords": [
1478
+ "log",
1479
+ "psr",
1480
+ "psr-3"
1481
+ ],
1482
+ "time": "2018-11-20T15:27:04+00:00"
1483
+ },
1484
+ {
1485
+ "name": "ralouphie/getallheaders",
1486
+ "version": "3.0.3",
1487
+ "source": {
1488
+ "type": "git",
1489
+ "url": "https://github.com/ralouphie/getallheaders.git",
1490
+ "reference": "120b605dfeb996808c31b6477290a714d356e822"
1491
+ },
1492
+ "dist": {
1493
+ "type": "zip",
1494
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
1495
+ "reference": "120b605dfeb996808c31b6477290a714d356e822",
1496
+ "shasum": ""
1497
+ },
1498
+ "require": {
1499
+ "php": ">=5.6"
1500
+ },
1501
+ "require-dev": {
1502
+ "php-coveralls/php-coveralls": "^2.1",
1503
+ "phpunit/phpunit": "^5 || ^6.5"
1504
+ },
1505
+ "type": "library",
1506
+ "autoload": {
1507
+ "files": [
1508
+ "src/getallheaders.php"
1509
+ ]
1510
+ },
1511
+ "notification-url": "https://packagist.org/downloads/",
1512
+ "license": [
1513
+ "MIT"
1514
+ ],
1515
+ "authors": [
1516
+ {
1517
+ "name": "Ralph Khattar",
1518
+ "email": "ralph.khattar@gmail.com"
1519
+ }
1520
+ ],
1521
+ "description": "A polyfill for getallheaders.",
1522
+ "time": "2019-03-08T08:55:37+00:00"
1523
+ },
1524
+ {
1525
+ "name": "sebastian/code-unit-reverse-lookup",
1526
+ "version": "1.0.1",
1527
+ "source": {
1528
+ "type": "git",
1529
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
1530
+ "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
1531
+ },
1532
+ "dist": {
1533
+ "type": "zip",
1534
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
1535
+ "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
1536
+ "shasum": ""
1537
+ },
1538
+ "require": {
1539
+ "php": "^5.6 || ^7.0"
1540
+ },
1541
+ "require-dev": {
1542
+ "phpunit/phpunit": "^5.7 || ^6.0"
1543
+ },
1544
+ "type": "library",
1545
+ "extra": {
1546
+ "branch-alias": {
1547
+ "dev-master": "1.0.x-dev"
1548
+ }
1549
+ },
1550
+ "autoload": {
1551
+ "classmap": [
1552
+ "src/"
1553
+ ]
1554
+ },
1555
+ "notification-url": "https://packagist.org/downloads/",
1556
+ "license": [
1557
+ "BSD-3-Clause"
1558
+ ],
1559
+ "authors": [
1560
+ {
1561
+ "name": "Sebastian Bergmann",
1562
+ "email": "sebastian@phpunit.de"
1563
+ }
1564
+ ],
1565
+ "description": "Looks up which function or method a line of code belongs to",
1566
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
1567
+ "time": "2017-03-04T06:30:41+00:00"
1568
+ },
1569
+ {
1570
+ "name": "sebastian/comparator",
1571
+ "version": "1.2.4",
1572
+ "source": {
1573
+ "type": "git",
1574
+ "url": "https://github.com/sebastianbergmann/comparator.git",
1575
+ "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
1576
+ },
1577
+ "dist": {
1578
+ "type": "zip",
1579
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
1580
+ "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
1581
+ "shasum": ""
1582
+ },
1583
+ "require": {
1584
+ "php": ">=5.3.3",
1585
+ "sebastian/diff": "~1.2",
1586
+ "sebastian/exporter": "~1.2 || ~2.0"
1587
+ },
1588
+ "require-dev": {
1589
+ "phpunit/phpunit": "~4.4"
1590
+ },
1591
+ "type": "library",
1592
+ "extra": {
1593
+ "branch-alias": {
1594
+ "dev-master": "1.2.x-dev"
1595
+ }
1596
+ },
1597
+ "autoload": {
1598
+ "classmap": [
1599
+ "src/"
1600
+ ]
1601
+ },
1602
+ "notification-url": "https://packagist.org/downloads/",
1603
+ "license": [
1604
+ "BSD-3-Clause"
1605
+ ],
1606
+ "authors": [
1607
+ {
1608
+ "name": "Jeff Welch",
1609
+ "email": "whatthejeff@gmail.com"
1610
+ },
1611
+ {
1612
+ "name": "Volker Dusch",
1613
+ "email": "github@wallbash.com"
1614
+ },
1615
+ {
1616
+ "name": "Bernhard Schussek",
1617
+ "email": "bschussek@2bepublished.at"
1618
+ },
1619
+ {
1620
+ "name": "Sebastian Bergmann",
1621
+ "email": "sebastian@phpunit.de"
1622
+ }
1623
+ ],
1624
+ "description": "Provides the functionality to compare PHP values for equality",
1625
+ "homepage": "http://www.github.com/sebastianbergmann/comparator",
1626
+ "keywords": [
1627
+ "comparator",
1628
+ "compare",
1629
+ "equality"
1630
+ ],
1631
+ "time": "2017-01-29T09:50:25+00:00"
1632
+ },
1633
+ {
1634
+ "name": "sebastian/diff",
1635
+ "version": "1.4.3",
1636
+ "source": {
1637
+ "type": "git",
1638
+ "url": "https://github.com/sebastianbergmann/diff.git",
1639
+ "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
1640
+ },
1641
+ "dist": {
1642
+ "type": "zip",
1643
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
1644
+ "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
1645
+ "shasum": ""
1646
+ },
1647
+ "require": {
1648
+ "php": "^5.3.3 || ^7.0"
1649
+ },
1650
+ "require-dev": {
1651
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
1652
+ },
1653
+ "type": "library",
1654
+ "extra": {
1655
+ "branch-alias": {
1656
+ "dev-master": "1.4-dev"
1657
+ }
1658
+ },
1659
+ "autoload": {
1660
+ "classmap": [
1661
+ "src/"
1662
+ ]
1663
+ },
1664
+ "notification-url": "https://packagist.org/downloads/",
1665
+ "license": [
1666
+ "BSD-3-Clause"
1667
+ ],
1668
+ "authors": [
1669
+ {
1670
+ "name": "Kore Nordmann",
1671
+ "email": "mail@kore-nordmann.de"
1672
+ },
1673
+ {
1674
+ "name": "Sebastian Bergmann",
1675
+ "email": "sebastian@phpunit.de"
1676
+ }
1677
+ ],
1678
+ "description": "Diff implementation",
1679
+ "homepage": "https://github.com/sebastianbergmann/diff",
1680
+ "keywords": [
1681
+ "diff"
1682
+ ],
1683
+ "time": "2017-05-22T07:24:03+00:00"
1684
+ },
1685
+ {
1686
+ "name": "sebastian/environment",
1687
+ "version": "2.0.0",
1688
+ "source": {
1689
+ "type": "git",
1690
+ "url": "https://github.com/sebastianbergmann/environment.git",
1691
+ "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac"
1692
+ },
1693
+ "dist": {
1694
+ "type": "zip",
1695
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
1696
+ "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
1697
+ "shasum": ""
1698
+ },
1699
+ "require": {
1700
+ "php": "^5.6 || ^7.0"
1701
+ },
1702
+ "require-dev": {
1703
+ "phpunit/phpunit": "^5.0"
1704
+ },
1705
+ "type": "library",
1706
+ "extra": {
1707
+ "branch-alias": {
1708
+ "dev-master": "2.0.x-dev"
1709
+ }
1710
+ },
1711
+ "autoload": {
1712
+ "classmap": [
1713
+ "src/"
1714
+ ]
1715
+ },
1716
+ "notification-url": "https://packagist.org/downloads/",
1717
+ "license": [
1718
+ "BSD-3-Clause"
1719
+ ],
1720
+ "authors": [
1721
+ {
1722
+ "name": "Sebastian Bergmann",
1723
+ "email": "sebastian@phpunit.de"
1724
+ }
1725
+ ],
1726
+ "description": "Provides functionality to handle HHVM/PHP environments",
1727
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
1728
+ "keywords": [
1729
+ "Xdebug",
1730
+ "environment",
1731
+ "hhvm"
1732
+ ],
1733
+ "time": "2016-11-26T07:53:53+00:00"
1734
+ },
1735
+ {
1736
+ "name": "sebastian/exporter",
1737
+ "version": "2.0.0",
1738
+ "source": {
1739
+ "type": "git",
1740
+ "url": "https://github.com/sebastianbergmann/exporter.git",
1741
+ "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4"
1742
+ },
1743
+ "dist": {
1744
+ "type": "zip",
1745
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
1746
+ "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
1747
+ "shasum": ""
1748
+ },
1749
+ "require": {
1750
+ "php": ">=5.3.3",
1751
+ "sebastian/recursion-context": "~2.0"
1752
+ },
1753
+ "require-dev": {
1754
+ "ext-mbstring": "*",
1755
+ "phpunit/phpunit": "~4.4"
1756
+ },
1757
+ "type": "library",
1758
+ "extra": {
1759
+ "branch-alias": {
1760
+ "dev-master": "2.0.x-dev"
1761
+ }
1762
+ },
1763
+ "autoload": {
1764
+ "classmap": [
1765
+ "src/"
1766
+ ]
1767
+ },
1768
+ "notification-url": "https://packagist.org/downloads/",
1769
+ "license": [
1770
+ "BSD-3-Clause"
1771
+ ],
1772
+ "authors": [
1773
+ {
1774
+ "name": "Jeff Welch",
1775
+ "email": "whatthejeff@gmail.com"
1776
+ },
1777
+ {
1778
+ "name": "Volker Dusch",
1779
+ "email": "github@wallbash.com"
1780
+ },
1781
+ {
1782
+ "name": "Bernhard Schussek",
1783
+ "email": "bschussek@2bepublished.at"
1784
+ },
1785
+ {
1786
+ "name": "Sebastian Bergmann",
1787
+ "email": "sebastian@phpunit.de"
1788
+ },
1789
+ {
1790
+ "name": "Adam Harvey",
1791
+ "email": "aharvey@php.net"
1792
+ }
1793
+ ],
1794
+ "description": "Provides the functionality to export PHP variables for visualization",
1795
+ "homepage": "http://www.github.com/sebastianbergmann/exporter",
1796
+ "keywords": [
1797
+ "export",
1798
+ "exporter"
1799
+ ],
1800
+ "time": "2016-11-19T08:54:04+00:00"
1801
+ },
1802
+ {
1803
+ "name": "sebastian/global-state",
1804
+ "version": "1.1.1",
1805
+ "source": {
1806
+ "type": "git",
1807
+ "url": "https://github.com/sebastianbergmann/global-state.git",
1808
+ "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
1809
+ },
1810
+ "dist": {
1811
+ "type": "zip",
1812
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
1813
+ "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
1814
+ "shasum": ""
1815
+ },
1816
+ "require": {
1817
+ "php": ">=5.3.3"
1818
+ },
1819
+ "require-dev": {
1820
+ "phpunit/phpunit": "~4.2"
1821
+ },
1822
+ "suggest": {
1823
+ "ext-uopz": "*"
1824
+ },
1825
+ "type": "library",
1826
+ "extra": {
1827
+ "branch-alias": {
1828
+ "dev-master": "1.0-dev"
1829
+ }
1830
+ },
1831
+ "autoload": {
1832
+ "classmap": [
1833
+ "src/"
1834
+ ]
1835
+ },
1836
+ "notification-url": "https://packagist.org/downloads/",
1837
+ "license": [
1838
+ "BSD-3-Clause"
1839
+ ],
1840
+ "authors": [
1841
+ {
1842
+ "name": "Sebastian Bergmann",
1843
+ "email": "sebastian@phpunit.de"
1844
+ }
1845
+ ],
1846
+ "description": "Snapshotting of global state",
1847
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
1848
+ "keywords": [
1849
+ "global state"
1850
+ ],
1851
+ "time": "2015-10-12T03:26:01+00:00"
1852
+ },
1853
+ {
1854
+ "name": "sebastian/object-enumerator",
1855
+ "version": "2.0.1",
1856
+ "source": {
1857
+ "type": "git",
1858
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
1859
+ "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7"
1860
+ },
1861
+ "dist": {
1862
+ "type": "zip",
1863
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7",
1864
+ "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7",
1865
+ "shasum": ""
1866
+ },
1867
+ "require": {
1868
+ "php": ">=5.6",
1869
+ "sebastian/recursion-context": "~2.0"
1870
+ },
1871
+ "require-dev": {
1872
+ "phpunit/phpunit": "~5"
1873
+ },
1874
+ "type": "library",
1875
+ "extra": {
1876
+ "branch-alias": {
1877
+ "dev-master": "2.0.x-dev"
1878
+ }
1879
+ },
1880
+ "autoload": {
1881
+ "classmap": [
1882
+ "src/"
1883
+ ]
1884
+ },
1885
+ "notification-url": "https://packagist.org/downloads/",
1886
+ "license": [
1887
+ "BSD-3-Clause"
1888
+ ],
1889
+ "authors": [
1890
+ {
1891
+ "name": "Sebastian Bergmann",
1892
+ "email": "sebastian@phpunit.de"
1893
+ }
1894
+ ],
1895
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
1896
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
1897
+ "time": "2017-02-18T15:18:39+00:00"
1898
+ },
1899
+ {
1900
+ "name": "sebastian/recursion-context",
1901
+ "version": "2.0.0",
1902
+ "source": {
1903
+ "type": "git",
1904
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
1905
+ "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a"
1906
+ },
1907
+ "dist": {
1908
+ "type": "zip",
1909
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a",
1910
+ "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a",
1911
+ "shasum": ""
1912
+ },
1913
+ "require": {
1914
+ "php": ">=5.3.3"
1915
+ },
1916
+ "require-dev": {
1917
+ "phpunit/phpunit": "~4.4"
1918
+ },
1919
+ "type": "library",
1920
+ "extra": {
1921
+ "branch-alias": {
1922
+ "dev-master": "2.0.x-dev"
1923
+ }
1924
+ },
1925
+ "autoload": {
1926
+ "classmap": [
1927
+ "src/"
1928
+ ]
1929
+ },
1930
+ "notification-url": "https://packagist.org/downloads/",
1931
+ "license": [
1932
+ "BSD-3-Clause"
1933
+ ],
1934
+ "authors": [
1935
+ {
1936
+ "name": "Jeff Welch",
1937
+ "email": "whatthejeff@gmail.com"
1938
+ },
1939
+ {
1940
+ "name": "Sebastian Bergmann",
1941
+ "email": "sebastian@phpunit.de"
1942
+ },
1943
+ {
1944
+ "name": "Adam Harvey",
1945
+ "email": "aharvey@php.net"
1946
+ }
1947
+ ],
1948
+ "description": "Provides functionality to recursively process PHP variables",
1949
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
1950
+ "time": "2016-11-19T07:33:16+00:00"
1951
+ },
1952
+ {
1953
+ "name": "sebastian/resource-operations",
1954
+ "version": "1.0.0",
1955
+ "source": {
1956
+ "type": "git",
1957
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
1958
+ "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
1959
+ },
1960
+ "dist": {
1961
+ "type": "zip",
1962
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
1963
+ "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
1964
+ "shasum": ""
1965
+ },
1966
+ "require": {
1967
+ "php": ">=5.6.0"
1968
+ },
1969
+ "type": "library",
1970
+ "extra": {
1971
+ "branch-alias": {
1972
+ "dev-master": "1.0.x-dev"
1973
+ }
1974
+ },
1975
+ "autoload": {
1976
+ "classmap": [
1977
+ "src/"
1978
+ ]
1979
+ },
1980
+ "notification-url": "https://packagist.org/downloads/",
1981
+ "license": [
1982
+ "BSD-3-Clause"
1983
+ ],
1984
+ "authors": [
1985
+ {
1986
+ "name": "Sebastian Bergmann",
1987
+ "email": "sebastian@phpunit.de"
1988
+ }
1989
+ ],
1990
+ "description": "Provides a list of PHP built-in functions that operate on resources",
1991
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
1992
+ "time": "2015-07-28T20:34:47+00:00"
1993
+ },
1994
+ {
1995
+ "name": "sebastian/version",
1996
+ "version": "2.0.1",
1997
+ "source": {
1998
+ "type": "git",
1999
+ "url": "https://github.com/sebastianbergmann/version.git",
2000
+ "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
2001
+ },
2002
+ "dist": {
2003
+ "type": "zip",
2004
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
2005
+ "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
2006
+ "shasum": ""
2007
+ },
2008
+ "require": {
2009
+ "php": ">=5.6"
2010
+ },
2011
+ "type": "library",
2012
+ "extra": {
2013
+ "branch-alias": {
2014
+ "dev-master": "2.0.x-dev"
2015
+ }
2016
+ },
2017
+ "autoload": {
2018
+ "classmap": [
2019
+ "src/"
2020
+ ]
2021
+ },
2022
+ "notification-url": "https://packagist.org/downloads/",
2023
+ "license": [
2024
+ "BSD-3-Clause"
2025
+ ],
2026
+ "authors": [
2027
+ {
2028
+ "name": "Sebastian Bergmann",
2029
+ "role": "lead",
2030
+ "email": "sebastian@phpunit.de"
2031
+ }
2032
+ ],
2033
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
2034
+ "homepage": "https://github.com/sebastianbergmann/version",
2035
+ "time": "2016-10-03T07:35:21+00:00"
2036
+ },
2037
+ {
2038
+ "name": "squizlabs/php_codesniffer",
2039
+ "version": "3.4.2",
2040
+ "source": {
2041
+ "type": "git",
2042
+ "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
2043
+ "reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8"
2044
+ },
2045
+ "dist": {
2046
+ "type": "zip",
2047
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8",
2048
+ "reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8",
2049
+ "shasum": ""
2050
+ },
2051
+ "require": {
2052
+ "ext-simplexml": "*",
2053
+ "ext-tokenizer": "*",
2054
+ "ext-xmlwriter": "*",
2055
+ "php": ">=5.4.0"
2056
+ },
2057
+ "require-dev": {
2058
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
2059
+ },
2060
+ "bin": [
2061
+ "bin/phpcs",
2062
+ "bin/phpcbf"
2063
+ ],
2064
+ "type": "library",
2065
+ "extra": {
2066
+ "branch-alias": {
2067
+ "dev-master": "3.x-dev"
2068
+ }
2069
+ },
2070
+ "notification-url": "https://packagist.org/downloads/",
2071
+ "license": [
2072
+ "BSD-3-Clause"
2073
+ ],
2074
+ "authors": [
2075
+ {
2076
+ "name": "Greg Sherwood",
2077
+ "role": "lead"
2078
+ }
2079
+ ],
2080
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
2081
+ "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
2082
+ "keywords": [
2083
+ "phpcs",
2084
+ "standards"
2085
+ ],
2086
+ "time": "2019-04-10T23:49:02+00:00"
2087
+ },
2088
+ {
2089
+ "name": "symfony/config",
2090
+ "version": "v3.4.30",
2091
+ "source": {
2092
+ "type": "git",
2093
+ "url": "https://github.com/symfony/config.git",
2094
+ "reference": "623fd6be3e5d4112d667003488c8c3ec12b66f62"
2095
+ },
2096
+ "dist": {
2097
+ "type": "zip",
2098
+ "url": "https://api.github.com/repos/symfony/config/zipball/623fd6be3e5d4112d667003488c8c3ec12b66f62",
2099
+ "reference": "623fd6be3e5d4112d667003488c8c3ec12b66f62",
2100
+ "shasum": ""
2101
+ },
2102
+ "require": {
2103
+ "php": "^5.5.9|>=7.0.8",
2104
+ "symfony/filesystem": "~2.8|~3.0|~4.0",
2105
+ "symfony/polyfill-ctype": "~1.8"
2106
+ },
2107
+ "conflict": {
2108
+ "symfony/dependency-injection": "<3.3",
2109
+ "symfony/finder": "<3.3"
2110
+ },
2111
+ "require-dev": {
2112
+ "symfony/dependency-injection": "~3.3|~4.0",
2113
+ "symfony/event-dispatcher": "~3.3|~4.0",
2114
+ "symfony/finder": "~3.3|~4.0",
2115
+ "symfony/yaml": "~3.0|~4.0"
2116
+ },
2117
+ "suggest": {
2118
+ "symfony/yaml": "To use the yaml reference dumper"
2119
+ },
2120
+ "type": "library",
2121
+ "extra": {
2122
+ "branch-alias": {
2123
+ "dev-master": "3.4-dev"
2124
+ }
2125
+ },
2126
+ "autoload": {
2127
+ "psr-4": {
2128
+ "Symfony\\Component\\Config\\": ""
2129
+ },
2130
+ "exclude-from-classmap": [
2131
+ "/Tests/"
2132
+ ]
2133
+ },
2134
+ "notification-url": "https://packagist.org/downloads/",
2135
+ "license": [
2136
+ "MIT"
2137
+ ],
2138
+ "authors": [
2139
+ {
2140
+ "name": "Fabien Potencier",
2141
+ "email": "fabien@symfony.com"
2142
+ },
2143
+ {
2144
+ "name": "Symfony Community",
2145
+ "homepage": "https://symfony.com/contributors"
2146
+ }
2147
+ ],
2148
+ "description": "Symfony Config Component",
2149
+ "homepage": "https://symfony.com",
2150
+ "time": "2019-07-17T15:23:18+00:00"
2151
+ },
2152
+ {
2153
+ "name": "symfony/console",
2154
+ "version": "v3.4.30",
2155
+ "source": {
2156
+ "type": "git",
2157
+ "url": "https://github.com/symfony/console.git",
2158
+ "reference": "12940f20a816c978860fa4925b3f1bbb27e9ac46"
2159
+ },
2160
+ "dist": {
2161
+ "type": "zip",
2162
+ "url": "https://api.github.com/repos/symfony/console/zipball/12940f20a816c978860fa4925b3f1bbb27e9ac46",
2163
+ "reference": "12940f20a816c978860fa4925b3f1bbb27e9ac46",
2164
+ "shasum": ""
2165
+ },
2166
+ "require": {
2167
+ "php": "^5.5.9|>=7.0.8",
2168
+ "symfony/debug": "~2.8|~3.0|~4.0",
2169
+ "symfony/polyfill-mbstring": "~1.0"
2170
+ },
2171
+ "conflict": {
2172
+ "symfony/dependency-injection": "<3.4",
2173
+ "symfony/process": "<3.3"
2174
+ },
2175
+ "provide": {
2176
+ "psr/log-implementation": "1.0"
2177
+ },
2178
+ "require-dev": {
2179
+ "psr/log": "~1.0",
2180
+ "symfony/config": "~3.3|~4.0",
2181
+ "symfony/dependency-injection": "~3.4|~4.0",
2182
+ "symfony/event-dispatcher": "~2.8|~3.0|~4.0",
2183
+ "symfony/lock": "~3.4|~4.0",
2184
+ "symfony/process": "~3.3|~4.0"
2185
+ },
2186
+ "suggest": {
2187
+ "psr/log": "For using the console logger",
2188
+ "symfony/event-dispatcher": "",
2189
+ "symfony/lock": "",
2190
+ "symfony/process": ""
2191
+ },
2192
+ "type": "library",
2193
+ "extra": {
2194
+ "branch-alias": {
2195
+ "dev-master": "3.4-dev"
2196
+ }
2197
+ },
2198
+ "autoload": {
2199
+ "psr-4": {
2200
+ "Symfony\\Component\\Console\\": ""
2201
+ },
2202
+ "exclude-from-classmap": [
2203
+ "/Tests/"
2204
+ ]
2205
+ },
2206
+ "notification-url": "https://packagist.org/downloads/",
2207
+ "license": [
2208
+ "MIT"
2209
+ ],
2210
+ "authors": [
2211
+ {
2212
+ "name": "Fabien Potencier",
2213
+ "email": "fabien@symfony.com"
2214
+ },
2215
+ {
2216
+ "name": "Symfony Community",
2217
+ "homepage": "https://symfony.com/contributors"
2218
+ }
2219
+ ],
2220
+ "description": "Symfony Console Component",
2221
+ "homepage": "https://symfony.com",
2222
+ "time": "2019-07-24T14:46:41+00:00"
2223
+ },
2224
+ {
2225
+ "name": "symfony/debug",
2226
+ "version": "v3.4.30",
2227
+ "source": {
2228
+ "type": "git",
2229
+ "url": "https://github.com/symfony/debug.git",
2230
+ "reference": "bc977cb2681d75988ab2d53d14c4245c6c04f82f"
2231
+ },
2232
+ "dist": {
2233
+ "type": "zip",
2234
+ "url": "https://api.github.com/repos/symfony/debug/zipball/bc977cb2681d75988ab2d53d14c4245c6c04f82f",
2235
+ "reference": "bc977cb2681d75988ab2d53d14c4245c6c04f82f",
2236
+ "shasum": ""
2237
+ },
2238
+ "require": {
2239
+ "php": "^5.5.9|>=7.0.8",
2240
+ "psr/log": "~1.0"
2241
+ },
2242
+ "conflict": {
2243
+ "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
2244
+ },
2245
+ "require-dev": {
2246
+ "symfony/http-kernel": "~2.8|~3.0|~4.0"
2247
+ },
2248
+ "type": "library",
2249
+ "extra": {
2250
+ "branch-alias": {
2251
+ "dev-master": "3.4-dev"
2252
+ }
2253
+ },
2254
+ "autoload": {
2255
+ "psr-4": {
2256
+ "Symfony\\Component\\Debug\\": ""
2257
+ },
2258
+ "exclude-from-classmap": [
2259
+ "/Tests/"
2260
+ ]
2261
+ },
2262
+ "notification-url": "https://packagist.org/downloads/",
2263
+ "license": [
2264
+ "MIT"
2265
+ ],
2266
+ "authors": [
2267
+ {
2268
+ "name": "Fabien Potencier",
2269
+ "email": "fabien@symfony.com"
2270
+ },
2271
+ {
2272
+ "name": "Symfony Community",
2273
+ "homepage": "https://symfony.com/contributors"
2274
+ }
2275
+ ],
2276
+ "description": "Symfony Debug Component",
2277
+ "homepage": "https://symfony.com",
2278
+ "time": "2019-07-23T08:39:19+00:00"
2279
+ },
2280
+ {
2281
+ "name": "symfony/dependency-injection",
2282
+ "version": "v3.4.30",
2283
+ "source": {
2284
+ "type": "git",
2285
+ "url": "https://github.com/symfony/dependency-injection.git",
2286
+ "reference": "ade939fe83d5ec5fcaa98628dc42d83232c8eb41"
2287
+ },
2288
+ "dist": {
2289
+ "type": "zip",
2290
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/ade939fe83d5ec5fcaa98628dc42d83232c8eb41",
2291
+ "reference": "ade939fe83d5ec5fcaa98628dc42d83232c8eb41",
2292
+ "shasum": ""
2293
+ },
2294
+ "require": {
2295
+ "php": "^5.5.9|>=7.0.8",
2296
+ "psr/container": "^1.0"
2297
+ },
2298
+ "conflict": {
2299
+ "symfony/config": "<3.3.7",
2300
+ "symfony/finder": "<3.3",
2301
+ "symfony/proxy-manager-bridge": "<3.4",
2302
+ "symfony/yaml": "<3.4"
2303
+ },
2304
+ "provide": {
2305
+ "psr/container-implementation": "1.0"
2306
+ },
2307
+ "require-dev": {
2308
+ "symfony/config": "~3.3|~4.0",
2309
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
2310
+ "symfony/yaml": "~3.4|~4.0"
2311
+ },
2312
+ "suggest": {
2313
+ "symfony/config": "",
2314
+ "symfony/expression-language": "For using expressions in service container configuration",
2315
+ "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
2316
+ "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
2317
+ "symfony/yaml": ""
2318
+ },
2319
+ "type": "library",
2320
+ "extra": {
2321
+ "branch-alias": {
2322
+ "dev-master": "3.4-dev"
2323
+ }
2324
+ },
2325
+ "autoload": {
2326
+ "psr-4": {
2327
+ "Symfony\\Component\\DependencyInjection\\": ""
2328
+ },
2329
+ "exclude-from-classmap": [
2330
+ "/Tests/"
2331
+ ]
2332
+ },
2333
+ "notification-url": "https://packagist.org/downloads/",
2334
+ "license": [
2335
+ "MIT"
2336
+ ],
2337
+ "authors": [
2338
+ {
2339
+ "name": "Fabien Potencier",
2340
+ "email": "fabien@symfony.com"
2341
+ },
2342
+ {
2343
+ "name": "Symfony Community",
2344
+ "homepage": "https://symfony.com/contributors"
2345
+ }
2346
+ ],
2347
+ "description": "Symfony DependencyInjection Component",
2348
+ "homepage": "https://symfony.com",
2349
+ "time": "2019-07-19T11:52:08+00:00"
2350
+ },
2351
+ {
2352
+ "name": "symfony/filesystem",
2353
+ "version": "v3.4.30",
2354
+ "source": {
2355
+ "type": "git",
2356
+ "url": "https://github.com/symfony/filesystem.git",
2357
+ "reference": "70adda061ef83bb7def63a17953dc41f203308a7"
2358
+ },
2359
+ "dist": {
2360
+ "type": "zip",
2361
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/70adda061ef83bb7def63a17953dc41f203308a7",
2362
+ "reference": "70adda061ef83bb7def63a17953dc41f203308a7",
2363
+ "shasum": ""
2364
+ },
2365
+ "require": {
2366
+ "php": "^5.5.9|>=7.0.8",
2367
+ "symfony/polyfill-ctype": "~1.8"
2368
+ },
2369
+ "type": "library",
2370
+ "extra": {
2371
+ "branch-alias": {
2372
+ "dev-master": "3.4-dev"
2373
+ }
2374
+ },
2375
+ "autoload": {
2376
+ "psr-4": {
2377
+ "Symfony\\Component\\Filesystem\\": ""
2378
+ },
2379
+ "exclude-from-classmap": [
2380
+ "/Tests/"
2381
+ ]
2382
+ },
2383
+ "notification-url": "https://packagist.org/downloads/",
2384
+ "license": [
2385
+ "MIT"
2386
+ ],
2387
+ "authors": [
2388
+ {
2389
+ "name": "Fabien Potencier",
2390
+ "email": "fabien@symfony.com"
2391
+ },
2392
+ {
2393
+ "name": "Symfony Community",
2394
+ "homepage": "https://symfony.com/contributors"
2395
+ }
2396
+ ],
2397
+ "description": "Symfony Filesystem Component",
2398
+ "homepage": "https://symfony.com",
2399
+ "time": "2019-06-23T09:29:17+00:00"
2400
+ },
2401
+ {
2402
+ "name": "symfony/polyfill-ctype",
2403
+ "version": "v1.12.0",
2404
+ "source": {
2405
+ "type": "git",
2406
+ "url": "https://github.com/symfony/polyfill-ctype.git",
2407
+ "reference": "550ebaac289296ce228a706d0867afc34687e3f4"
2408
+ },
2409
+ "dist": {
2410
+ "type": "zip",
2411
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4",
2412
+ "reference": "550ebaac289296ce228a706d0867afc34687e3f4",
2413
+ "shasum": ""
2414
+ },
2415
+ "require": {
2416
+ "php": ">=5.3.3"
2417
+ },
2418
+ "suggest": {
2419
+ "ext-ctype": "For best performance"
2420
+ },
2421
+ "type": "library",
2422
+ "extra": {
2423
+ "branch-alias": {
2424
+ "dev-master": "1.12-dev"
2425
+ }
2426
+ },
2427
+ "autoload": {
2428
+ "psr-4": {
2429
+ "Symfony\\Polyfill\\Ctype\\": ""
2430
+ },
2431
+ "files": [
2432
+ "bootstrap.php"
2433
+ ]
2434
+ },
2435
+ "notification-url": "https://packagist.org/downloads/",
2436
+ "license": [
2437
+ "MIT"
2438
+ ],
2439
+ "authors": [
2440
+ {
2441
+ "name": "Gert de Pagter",
2442
+ "email": "BackEndTea@gmail.com"
2443
+ },
2444
+ {
2445
+ "name": "Symfony Community",
2446
+ "homepage": "https://symfony.com/contributors"
2447
+ }
2448
+ ],
2449
+ "description": "Symfony polyfill for ctype functions",
2450
+ "homepage": "https://symfony.com",
2451
+ "keywords": [
2452
+ "compatibility",
2453
+ "ctype",
2454
+ "polyfill",
2455
+ "portable"
2456
+ ],
2457
+ "time": "2019-08-06T08:03:45+00:00"
2458
+ },
2459
+ {
2460
+ "name": "symfony/polyfill-mbstring",
2461
+ "version": "v1.12.0",
2462
+ "source": {
2463
+ "type": "git",
2464
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
2465
+ "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17"
2466
+ },
2467
+ "dist": {
2468
+ "type": "zip",
2469
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17",
2470
+ "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17",
2471
+ "shasum": ""
2472
+ },
2473
+ "require": {
2474
+ "php": ">=5.3.3"
2475
+ },
2476
+ "suggest": {
2477
+ "ext-mbstring": "For best performance"
2478
+ },
2479
+ "type": "library",
2480
+ "extra": {
2481
+ "branch-alias": {
2482
+ "dev-master": "1.12-dev"
2483
+ }
2484
+ },
2485
+ "autoload": {
2486
+ "psr-4": {
2487
+ "Symfony\\Polyfill\\Mbstring\\": ""
2488
+ },
2489
+ "files": [
2490
+ "bootstrap.php"
2491
+ ]
2492
+ },
2493
+ "notification-url": "https://packagist.org/downloads/",
2494
+ "license": [
2495
+ "MIT"
2496
+ ],
2497
+ "authors": [
2498
+ {
2499
+ "name": "Nicolas Grekas",
2500
+ "email": "p@tchwork.com"
2501
+ },
2502
+ {
2503
+ "name": "Symfony Community",
2504
+ "homepage": "https://symfony.com/contributors"
2505
+ }
2506
+ ],
2507
+ "description": "Symfony polyfill for the Mbstring extension",
2508
+ "homepage": "https://symfony.com",
2509
+ "keywords": [
2510
+ "compatibility",
2511
+ "mbstring",
2512
+ "polyfill",
2513
+ "portable",
2514
+ "shim"
2515
+ ],
2516
+ "time": "2019-08-06T08:03:45+00:00"
2517
+ },
2518
+ {
2519
+ "name": "symfony/stopwatch",
2520
+ "version": "v3.4.30",
2521
+ "source": {
2522
+ "type": "git",
2523
+ "url": "https://github.com/symfony/stopwatch.git",
2524
+ "reference": "2a651c2645c10bbedd21170771f122d935e0dd58"
2525
+ },
2526
+ "dist": {
2527
+ "type": "zip",
2528
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/2a651c2645c10bbedd21170771f122d935e0dd58",
2529
+ "reference": "2a651c2645c10bbedd21170771f122d935e0dd58",
2530
+ "shasum": ""
2531
+ },
2532
+ "require": {
2533
+ "php": "^5.5.9|>=7.0.8"
2534
+ },
2535
+ "type": "library",
2536
+ "extra": {
2537
+ "branch-alias": {
2538
+ "dev-master": "3.4-dev"
2539
+ }
2540
+ },
2541
+ "autoload": {
2542
+ "psr-4": {
2543
+ "Symfony\\Component\\Stopwatch\\": ""
2544
+ },
2545
+ "exclude-from-classmap": [
2546
+ "/Tests/"
2547
+ ]
2548
+ },
2549
+ "notification-url": "https://packagist.org/downloads/",
2550
+ "license": [
2551
+ "MIT"
2552
+ ],
2553
+ "authors": [
2554
+ {
2555
+ "name": "Fabien Potencier",
2556
+ "email": "fabien@symfony.com"
2557
+ },
2558
+ {
2559
+ "name": "Symfony Community",
2560
+ "homepage": "https://symfony.com/contributors"
2561
+ }
2562
+ ],
2563
+ "description": "Symfony Stopwatch Component",
2564
+ "homepage": "https://symfony.com",
2565
+ "time": "2019-01-16T09:39:14+00:00"
2566
+ },
2567
+ {
2568
+ "name": "symfony/yaml",
2569
+ "version": "v3.4.30",
2570
+ "source": {
2571
+ "type": "git",
2572
+ "url": "https://github.com/symfony/yaml.git",
2573
+ "reference": "051d045c684148060ebfc9affb7e3f5e0899d40b"
2574
+ },
2575
+ "dist": {
2576
+ "type": "zip",
2577
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/051d045c684148060ebfc9affb7e3f5e0899d40b",
2578
+ "reference": "051d045c684148060ebfc9affb7e3f5e0899d40b",
2579
+ "shasum": ""
2580
+ },
2581
+ "require": {
2582
+ "php": "^5.5.9|>=7.0.8",
2583
+ "symfony/polyfill-ctype": "~1.8"
2584
+ },
2585
+ "conflict": {
2586
+ "symfony/console": "<3.4"
2587
+ },
2588
+ "require-dev": {
2589
+ "symfony/console": "~3.4|~4.0"
2590
+ },
2591
+ "suggest": {
2592
+ "symfony/console": "For validating YAML files using the lint command"
2593
+ },
2594
+ "type": "library",
2595
+ "extra": {
2596
+ "branch-alias": {
2597
+ "dev-master": "3.4-dev"
2598
+ }
2599
+ },
2600
+ "autoload": {
2601
+ "psr-4": {
2602
+ "Symfony\\Component\\Yaml\\": ""
2603
+ },
2604
+ "exclude-from-classmap": [
2605
+ "/Tests/"
2606
+ ]
2607
+ },
2608
+ "notification-url": "https://packagist.org/downloads/",
2609
+ "license": [
2610
+ "MIT"
2611
+ ],
2612
+ "authors": [
2613
+ {
2614
+ "name": "Fabien Potencier",
2615
+ "email": "fabien@symfony.com"
2616
+ },
2617
+ {
2618
+ "name": "Symfony Community",
2619
+ "homepage": "https://symfony.com/contributors"
2620
+ }
2621
+ ],
2622
+ "description": "Symfony Yaml Component",
2623
+ "homepage": "https://symfony.com",
2624
+ "time": "2019-07-24T13:01:31+00:00"
2625
+ },
2626
+ {
2627
+ "name": "webmozart/assert",
2628
+ "version": "1.4.0",
2629
+ "source": {
2630
+ "type": "git",
2631
+ "url": "https://github.com/webmozart/assert.git",
2632
+ "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9"
2633
+ },
2634
+ "dist": {
2635
+ "type": "zip",
2636
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9",
2637
+ "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9",
2638
+ "shasum": ""
2639
+ },
2640
+ "require": {
2641
+ "php": "^5.3.3 || ^7.0",
2642
+ "symfony/polyfill-ctype": "^1.8"
2643
+ },
2644
+ "require-dev": {
2645
+ "phpunit/phpunit": "^4.6",
2646
+ "sebastian/version": "^1.0.1"
2647
+ },
2648
+ "type": "library",
2649
+ "extra": {
2650
+ "branch-alias": {
2651
+ "dev-master": "1.3-dev"
2652
+ }
2653
+ },
2654
+ "autoload": {
2655
+ "psr-4": {
2656
+ "Webmozart\\Assert\\": "src/"
2657
+ }
2658
+ },
2659
+ "notification-url": "https://packagist.org/downloads/",
2660
+ "license": [
2661
+ "MIT"
2662
+ ],
2663
+ "authors": [
2664
+ {
2665
+ "name": "Bernhard Schussek",
2666
+ "email": "bschussek@gmail.com"
2667
+ }
2668
+ ],
2669
+ "description": "Assertions to validate method input/output with nice error messages.",
2670
+ "keywords": [
2671
+ "assert",
2672
+ "check",
2673
+ "validate"
2674
+ ],
2675
+ "time": "2018-12-25T11:19:39+00:00"
2676
+ },
2677
+ {
2678
+ "name": "wp-coding-standards/wpcs",
2679
+ "version": "2.1.1",
2680
+ "source": {
2681
+ "type": "git",
2682
+ "url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
2683
+ "reference": "bd9c33152115e6741e3510ff7189605b35167908"
2684
+ },
2685
+ "dist": {
2686
+ "type": "zip",
2687
+ "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/bd9c33152115e6741e3510ff7189605b35167908",
2688
+ "reference": "bd9c33152115e6741e3510ff7189605b35167908",
2689
+ "shasum": ""
2690
+ },
2691
+ "require": {
2692
+ "php": ">=5.4",
2693
+ "squizlabs/php_codesniffer": "^3.3.1"
2694
+ },
2695
+ "require-dev": {
2696
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0",
2697
+ "phpcompatibility/php-compatibility": "^9.0",
2698
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
2699
+ },
2700
+ "suggest": {
2701
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically."
2702
+ },
2703
+ "type": "phpcodesniffer-standard",
2704
+ "notification-url": "https://packagist.org/downloads/",
2705
+ "license": [
2706
+ "MIT"
2707
+ ],
2708
+ "authors": [
2709
+ {
2710
+ "name": "Contributors",
2711
+ "homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors"
2712
+ }
2713
+ ],
2714
+ "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
2715
+ "keywords": [
2716
+ "phpcs",
2717
+ "standards",
2718
+ "wordpress"
2719
+ ],
2720
+ "time": "2019-05-21T02:50:00+00:00"
2721
+ },
2722
+ {
2723
+ "name": "wpsh/local",
2724
+ "version": "0.2.3",
2725
+ "source": {
2726
+ "type": "git",
2727
+ "url": "https://github.com/wpsh/wpsh-local.git",
2728
+ "reference": "17338432ed06386273a1ee4db8c8467aa8feab17"
2729
+ },
2730
+ "dist": {
2731
+ "type": "zip",
2732
+ "url": "https://api.github.com/repos/wpsh/wpsh-local/zipball/17338432ed06386273a1ee4db8c8467aa8feab17",
2733
+ "reference": "17338432ed06386273a1ee4db8c8467aa8feab17",
2734
+ "shasum": ""
2735
+ },
2736
+ "type": "library",
2737
+ "notification-url": "https://packagist.org/downloads/",
2738
+ "license": [
2739
+ "MIT"
2740
+ ],
2741
+ "description": "A Docker Compose development environment for any project.",
2742
+ "time": "2019-06-12T10:54:32+00:00"
2743
+ }
2744
+ ],
2745
+ "aliases": [],
2746
+ "minimum-stability": "dev",
2747
+ "stability-flags": [],
2748
+ "prefer-stable": true,
2749
+ "prefer-lowest": false,
2750
+ "platform": [],
2751
+ "platform-dev": [],
2752
+ "platform-overrides": {
2753
+ "php": "5.6.20"
2754
+ }
2755
+ }
phpcs.xml.dist DELETED
@@ -1,24 +0,0 @@
1
- <?xml version="1.0"?>
2
- <ruleset name="WordPress Coding Standards for Plugins">
3
- <config name="installed_paths" value="vendor/wp-coding-standards/wpcs" />
4
- <config name="ignore_warnings_on_exit" value="1" />
5
-
6
- <arg name="extensions" value="php" />
7
- <arg name="colors" />
8
- <arg value="s" /><!-- Show sniff codes in all reports. -->
9
-
10
- <rule ref="WordPress-Core">
11
- <exclude name="WordPress.Files.FileName" /><!-- We'll be switching to PSR-4 naming soon. -->
12
- <exclude name="Generic.Formatting.MultipleStatementAlignment" />
13
- <exclude name="WordPress.Arrays.MultipleStatementAlignment" />
14
- </rule>
15
-
16
- <!--
17
- <rule ref="WordPress-Docs">
18
- <exclude name="Squiz.Commenting.FileComment" />
19
- </rule>
20
- -->
21
-
22
- <exclude-pattern>/node_modules</exclude-pattern>
23
- <exclude-pattern>/vendor</exclude-pattern>
24
- </ruleset>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -1,18 +1,25 @@
1
  === Widget Context ===
2
 
3
  Contributors: kasparsd, jamescollins
4
- Tags: widget, widget context, context, logic, widget logic, cms
5
  Requires at least: 3.0
6
  Tested up to: 5.2
7
- Stable tag: 1.1.1
8
  License: GPLv2 or later
 
9
 
10
- Show or hide widgets on specific posts, pages or sections of your site.
11
 
12
 
13
  == Description ==
14
 
15
- [Widget Context](https://widgetcontext.com) will show or hide widgets on certain sections of your site front page, posts, pages, archives, search, etc. It also features section targeting by URLs (with wildcard support) for maximum flexibility.
 
 
 
 
 
 
16
 
17
  = Contribute =
18
 
@@ -46,12 +53,23 @@ Use the wildcard symbol `*` for matching dynamic parts of the URL. For example:
46
  == Installation ==
47
 
48
  - Search for **Widget Context** under "Plugins → Add New" in your WordPress dashboard.
49
-
50
  - Widget Context settings will appear automatically under **each widget** under "Appearance → Widgets".
 
51
 
52
 
53
  == Changelog ==
54
 
 
 
 
 
 
 
 
 
 
 
 
55
  = 1.1.0 (June 13, 2018) =
56
  - Fix URL matching for URLs with query strings.
57
  - Introduce unit tests for the URL context.
@@ -152,40 +170,9 @@ Use the wildcard symbol `*` for matching dynamic parts of the URL. For example:
152
 
153
  == Upgrade Notice ==
154
 
155
- = 1.0.2 =
156
- Load available custom post types and taxonomies right before visibility checks to avoid PHP warnings. Run visibility checks only after the main post query has run. Fixes issues with WooCommerce.
157
-
158
- = 1.0.1 =
159
-
160
- Fix PHP warning in custom post type and taxonomy module.
161
-
162
- = 1.0 =
163
-
164
- New modular architecture and settings page. Please make sure you test this version before deploying to a production website.
165
-
166
- = 0.8.1 =
167
-
168
- (1) Revert to a legacy method for attaching widget control settings in order to make it work with old plugins. (2) Fix the word count context logic.
169
-
170
- = 0.8 =
171
-
172
- Major code rewrite and refactoring to improve plugin performance and usability.
173
-
174
- = 0.7.2 =
175
-
176
- Fix PHP warnings/notices.
177
-
178
- = 0.7.1 =
179
-
180
- Confirm that plugin works with the latest version of WordPress.
181
-
182
- = 0.7 =
183
-
184
- Bug fix: check for active sidebars only after $paged has been set.
185
-
186
- = 0.6 =
187
 
188
- Performance improvements - don't check if sidebar has any widgets on every widget load.
189
 
190
 
191
  == Screenshots ==
1
  === Widget Context ===
2
 
3
  Contributors: kasparsd, jamescollins
4
+ Tags: widget, widgets, widget context, context, logic, widget logic, visibility, widget visibility
5
  Requires at least: 3.0
6
  Tested up to: 5.2
7
+ Stable tag: 1.2.0
8
  License: GPLv2 or later
9
+ Requires PHP: 5.6
10
 
11
+ Show or hide widgets on specific posts, pages and sections of your site.
12
 
13
 
14
  == Description ==
15
 
16
+ Use [Widget Context](https://widgetcontext.com) to show or hide widgets on certain sections of your site -- front page, posts, pages, archives, search, etc. Use targeting by URLs (with wildcard support) for maximum flexibility.
17
+
18
+
19
+ = Block Context =
20
+
21
+ **New**: We've started working on the [Block Context plugin](https://blockcontext.com) which brings similar functionality to Gutenberg blocks.
22
+
23
 
24
  = Contribute =
25
 
53
  == Installation ==
54
 
55
  - Search for **Widget Context** under "Plugins → Add New" in your WordPress dashboard.
 
56
  - Widget Context settings will appear automatically under **each widget** under "Appearance → Widgets".
57
+ - Visit "Settings → Widget Context" to configure the available widget visibility contexts.
58
 
59
 
60
  == Changelog ==
61
 
62
+ = 1.2.0 (August 20, 2019) =
63
+
64
+ - Set PHP 5.6 as the minimum supported version of PHP to match WordPress core.
65
+ - Developer tooling update: introduce PHP autoloading, PHP unit tests with proper mocking, linting for JS, switch to Docker inside a Vagrant wrapper for local development environment and update to the latest version of WordPress coding standards (see [#50](https://github.com/kasparsd/widget-context-wporg/pull/50)).
66
+
67
+ = 1.1.1 (June 9, 2019) =
68
+
69
+ - Mark as tested with WordPress 5.2.
70
+ - Add test coverage reporting and remove [Debug Bar](https://wordpress.org/plugins/debug-bar/) integration since it wasn't complete. Refactor plugin structure to support dependency integration. See [#47](https://github.com/kasparsd/widget-context-wporg/pull/47).
71
+ - Added local development environment, see [#48](https://github.com/kasparsd/widget-context-wporg/pull/48).
72
+
73
  = 1.1.0 (June 13, 2018) =
74
  - Fix URL matching for URLs with query strings.
75
  - Introduce unit tests for the URL context.
170
 
171
  == Upgrade Notice ==
172
 
173
+ = 1.2.0 =
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
 
175
+ PHP 5.6 is now the minimum supported version of PHP. Also included is developer tooling update and improved PHP unit tests.
176
 
177
 
178
  == Screenshots ==
src/Plugin.php ADDED
@@ -0,0 +1,182 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace Preseto\WidgetContext;
4
+
5
+ /**
6
+ * WordPress plugin interface.
7
+ */
8
+ class Plugin {
9
+
10
+ /**
11
+ * Absolute path to the main plugin file.
12
+ *
13
+ * @var string
14
+ */
15
+ protected $file;
16
+
17
+ /**
18
+ * Absolute path to the root directory of this plugin.
19
+ *
20
+ * @var string
21
+ */
22
+ protected $dir;
23
+
24
+ /**
25
+ * Store the WP uploads dir object.
26
+ *
27
+ * @see https://developer.wordpress.org/reference/functions/wp_upload_dir/
28
+ * @var array
29
+ */
30
+ protected $uploads_dir;
31
+
32
+ /**
33
+ * Setup the plugin.
34
+ *
35
+ * @param string $plugin_file_path Absolute path to the main plugin file.
36
+ */
37
+ public function __construct( $plugin_file_path ) {
38
+ $this->file = $plugin_file_path;
39
+
40
+ $this->dir = dirname( $plugin_file_path );
41
+ $this->uploads_dir = wp_upload_dir( null, false );
42
+ }
43
+
44
+ /**
45
+ * Return the absolute path to the plugin directory.
46
+ *
47
+ * @return string
48
+ */
49
+ public function dir() {
50
+ return $this->dir;
51
+ }
52
+
53
+ /**
54
+ * Return the absolute path to the plugin file.
55
+ *
56
+ * @return string
57
+ */
58
+ public function file() {
59
+ return $this->file;
60
+ }
61
+
62
+ /**
63
+ * Get the file path relative to the WordPress plugin directory.
64
+ *
65
+ * @param string $file_path Absolute path to any plugin file.
66
+ *
67
+ * @return string
68
+ */
69
+ public function basename( $file_path = null ) {
70
+ if ( ! isset( $file_path ) ) {
71
+ $file_path = $this->file();
72
+ }
73
+
74
+ return plugin_basename( $file_path );
75
+ }
76
+
77
+ /**
78
+ * Get the public URL to the asset file.
79
+ *
80
+ * @param string $path_relative Path relative to this plugin directory root.
81
+ * @return string The URL to the asset.
82
+ */
83
+ public function asset_url( $path_relative ) {
84
+ return plugins_url( $path_relative, $this->file() );
85
+ }
86
+
87
+ /**
88
+ * Get absolute path to a file in the uploads directory.
89
+ *
90
+ * @param string $path_relative File path relative to the root of the WordPress uploads directory.
91
+ *
92
+ * @return string
93
+ */
94
+ public function uploads_dir( $path_relative = null ) {
95
+ if ( isset( $path_relative ) ) {
96
+ return sprintf( '%s/%s', $this->uploads_dir['basedir'], $path_relative );
97
+ }
98
+
99
+ return $this->uploads_dir['basedir'];
100
+ }
101
+
102
+ /**
103
+ * Get URL to a file in the uploads directory.
104
+ *
105
+ * @param string $path_relative Path to the file relative to the root of the WordPress uploads directory.
106
+ *
107
+ * @return string
108
+ */
109
+ public function uploads_dir_url( $path_relative = null ) {
110
+ if ( isset( $path_relative ) ) {
111
+ return sprintf( '%s/%s', $this->uploads_dir['baseurl'], $path_relative );
112
+ }
113
+
114
+ return $this->uploads_dir['baseurl'];
115
+ }
116
+
117
+ /**
118
+ * Is WP debug mode enabled.
119
+ *
120
+ * @return boolean
121
+ */
122
+ public function is_debug() {
123
+ return ( defined( 'WP_DEBUG' ) && WP_DEBUG );
124
+ }
125
+
126
+ /**
127
+ * Is WP script debug mode enabled.
128
+ *
129
+ * @return boolean
130
+ */
131
+ public function is_script_debug() {
132
+ return ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG );
133
+ }
134
+
135
+ /**
136
+ * Return the current version of the plugin.
137
+ *
138
+ * @return mixed
139
+ */
140
+ public function version() {
141
+ return $this->meta( 'Version' );
142
+ }
143
+
144
+ /**
145
+ * Sync the plugin version with the asset version.
146
+ *
147
+ * @return string
148
+ */
149
+ public function asset_version() {
150
+ if ( $this->is_debug() || $this->is_script_debug() ) {
151
+ return time();
152
+ }
153
+
154
+ return $this->version();
155
+ }
156
+
157
+ /**
158
+ * Get plugin meta data.
159
+ *
160
+ * @param string $field Optional field key.
161
+ *
162
+ * @return array|string|null
163
+ */
164
+ public function meta( $field = null ) {
165
+ static $meta;
166
+
167
+ if ( ! isset( $meta ) ) {
168
+ $meta = get_plugin_data( $this->file );
169
+ }
170
+
171
+ if ( isset( $field ) ) {
172
+ if ( isset( $meta[ $field ] ) ) {
173
+ return $meta[ $field ];
174
+ }
175
+
176
+ return null;
177
+ }
178
+
179
+ return $meta;
180
+ }
181
+
182
+ }
src/WidgetContext.php CHANGED
@@ -5,7 +5,6 @@
5
  */
6
  class WidgetContext {
7
 
8
- private $asset_version = '1.0.4';
9
  private $sidebars_widgets;
10
  private $options_name = 'widget_logic_options'; // Context settings for widgets (visibility, etc)
11
  private $settings_name = 'widget_context_settings'; // Widget Context global settings
@@ -14,15 +13,31 @@ class WidgetContext {
14
  private $context_options = array(); // Store visibility settings
15
  private $context_settings = array(); // Store admin settings
16
  private $contexts = array();
17
- private $plugin_path;
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
  /**
20
  * Start the plugin.
21
  *
22
- * @param string $path Absolute path to the plugin.
23
  */
24
- public function __construct( $path ) {
25
- $this->plugin_path = $path;
 
 
 
26
  }
27
 
28
  /**
@@ -30,8 +45,8 @@ class WidgetContext {
30
  *
31
  * @return WidgetContext
32
  */
33
- static function instance() {
34
- return self;
35
  }
36
 
37
  /**
@@ -186,16 +201,16 @@ class WidgetContext {
186
 
187
  wp_enqueue_style(
188
  'widget-context-css',
189
- $this->asset_url( 'assets/css/admin.css' ),
190
  null,
191
- $this->asset_version
192
  );
193
 
194
  wp_enqueue_script(
195
  'widget-context-js',
196
- $this->asset_url( 'assets/js/widget-context.js' ),
197
  array( 'jquery' ),
198
- $this->asset_version
199
  );
200
  }
201
 
@@ -230,7 +245,7 @@ class WidgetContext {
230
 
231
  // Remove non-existant widget contexts from the settings
232
  foreach ( $this->context_options as $widget_id => $widget_context ) {
233
- if ( ! in_array( $widget_id, $all_widget_ids ) ) {
234
  unset( $this->context_options[ $widget_id ] );
235
  }
236
  }
@@ -319,9 +334,9 @@ class WidgetContext {
319
  $inc = true;
320
  }
321
 
322
- if ( $inc && in_array( true, $matches ) ) {
323
  return true;
324
- } elseif ( ! $inc && ! in_array( true, $matches ) ) {
325
  return true;
326
  }
327
 
@@ -519,7 +534,7 @@ class WidgetContext {
519
  }
520
 
521
  // Store core controls
522
- if ( isset( $context_settings['type'] ) && 'core' == $context_settings['type'] ) {
523
  $controls_core[] = $context_name;
524
  }
525
 
@@ -561,6 +576,7 @@ class WidgetContext {
561
  sprintf(
562
  '<p class="error">%s</p>',
563
  sprintf(
 
564
  __( 'No widget controls enabled. You can enable them in <a href="%s">Widget Context settings</a>.', 'widget-context' ),
565
  admin_url( 'options-general.php?page=widget_context_settings' )
566
  )
@@ -674,11 +690,10 @@ class WidgetContext {
674
 
675
 
676
  function make_simple_checkbox( $control_args, $option, $label ) {
 
677
 
678
  if ( isset( $control_args['settings'][ $option ] ) && $control_args['settings'][ $option ] ) {
679
  $value = true;
680
- } else {
681
- $value = false;
682
  }
683
 
684
  return sprintf(
@@ -703,10 +718,10 @@ class WidgetContext {
703
 
704
 
705
  function make_simple_textarea( $control_args, $option, $label = null ) {
 
 
706
  if ( isset( $control_args['settings'][ $option ] ) ) {
707
  $value = esc_textarea( $control_args['settings'][ $option ] );
708
- } else {
709
- $value = '';
710
  }
711
 
712
  return sprintf(
@@ -727,10 +742,10 @@ class WidgetContext {
727
 
728
 
729
  function make_simple_textfield( $control_args, $option, $label_before = null, $label_after = null ) {
 
 
730
  if ( isset( $control_args['settings'][ $option ] ) ) {
731
  $value = esc_attr( $control_args['settings'][ $option ] );
732
- } else {
733
- $value = false;
734
  }
735
 
736
  return sprintf(
@@ -755,11 +770,10 @@ class WidgetContext {
755
 
756
  function make_simple_dropdown( $control_args, $option, $selection = array(), $label_before = null, $label_after = null ) {
757
  $options = array();
 
758
 
759
  if ( isset( $control_args['settings'][ $option ] ) ) {
760
  $value = $control_args['settings'][ $option ];
761
- } else {
762
- $value = false;
763
  }
764
 
765
  if ( empty( $selection ) ) {
@@ -989,7 +1003,7 @@ class WidgetContext {
989
  printf(
990
  // translators: %s: link with an anchor text.
991
  esc_html__( 'Widget Context is created and maintained by %s.', 'widget-context' ),
992
- '<a href="https://kaspars.net">Kaspars Dambis</a>'
993
  );
994
  ?>
995
  </p>
@@ -997,12 +1011,12 @@ class WidgetContext {
997
 
998
  <div class="wc-sidebar-section wc-sidebar-newsletter">
999
  <h3><?php esc_html_e( 'News & Updates', 'widget-context' ); ?></h3>
1000
- <p><?php esc_html_e( 'Subscribe to receive news & updates about the plugin.', 'widget-context' ); ?></p>
1001
  <form action="//osc.us2.list-manage.com/subscribe/post?u=e8d173fc54c0fc4286a2b52e8&amp;id=8afe96c5a3" method="post" target="_blank">
1002
  <?php $user = wp_get_current_user(); ?>
1003
  <p><label><?php _e( 'Your Name', 'widget-context' ); ?>: <input type="text" name="NAME" value="<?php echo esc_attr( sprintf( '%s %s', $user->first_name, $user->last_name ) ); ?>" /></label></p>
1004
  <p><label><?php _e( 'Your Email', 'widget-context' ); ?>: <input type="text" name="EMAIL" value="<?php echo esc_attr( $user->user_email ); ?>" /></label></p>
1005
- <p><input class="button" name="subscribe" type="submit" value="<?php _e( 'Subscribe', 'widget-context' ); ?>" /></p>
1006
  </form>
1007
  <h3>
1008
  <?php esc_html_e( 'Suggested Plugins', 'widget-context' ); ?>
@@ -1011,11 +1025,15 @@ class WidgetContext {
1011
  <?php esc_html_e( 'Here are some of my other plugins:', 'widget-context' ); ?>
1012
  </p>
1013
  <ul>
 
 
 
 
1014
  <li>
1015
  <a href="https://preseto.com/go/cf7-storage?utm_source=wc">Storage for Contact Form 7</a> saves all Contact Form 7 submissions (including attachments) in your WordPress database.
1016
  </li>
1017
  <li>
1018
- <a href="https://wordpress.org/plugins/contact-form-7-extras/">Contact Form 7 Controls</a> adds a simple interface for managing Contact Form 7 form settings.
1019
  </li>
1020
  </ul>
1021
  </div>
@@ -1034,22 +1052,4 @@ class WidgetContext {
1034
  return $this->sidebars_widgets_copy;
1035
  }
1036
 
1037
- /**
1038
- * Return the public URL of a plugin asset file.
1039
- *
1040
- * @param string $asset_relative_path Relative path to the asset file.
1041
- *
1042
- * @return string
1043
- */
1044
- function asset_url( $asset_relative_path ) {
1045
- $file_path = sprintf(
1046
- '%s/%s',
1047
- plugin_basename( $this->plugin_path ),
1048
- ltrim( $asset_relative_path, '/' )
1049
- );
1050
-
1051
- return plugins_url( $file_path );
1052
- }
1053
-
1054
-
1055
  }
5
  */
6
  class WidgetContext {
7
 
 
8
  private $sidebars_widgets;
9
  private $options_name = 'widget_logic_options'; // Context settings for widgets (visibility, etc)
10
  private $settings_name = 'widget_context_settings'; // Widget Context global settings
13
  private $context_options = array(); // Store visibility settings
14
  private $context_settings = array(); // Store admin settings
15
  private $contexts = array();
16
+
17
+ /**
18
+ * Instance of the abstract plugin.
19
+ *
20
+ * @var Preseto\WidgetContext\Plugin
21
+ */
22
+ private $plugin;
23
+
24
+ /**
25
+ * Instance of the current class for legacy purposes.
26
+ *
27
+ * @var WidgetContext
28
+ */
29
+ protected static $instance;
30
 
31
  /**
32
  * Start the plugin.
33
  *
34
+ * @param Preseto\WidgetContext\Plugin $path Instance of the abstract plugin.
35
  */
36
+ public function __construct( $plugin ) {
37
+ $this->plugin = $plugin;
38
+
39
+ // Keep an instance for legacy purposes.
40
+ self::$instance = $this;
41
  }
42
 
43
  /**
45
  *
46
  * @return WidgetContext
47
  */
48
+ public static function instance() {
49
+ return self::$instance;
50
  }
51
 
52
  /**
201
 
202
  wp_enqueue_style(
203
  'widget-context-css',
204
+ $this->plugin->asset_url( 'assets/css/admin.css' ),
205
  null,
206
+ $this->plugin->asset_version()
207
  );
208
 
209
  wp_enqueue_script(
210
  'widget-context-js',
211
+ $this->plugin->asset_url( 'assets/js/widget-context.js' ),
212
  array( 'jquery' ),
213
+ $this->plugin->asset_version()
214
  );
215
  }
216
 
245
 
246
  // Remove non-existant widget contexts from the settings
247
  foreach ( $this->context_options as $widget_id => $widget_context ) {
248
+ if ( ! in_array( $widget_id, $all_widget_ids, true ) ) {
249
  unset( $this->context_options[ $widget_id ] );
250
  }
251
  }
334
  $inc = true;
335
  }
336
 
337
+ if ( $inc && in_array( true, $matches, true ) ) {
338
  return true;
339
+ } elseif ( ! $inc && ! in_array( true, $matches, true ) ) {
340
  return true;
341
  }
342
 
534
  }
535
 
536
  // Store core controls
537
+ if ( isset( $context_settings['type'] ) && 'core' === $context_settings['type'] ) {
538
  $controls_core[] = $context_name;
539
  }
540
 
576
  sprintf(
577
  '<p class="error">%s</p>',
578
  sprintf(
579
+ /* translators: %s is a URL to the settings page. */
580
  __( 'No widget controls enabled. You can enable them in <a href="%s">Widget Context settings</a>.', 'widget-context' ),
581
  admin_url( 'options-general.php?page=widget_context_settings' )
582
  )
690
 
691
 
692
  function make_simple_checkbox( $control_args, $option, $label ) {
693
+ $value = false;
694
 
695
  if ( isset( $control_args['settings'][ $option ] ) && $control_args['settings'][ $option ] ) {
696
  $value = true;
 
 
697
  }
698
 
699
  return sprintf(
718
 
719
 
720
  function make_simple_textarea( $control_args, $option, $label = null ) {
721
+ $value = '';
722
+
723
  if ( isset( $control_args['settings'][ $option ] ) ) {
724
  $value = esc_textarea( $control_args['settings'][ $option ] );
 
 
725
  }
726
 
727
  return sprintf(
742
 
743
 
744
  function make_simple_textfield( $control_args, $option, $label_before = null, $label_after = null ) {
745
+ $value = false;
746
+
747
  if ( isset( $control_args['settings'][ $option ] ) ) {
748
  $value = esc_attr( $control_args['settings'][ $option ] );
 
 
749
  }
750
 
751
  return sprintf(
770
 
771
  function make_simple_dropdown( $control_args, $option, $selection = array(), $label_before = null, $label_after = null ) {
772
  $options = array();
773
+ $value = false;
774
 
775
  if ( isset( $control_args['settings'][ $option ] ) ) {
776
  $value = $control_args['settings'][ $option ];
 
 
777
  }
778
 
779
  if ( empty( $selection ) ) {
1003
  printf(
1004
  // translators: %s: link with an anchor text.
1005
  esc_html__( 'Widget Context is created and maintained by %s.', 'widget-context' ),
1006
+ '<a href="https://widgetcontext.com/about">Kaspars Dambis</a>'
1007
  );
1008
  ?>
1009
  </p>
1011
 
1012
  <div class="wc-sidebar-section wc-sidebar-newsletter">
1013
  <h3><?php esc_html_e( 'News & Updates', 'widget-context' ); ?></h3>
1014
+ <p><?php esc_html_e( 'Subscribe to receive news and updates about the plugin.', 'widget-context' ); ?></p>
1015
  <form action="//osc.us2.list-manage.com/subscribe/post?u=e8d173fc54c0fc4286a2b52e8&amp;id=8afe96c5a3" method="post" target="_blank">
1016
  <?php $user = wp_get_current_user(); ?>
1017
  <p><label><?php _e( 'Your Name', 'widget-context' ); ?>: <input type="text" name="NAME" value="<?php echo esc_attr( sprintf( '%s %s', $user->first_name, $user->last_name ) ); ?>" /></label></p>
1018
  <p><label><?php _e( 'Your Email', 'widget-context' ); ?>: <input type="text" name="EMAIL" value="<?php echo esc_attr( $user->user_email ); ?>" /></label></p>
1019
+ <p><input class="button" name="subscribe" type="submit" value="<?php esc_attr_e( 'Subscribe', 'widget-context' ); ?>" /></p>
1020
  </form>
1021
  <h3>
1022
  <?php esc_html_e( 'Suggested Plugins', 'widget-context' ); ?>
1025
  <?php esc_html_e( 'Here are some of my other plugins:', 'widget-context' ); ?>
1026
  </p>
1027
  <ul>
1028
+ <li>
1029
+ <strong><small>NEW:</small></strong>
1030
+ <a href="https://blockcontext.com?utm_source=wc">Block Context</a> for showing or hiding Gutenberg blocks in context.
1031
+ </li>
1032
  <li>
1033
  <a href="https://preseto.com/go/cf7-storage?utm_source=wc">Storage for Contact Form 7</a> saves all Contact Form 7 submissions (including attachments) in your WordPress database.
1034
  </li>
1035
  <li>
1036
+ <a href="https://formcontrols.com/?utm_source=wc">Contact Form 7 Controls</a> adds a simple interface for managing Contact Form 7 form settings.
1037
  </li>
1038
  </ul>
1039
  </div>
1052
  return $this->sidebars_widgets_copy;
1053
  }
1054
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1055
  }
src/modules/custom-post-types-taxonomies/module.php CHANGED
@@ -104,12 +104,14 @@ class WidgetContextCustomCptTax {
104
 
105
  foreach ( $this->post_types as $post_type => $post_type_settings ) {
106
  $options[ 'is_singular-' . $post_type ] = sprintf(
 
107
  __( 'All "%s" posts', 'widget-context' ),
108
  $post_type_settings->label
109
  );
110
 
111
  if ( $post_type_settings->has_archive ) {
112
  $options[ 'is_archive-' . $post_type ] = sprintf(
 
113
  __( 'Archive of "%s" posts', 'widget-context' ),
114
  $post_type_settings->label
115
  );
@@ -118,6 +120,7 @@ class WidgetContextCustomCptTax {
118
 
119
  foreach ( $this->taxonomies as $taxonomy => $tax_settings ) {
120
  $options[ 'is_tax-' . $taxonomy ] = sprintf(
 
121
  __( 'All "%s" taxonomy archives', 'widget-context' ),
122
  $tax_settings->label
123
  );
104
 
105
  foreach ( $this->post_types as $post_type => $post_type_settings ) {
106
  $options[ 'is_singular-' . $post_type ] = sprintf(
107
+ /* translators: %s is the post type label. */
108
  __( 'All "%s" posts', 'widget-context' ),
109
  $post_type_settings->label
110
  );
111
 
112
  if ( $post_type_settings->has_archive ) {
113
  $options[ 'is_archive-' . $post_type ] = sprintf(
114
+ /* translators: %s is the post type label. */
115
  __( 'Archive of "%s" posts', 'widget-context' ),
116
  $post_type_settings->label
117
  );
120
 
121
  foreach ( $this->taxonomies as $taxonomy => $tax_settings ) {
122
  $options[ 'is_tax-' . $taxonomy ] = sprintf(
123
+ /* translators: %s is the taxonomy label. */
124
  __( 'All "%s" taxonomy archives', 'widget-context' ),
125
  $tax_settings->label
126
  );
vendor/autoload.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload.php @generated by Composer
4
+
5
+ require_once __DIR__ . '/composer/autoload_real.php';
6
+
7
+ return ComposerAutoloaderInit6e573a37469c9353164f8e0a8d8c8254::getLoader();
vendor/composer/ClassLoader.php ADDED
@@ -0,0 +1,445 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 http://www.php-fig.org/psr/psr-0/
41
+ * @see http://www.php-fig.org/psr/psr-4/
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 array $classMap Class to filename map
91
+ */
92
+ public function addClassMap(array $classMap)
93
+ {
94
+ if ($this->classMap) {
95
+ $this->classMap = array_merge($this->classMap, $classMap);
96
+ } else {
97
+ $this->classMap = $classMap;
98
+ }
99
+ }
100
+
101
+ /**
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 $prefix The prefix
106
+ * @param array|string $paths The PSR-0 root directories
107
+ * @param bool $prepend Whether to prepend the directories
108
+ */
109
+ public function add($prefix, $paths, $prepend = false)
110
+ {
111
+ if (!$prefix) {
112
+ if ($prepend) {
113
+ $this->fallbackDirsPsr0 = array_merge(
114
+ (array) $paths,
115
+ $this->fallbackDirsPsr0
116
+ );
117
+ } else {
118
+ $this->fallbackDirsPsr0 = array_merge(
119
+ $this->fallbackDirsPsr0,
120
+ (array) $paths
121
+ );
122
+ }
123
+
124
+ return;
125
+ }
126
+
127
+ $first = $prefix[0];
128
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
129
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
130
+
131
+ return;
132
+ }
133
+ if ($prepend) {
134
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
135
+ (array) $paths,
136
+ $this->prefixesPsr0[$first][$prefix]
137
+ );
138
+ } else {
139
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
140
+ $this->prefixesPsr0[$first][$prefix],
141
+ (array) $paths
142
+ );
143
+ }
144
+ }
145
+
146
+ /**
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 $prefix The prefix/namespace, with trailing '\\'
151
+ * @param array|string $paths The PSR-4 base directories
152
+ * @param bool $prepend Whether to prepend the directories
153
+ *
154
+ * @throws \InvalidArgumentException
155
+ */
156
+ public function addPsr4($prefix, $paths, $prepend = false)
157
+ {
158
+ if (!$prefix) {
159
+ // Register directories for the root namespace.
160
+ if ($prepend) {
161
+ $this->fallbackDirsPsr4 = array_merge(
162
+ (array) $paths,
163
+ $this->fallbackDirsPsr4
164
+ );
165
+ } else {
166
+ $this->fallbackDirsPsr4 = array_merge(
167
+ $this->fallbackDirsPsr4,
168
+ (array) $paths
169
+ );
170
+ }
171
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
172
+ // Register directories for a new namespace.
173
+ $length = strlen($prefix);
174
+ if ('\\' !== $prefix[$length - 1]) {
175
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
176
+ }
177
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
178
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
179
+ } elseif ($prepend) {
180
+ // Prepend directories for an already registered namespace.
181
+ $this->prefixDirsPsr4[$prefix] = array_merge(
182
+ (array) $paths,
183
+ $this->prefixDirsPsr4[$prefix]
184
+ );
185
+ } else {
186
+ // Append directories for an already registered namespace.
187
+ $this->prefixDirsPsr4[$prefix] = array_merge(
188
+ $this->prefixDirsPsr4[$prefix],
189
+ (array) $paths
190
+ );
191
+ }
192
+ }
193
+
194
+ /**
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 $prefix The prefix
199
+ * @param array|string $paths The PSR-0 base directories
200
+ */
201
+ public function set($prefix, $paths)
202
+ {
203
+ if (!$prefix) {
204
+ $this->fallbackDirsPsr0 = (array) $paths;
205
+ } else {
206
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
207
+ }
208
+ }
209
+
210
+ /**
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 $prefix The prefix/namespace, with trailing '\\'
215
+ * @param array|string $paths The PSR-4 base directories
216
+ *
217
+ * @throws \InvalidArgumentException
218
+ */
219
+ public function setPsr4($prefix, $paths)
220
+ {
221
+ if (!$prefix) {
222
+ $this->fallbackDirsPsr4 = (array) $paths;
223
+ } else {
224
+ $length = strlen($prefix);
225
+ if ('\\' !== $prefix[$length - 1]) {
226
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
227
+ }
228
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
229
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
230
+ }
231
+ }
232
+
233
+ /**
234
+ * Turns on searching the include path for class files.
235
+ *
236
+ * @param bool $useIncludePath
237
+ */
238
+ public function setUseIncludePath($useIncludePath)
239
+ {
240
+ $this->useIncludePath = $useIncludePath;
241
+ }
242
+
243
+ /**
244
+ * Can be used to check if the autoloader uses the include path to check
245
+ * for classes.
246
+ *
247
+ * @return bool
248
+ */
249
+ public function getUseIncludePath()
250
+ {
251
+ return $this->useIncludePath;
252
+ }
253
+
254
+ /**
255
+ * Turns off searching the prefix and fallback directories for classes
256
+ * that have not been registered with the class map.
257
+ *
258
+ * @param bool $classMapAuthoritative
259
+ */
260
+ public function setClassMapAuthoritative($classMapAuthoritative)
261
+ {
262
+ $this->classMapAuthoritative = $classMapAuthoritative;
263
+ }
264
+
265
+ /**
266
+ * Should class lookup fail if not found in the current class map?
267
+ *
268
+ * @return bool
269
+ */
270
+ public function isClassMapAuthoritative()
271
+ {
272
+ return $this->classMapAuthoritative;
273
+ }
274
+
275
+ /**
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
+ {
282
+ $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
283
+ }
284
+
285
+ /**
286
+ * The APCu prefix in use, or null if APCu caching is not enabled.
287
+ *
288
+ * @return string|null
289
+ */
290
+ public function getApcuPrefix()
291
+ {
292
+ return $this->apcuPrefix;
293
+ }
294
+
295
+ /**
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 bool|null True if loaded, null otherwise
318
+ */
319
+ public function loadClass($class)
320
+ {
321
+ if ($file = $this->findFile($class)) {
322
+ includeFile($file);
323
+
324
+ return true;
325
+ }
326
+ }
327
+
328
+ /**
329
+ * Finds the path to the file where the class is defined.
330
+ *
331
+ * @param string $class The name of the class
332
+ *
333
+ * @return string|false The path if found, false otherwise
334
+ */
335
+ public function findFile($class)
336
+ {
337
+ // class map lookup
338
+ if (isset($this->classMap[$class])) {
339
+ return $this->classMap[$class];
340
+ }
341
+ if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
342
+ return false;
343
+ }
344
+ if (null !== $this->apcuPrefix) {
345
+ $file = apcu_fetch($this->apcuPrefix.$class, $hit);
346
+ if ($hit) {
347
+ return $file;
348
+ }
349
+ }
350
+
351
+ $file = $this->findFileWithExtension($class, '.php');
352
+
353
+ // Search for Hack files if we are running on HHVM
354
+ if (false === $file && defined('HHVM_VERSION')) {
355
+ $file = $this->findFileWithExtension($class, '.hh');
356
+ }
357
+
358
+ if (null !== $this->apcuPrefix) {
359
+ apcu_add($this->apcuPrefix.$class, $file);
360
+ }
361
+
362
+ if (false === $file) {
363
+ // Remember that this class does not exist.
364
+ $this->missingClasses[$class] = true;
365
+ }
366
+
367
+ return $file;
368
+ }
369
+
370
+ private function findFileWithExtension($class, $ext)
371
+ {
372
+ // PSR-4 lookup
373
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
374
+
375
+ $first = $class[0];
376
+ if (isset($this->prefixLengthsPsr4[$first])) {
377
+ $subPath = $class;
378
+ while (false !== $lastPos = strrpos($subPath, '\\')) {
379
+ $subPath = substr($subPath, 0, $lastPos);
380
+ $search = $subPath . '\\';
381
+ if (isset($this->prefixDirsPsr4[$search])) {
382
+ $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
383
+ foreach ($this->prefixDirsPsr4[$search] as $dir) {
384
+ if (file_exists($file = $dir . $pathEnd)) {
385
+ return $file;
386
+ }
387
+ }
388
+ }
389
+ }
390
+ }
391
+
392
+ // PSR-4 fallback dirs
393
+ foreach ($this->fallbackDirsPsr4 as $dir) {
394
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
395
+ return $file;
396
+ }
397
+ }
398
+
399
+ // PSR-0 lookup
400
+ if (false !== $pos = strrpos($class, '\\')) {
401
+ // namespaced class name
402
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
403
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
404
+ } else {
405
+ // PEAR-like class name
406
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
407
+ }
408
+
409
+ if (isset($this->prefixesPsr0[$first])) {
410
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
411
+ if (0 === strpos($class, $prefix)) {
412
+ foreach ($dirs as $dir) {
413
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
414
+ return $file;
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+
421
+ // PSR-0 fallback dirs
422
+ foreach ($this->fallbackDirsPsr0 as $dir) {
423
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
424
+ return $file;
425
+ }
426
+ }
427
+
428
+ // PSR-0 include paths.
429
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
430
+ return $file;
431
+ }
432
+
433
+ return false;
434
+ }
435
+ }
436
+
437
+ /**
438
+ * Scope isolated include.
439
+ *
440
+ * Prevents access to $this/self from included files.
441
+ */
442
+ function includeFile($file)
443
+ {
444
+ include $file;
445
+ }
vendor/composer/LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ 'Preseto\\WidgetContext\\Plugin' => $baseDir . '/src/Plugin.php',
10
+ 'WidgetContext' => $baseDir . '/src/WidgetContext.php',
11
+ 'WidgetContextCustomCptTax' => $baseDir . '/src/modules/custom-post-types-taxonomies/module.php',
12
+ 'WidgetContextWordCount' => $baseDir . '/src/modules/word-count/module.php',
13
+ );
vendor/composer/autoload_namespaces.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_namespaces.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ );
vendor/composer/autoload_psr4.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_psr4.php @generated by Composer
4
+
5
+ $vendorDir = dirname(dirname(__FILE__));
6
+ $baseDir = dirname($vendorDir);
7
+
8
+ return array(
9
+ );
vendor/composer/autoload_real.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_real.php @generated by Composer
4
+
5
+ class ComposerAutoloaderInit6e573a37469c9353164f8e0a8d8c8254
6
+ {
7
+ private static $loader;
8
+
9
+ public static function loadClassLoader($class)
10
+ {
11
+ if ('Composer\Autoload\ClassLoader' === $class) {
12
+ require __DIR__ . '/ClassLoader.php';
13
+ }
14
+ }
15
+
16
+ public static function getLoader()
17
+ {
18
+ if (null !== self::$loader) {
19
+ return self::$loader;
20
+ }
21
+
22
+ spl_autoload_register(array('ComposerAutoloaderInit6e573a37469c9353164f8e0a8d8c8254', 'loadClassLoader'), true, true);
23
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit6e573a37469c9353164f8e0a8d8c8254', 'loadClassLoader'));
25
+
26
+ $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
+ if ($useStaticLoader) {
28
+ require_once __DIR__ . '/autoload_static.php';
29
+
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit6e573a37469c9353164f8e0a8d8c8254::getInitializer($loader));
31
+ } else {
32
+ $map = require __DIR__ . '/autoload_namespaces.php';
33
+ foreach ($map as $namespace => $path) {
34
+ $loader->set($namespace, $path);
35
+ }
36
+
37
+ $map = require __DIR__ . '/autoload_psr4.php';
38
+ foreach ($map as $namespace => $path) {
39
+ $loader->setPsr4($namespace, $path);
40
+ }
41
+
42
+ $classMap = require __DIR__ . '/autoload_classmap.php';
43
+ if ($classMap) {
44
+ $loader->addClassMap($classMap);
45
+ }
46
+ }
47
+
48
+ $loader->register(true);
49
+
50
+ return $loader;
51
+ }
52
+ }
vendor/composer/autoload_static.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // autoload_static.php @generated by Composer
4
+
5
+ namespace Composer\Autoload;
6
+
7
+ class ComposerStaticInit6e573a37469c9353164f8e0a8d8c8254
8
+ {
9
+ public static $classMap = array (
10
+ 'Preseto\\WidgetContext\\Plugin' => __DIR__ . '/../..' . '/src/Plugin.php',
11
+ 'WidgetContext' => __DIR__ . '/../..' . '/src/WidgetContext.php',
12
+ 'WidgetContextCustomCptTax' => __DIR__ . '/../..' . '/src/modules/custom-post-types-taxonomies/module.php',
13
+ 'WidgetContextWordCount' => __DIR__ . '/../..' . '/src/modules/word-count/module.php',
14
+ );
15
+
16
+ public static function getInitializer(ClassLoader $loader)
17
+ {
18
+ return \Closure::bind(function () use ($loader) {
19
+ $loader->classMap = ComposerStaticInit6e573a37469c9353164f8e0a8d8c8254::$classMap;
20
+
21
+ }, null, ClassLoader::class);
22
+ }
23
+ }
vendor/composer/installed.json ADDED
@@ -0,0 +1 @@
 
1
+ []
widget-context.php CHANGED
@@ -3,20 +3,20 @@
3
  * Plugin Name: Widget Context
4
  * Plugin URI: https://widgetcontext.com
5
  * Description: Show or hide widgets depending on the section of the site that is being viewed.
6
- * Version: 1.1.1
7
- * Author: Preseto
8
- * Author URI: https://preseto.com
9
  * Text Domain: widget-context
10
  */
11
 
12
- // TODO Switch to proper autoloading.
13
- require_once dirname( __FILE__ ) . '/src/WidgetContext.php';
14
- require_once dirname( __FILE__ ) . '/src/modules/custom-post-types-taxonomies/module.php';
15
- require_once dirname( __FILE__ ) . '/src/modules/word-count/module.php';
16
 
17
- $plugin = new WidgetContext( dirname( __FILE__ ) );
 
18
 
19
- $plugin->register_module( new WidgetContextCustomCptTax( $plugin ) );
20
- $plugin->register_module( new WidgetContextWordCount( $plugin ) );
21
 
22
- $plugin->init();
3
  * Plugin Name: Widget Context
4
  * Plugin URI: https://widgetcontext.com
5
  * Description: Show or hide widgets depending on the section of the site that is being viewed.
6
+ * Version: 1.2.0
7
+ * Author: Kaspars Dambis
8
+ * Author URI: https://widgetcontext.com
9
  * Text Domain: widget-context
10
  */
11
 
12
+ if ( file_exists( __DIR__ . '/vendor/autoload.php' ) ) {
13
+ require_once __DIR__ . '/vendor/autoload.php';
14
+ }
 
15
 
16
+ $plugin = new Preseto\WidgetContext\Plugin( __FILE__ );
17
+ $widget_context = new WidgetContext( $plugin );
18
 
19
+ $widget_context->register_module( new WidgetContextCustomCptTax( $widget_context ) );
20
+ $widget_context->register_module( new WidgetContextWordCount( $widget_context ) );
21
 
22
+ $widget_context->init();
wp-cli.yaml DELETED
@@ -1,6 +0,0 @@
1
- path: /home/vagrant/code
2
-
3
- config create:
4
- dbname: homestead
5
- dbuser: homestead
6
- dbpass: secret