diff --git a/core/composer.json b/core/composer.json index 5313b3a10c2c9d7c0850d405c439ba73acaa3ff0..26938e39d8c5bc9ed05e65e26c0dcc139471907c 100644 --- a/core/composer.json +++ b/core/composer.json @@ -5,7 +5,6 @@ "license": "GPL-2.0+", "require": { "php": ">=5.5.9", - "sdboyer/gliph": "0.1.*", "symfony/class-loader": "2.7.*", "symfony/console": "2.7.*", "symfony/css-selector": "2.7.*", diff --git a/core/composer.lock b/core/composer.lock index 3a01db04d66648c82f0063597eca446de4b79149..676d0bf29579abbb6c8ab43278d7a2ed80879514 100644 --- a/core/composer.lock +++ b/core/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "34a206d03b9060c6f1b2895c0517792c", + "hash": "3708d8fdb54957e5ce661cda1df88353", "packages": [ { "name": "behat/mink", @@ -1637,54 +1637,6 @@ ], "time": "2012-12-21 11:40:51" }, - { - "name": "sdboyer/gliph", - "version": "0.1.8", - "source": { - "type": "git", - "url": "https://github.com/sdboyer/gliph.git", - "reference": "db9e4b77622f91e2d338cc45f83c2cd0e3cf0e1e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sdboyer/gliph/zipball/db9e4b77622f91e2d338cc45f83c2cd0e3cf0e1e", - "reference": "db9e4b77622f91e2d338cc45f83c2cd0e3cf0e1e", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*", - "satooshi/php-coveralls": "0.6.*" - }, - "type": "library", - "autoload": { - "psr-0": { - "Gliph": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sam Boyer", - "email": "tech@samboyer.org" - } - ], - "description": "A graph library for PHP.", - "homepage": "http://github.com/sdboyer/gliph", - "keywords": [ - "gliph", - "graph", - "library", - "php", - "spl" - ], - "time": "2014-08-03 14:34:47" - }, { "name": "sebastian/comparator", "version": "1.1.1", diff --git a/core/vendor/composer/autoload_namespaces.php b/core/vendor/composer/autoload_namespaces.php index 89ce61cdbbb231eeb940a129e814e9880638da21..63f4b704af3ea04ffdc73a26c59f9b9b9c16f80a 100644 --- a/core/vendor/composer/autoload_namespaces.php +++ b/core/vendor/composer/autoload_namespaces.php @@ -12,7 +12,6 @@ 'Stack' => array($vendorDir . '/stack/builder/src'), 'Psr\\Log\\' => array($vendorDir . '/psr/log'), 'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'), - 'Gliph' => array($vendorDir . '/sdboyer/gliph/src'), 'Egulias\\' => array($vendorDir . '/egulias/email-validator/src'), 'EasyRdf_' => array($vendorDir . '/easyrdf/easyrdf/lib'), 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src'), diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json index cb25fbe900e4a1d9a5953ff32678d6a3b53a7251..e0635439870359bfb816b9431c4256a1510eed38 100644 --- a/core/vendor/composer/installed.json +++ b/core/vendor/composer/installed.json @@ -423,56 +423,6 @@ "timer" ] }, - { - "name": "sdboyer/gliph", - "version": "0.1.8", - "version_normalized": "0.1.8.0", - "source": { - "type": "git", - "url": "https://github.com/sdboyer/gliph.git", - "reference": "db9e4b77622f91e2d338cc45f83c2cd0e3cf0e1e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sdboyer/gliph/zipball/db9e4b77622f91e2d338cc45f83c2cd0e3cf0e1e", - "reference": "db9e4b77622f91e2d338cc45f83c2cd0e3cf0e1e", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*", - "satooshi/php-coveralls": "0.6.*" - }, - "time": "2014-08-03 14:34:47", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-0": { - "Gliph": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sam Boyer", - "email": "tech@samboyer.org" - } - ], - "description": "A graph library for PHP.", - "homepage": "http://github.com/sdboyer/gliph", - "keywords": [ - "gliph", - "graph", - "library", - "php", - "spl" - ] - }, { "name": "psr/log", "version": "1.0.0", diff --git a/core/vendor/sdboyer/gliph/LICENSE b/core/vendor/sdboyer/gliph/LICENSE deleted file mode 100644 index 0fd36c71be8407fb44514194c9a3ad8aa4f7e920..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) Sam Boyer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/core/vendor/sdboyer/gliph/README.md b/core/vendor/sdboyer/gliph/README.md deleted file mode 100644 index 73f3629cf5119fc5f7a8068455cf9c6b587b1f69..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# Gliph - -[![Build Status](https://travis-ci.org/sdboyer/gliph.png?branch=php53)](https://travis-ci.org/sdboyer/gliph) -[![Latest Stable Version](https://poser.pugx.org/sdboyer/gliph/v/stable.png)](https://packagist.org/packages/sdboyer/gliph) -[![Coverage Status](https://coveralls.io/repos/sdboyer/gliph/badge.png?branch=php53)](https://coveralls.io/r/sdboyer/gliph?branch=php53) - -Gliph is a **g**raph **li**brary for **PH**P. It provides graph building blocks and datastructures for use by other PHP applications. It is (currently) designed for use with in-memory graphs, not for interaction with a graph database like [Neo4J](http://neo4j.org/). - -Gliph aims for both sane interfaces and performant implementation - at least, as performant as can be hoped for a PHP graph library. This does require knowing enough about graphs to know what type is appropriate for your use case, but we are aiming to provide helpers that simplify those choices. - -## Core Concepts - -Gliph has several components that work together: graph classes, algorithms, and visitors. Generally speaking, Gliph is patterned after the [C++ Boost Graph Library](http://www.boost.org/libs/graph/doc); reading their documentation can yield a lot of insight into how Gliph is intended to work. - -Note that Gliph is currently written for compatibility with PHP 5.3, but it is intended to port the library to PHP 5.5. The availability of traits, non-scalar keys in iterators, and generators will considerably change and improve both the internal and public-facing implementations. - -### Graphs - -There are a number of different strategies for representing graphs; these strategies are more or less efficient depending on certain properties the graph, and what needs to be done to the graph. The approach taken in Gliph is to offer a roughly consistent 'Graph' interface that is common to all these different strategies. The strategies will have varying levels of efficiency at meeting this common interface, so it is the responsibility of the user to select a graph implementation that is appropriate for their use case. This approach draws heavily from the [taxonomy of graphs](http://www.boost.org/doc/libs/1_54_0/libs/graph/doc/graph_concepts.html) established by the BGL. - -Gliph currently implements only an adjacency list graph strategy, in both directed and undirected flavors. Adjacency lists offer efficient access to out-edges, but inefficient access to in-edges (in a directed graph - in an undirected graph, in-edges and out-edges are the same). Adjacency lists and are generally more space-efficient for sparse graphs. - -### Algorithms - -Gliph provides various algorithms that can be run on graph objects. These algorithms interact with the graph by making calls to methods defined in the assorted Graph interfaces. If a graph implements the interface type-hinted by a particular algorithm, then the algorithm can run on that graph. But the efficiency of the algorithm will be largely determined by how efficiently that graph implementation can meet the requirements of the interface. Adjacency lists, for example, are not terribly efficient at providing a list of all edges in a graph, but are very good at single-vertex-centric operations. - -Gliph's algorithms are typically implemented quite sparsely (especially traversers) - they seek to implement the simplest, most generic version of an algorithm. They also may not return any output, as that work is left to Visitors. - -### Visitors - -Most algorithms require a visitor object to be provided. The visitor conforms to an interface specified by the algorithm, and the algorithm will call the visitor at certain choice points during its execution. This allows the algorithms to stay highly generic, while visitors can be tailored to a more specific purpose. - -For example, a ```DepthFirst``` visitor might be used to calculate vertex reach, or generate a topologically sorted list. Each of these are things that a depth-first graph traversal can do. But the work of doing so is left to the visitor so that only one traversal algorithm is needed, and that algorithm is as cheap (memory and cycles) as possible. - -## TODOs - -Lots. But, to start with: - -- Port to, or provide a parallel implementation in, PHP 5.5. Generators and non-scalar keys from iterators make this all SO much better. In doing that, also shift as much over to traits as possible. -- Implement a generic breadth-first algorithm and its corresponding visitors. -- Implement a generic iterative deepening depth-first algorithm, and its corresponding visitors. -- Implement other popular connected components algorithms, as well as some shortest path algorithms (starting with Dijkstra) -- Write up some examples showing how to actually use the library. -- Extend the ```DepthFirst::traverse()``` algorithm and ```DepthFirstVisitorInterface``` to allow the visitor to stop the traversal. useful if, e.g., a search is being performed and the desired vertex has been found. - -## Acknowledgements - -This library draws heavy inspiration from the [C++ Boost Graph Library](http://www.boost.org/libs/graph/doc). - -## License - -MIT diff --git a/core/vendor/sdboyer/gliph/composer.json b/core/vendor/sdboyer/gliph/composer.json deleted file mode 100644 index 0c8c84fb702eb15d7ebd3d23a64fef1000b29664..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/composer.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "sdboyer/gliph", - "description": "A graph library for PHP.", - "license": "MIT", - "keywords": ["gliph", "library", "php", "spl", "graph"], - "homepage": "http://github.com/sdboyer/gliph", - "type": "library", - "authors": [ - { - "name": "Sam Boyer", - "email": "tech@samboyer.org" - } - ], - "require": { - "php": ">=5.3" - }, - "require-dev": { - "satooshi/php-coveralls": "0.6.*", - "phpunit/phpunit": "3.7.*" - }, - "autoload": { - "psr-0": { "Gliph": "src/" } - } -} diff --git a/core/vendor/sdboyer/gliph/composer.lock b/core/vendor/sdboyer/gliph/composer.lock deleted file mode 100644 index dd00f9d130fa47302e8bd26faedc788b771d7598..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/composer.lock +++ /dev/null @@ -1,886 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file" - ], - "hash": "3837dc792787c5b77aecfac96337ffc5", - "packages": [ - - ], - "packages-dev": [ - { - "name": "guzzle/guzzle", - "version": "v3.7.4", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "b170b028c6bb5799640e46c8803015b0f9a45ed9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b170b028c6bb5799640e46c8803015b0f9a45ed9", - "reference": "b170b028c6bb5799640e46c8803015b0f9a45ed9", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.3", - "symfony/event-dispatcher": ">=2.1" - }, - "replace": { - "guzzle/batch": "self.version", - "guzzle/cache": "self.version", - "guzzle/common": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version", - "guzzle/iterator": "self.version", - "guzzle/log": "self.version", - "guzzle/parser": "self.version", - "guzzle/plugin": "self.version", - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version", - "guzzle/service": "self.version", - "guzzle/stream": "self.version" - }, - "require-dev": { - "doctrine/cache": "*", - "monolog/monolog": "1.*", - "phpunit/phpunit": "3.7.*", - "psr/log": "1.0.*", - "symfony/class-loader": "*", - "zendframework/zend-cache": "2.0.*", - "zendframework/zend-log": "2.0.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - }, - "autoload": { - "psr-0": { - "Guzzle\\Tests": "tests/", - "Guzzle": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Guzzle Community", - "homepage": "https://github.com/guzzle/guzzle/contributors" - } - ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2013-10-02 20:47:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "1.2.13", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "466e7cd2554b4e264c9e3f31216d25ac0e5f3d94" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/466e7cd2554b4e264c9e3f31216d25ac0e5f3d94", - "reference": "466e7cd2554b4e264c9e3f31216d25ac0e5f3d94", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": ">=1.3.0@stable", - "phpunit/php-text-template": ">=1.1.1@stable", - "phpunit/php-token-stream": ">=1.1.3@stable" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*@dev" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.0.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "PHP/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2013-09-10 08:14:32" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.3.3", - "source": { - "type": "git", - "url": "git://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "1.3.3" - }, - "dist": { - "type": "zip", - "url": "https://github.com/sebastianbergmann/php-file-iterator/zipball/1.3.3", - "reference": "1.3.3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "File/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "http://www.phpunit.de/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2012-10-11 04:44:38" - }, - { - "name": "phpunit/php-text-template", - "version": "1.1.4", - "source": { - "type": "git", - "url": "git://github.com/sebastianbergmann/php-text-template.git", - "reference": "1.1.4" - }, - "dist": { - "type": "zip", - "url": "https://github.com/sebastianbergmann/php-text-template/zipball/1.1.4", - "reference": "1.1.4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "Text/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2012-10-31 11:15:28" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "1.0.5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1.0.5", - "reference": "1.0.5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "PHP/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2013-08-02 07:42:54" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "5220af2a7929aa35cf663d97c89ad3d50cf5fa3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/5220af2a7929aa35cf663d97c89ad3d50cf5fa3e", - "reference": "5220af2a7929aa35cf663d97c89ad3d50cf5fa3e", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "classmap": [ - "PHP/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2013-09-13 04:58:23" - }, - { - "name": "phpunit/phpunit", - "version": "3.7.27", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "4b024e753e3421837afbcca962c8724c58b39376" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4b024e753e3421837afbcca962c8724c58b39376", - "reference": "4b024e753e3421837afbcca962c8724c58b39376", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpunit/php-code-coverage": "~1.2.1", - "phpunit/php-file-iterator": ">=1.3.1", - "phpunit/php-text-template": ">=1.1.1", - "phpunit/php-timer": ">=1.0.4", - "phpunit/phpunit-mock-objects": "~1.2.0", - "symfony/yaml": "~2.0" - }, - "require-dev": { - "pear-pear/pear": "1.9.4" - }, - "suggest": { - "ext-json": "*", - "ext-simplexml": "*", - "ext-tokenizer": "*", - "phpunit/php-invoker": ">=1.1.0,<1.2.0" - }, - "bin": [ - "composer/bin/phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.7.x-dev" - } - }, - "autoload": { - "classmap": [ - "PHPUnit/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "", - "../../symfony/yaml/" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "http://www.phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2013-09-16 03:09:52" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "1.2.3", - "source": { - "type": "git", - "url": "git://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "1.2.3" - }, - "dist": { - "type": "zip", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects/archive/1.2.3.zip", - "reference": "1.2.3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-text-template": ">=1.1.1@stable" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "autoload": { - "classmap": [ - "PHPUnit/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2013-01-13 10:24:48" - }, - { - "name": "psr/log", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-0": { - "Psr\\Log\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2012-12-21 11:40:51" - }, - { - "name": "satooshi/php-coveralls", - "version": "v0.6.1", - "source": { - "type": "git", - "url": "https://github.com/satooshi/php-coveralls.git", - "reference": "dd0df95bd37a7cf5c5c50304dfe260ffe4b50760" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/dd0df95bd37a7cf5c5c50304dfe260ffe4b50760", - "reference": "dd0df95bd37a7cf5c5c50304dfe260ffe4b50760", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-simplexml": "*", - "guzzle/guzzle": ">=3.0", - "php": ">=5.3", - "psr/log": "1.0.0", - "symfony/config": ">=2.0", - "symfony/console": ">=2.0", - "symfony/stopwatch": ">=2.2", - "symfony/yaml": ">=2.0" - }, - "require-dev": { - "apigen/apigen": "2.8.*@stable", - "pdepend/pdepend": "dev-master", - "phpmd/phpmd": "dev-master", - "phpunit/php-invoker": ">=1.1.0,<1.2.0", - "phpunit/phpunit": "3.7.*@stable", - "sebastian/finder-facade": "dev-master", - "sebastian/phpcpd": "1.4.*@stable", - "squizlabs/php_codesniffer": "1.4.*@stable", - "theseer/fdomdocument": "dev-master" - }, - "bin": [ - "composer/bin/coveralls" - ], - "type": "library", - "autoload": { - "psr-0": { - "Contrib\\Component": "src/", - "Contrib\\Bundle": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kitamura Satoshi", - "email": "with.no.parachute@gmail.com", - "homepage": "https://www.facebook.com/satooshi.jp" - } - ], - "description": "PHP client library for Coveralls API", - "homepage": "https://github.com/satooshi/php-coveralls", - "keywords": [ - "ci", - "coverage", - "github", - "test" - ], - "time": "2013-05-04 08:07:33" - }, - { - "name": "symfony/config", - "version": "v2.3.5", - "target-dir": "Symfony/Component/Config", - "source": { - "type": "git", - "url": "https://github.com/symfony/Config.git", - "reference": "1ced3d6c88b22df8cd1fe5209dbd6a89df362a29" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Config/zipball/1ced3d6c88b22df8cd1fe5209dbd6a89df362a29", - "reference": "1ced3d6c88b22df8cd1fe5209dbd6a89df362a29", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/filesystem": "~2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Config\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony Config Component", - "homepage": "http://symfony.com", - "time": "2013-09-19 09:45:20" - }, - { - "name": "symfony/console", - "version": "v2.3.5", - "target-dir": "Symfony/Component/Console", - "source": { - "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "f880062d56edefb25b36f2defa65aafe65959dc7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/f880062d56edefb25b36f2defa65aafe65959dc7", - "reference": "f880062d56edefb25b36f2defa65aafe65959dc7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/event-dispatcher": "~2.1" - }, - "suggest": { - "symfony/event-dispatcher": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Console\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "http://symfony.com", - "time": "2013-09-25 06:04:15" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.3.5", - "target-dir": "Symfony/Component/EventDispatcher", - "source": { - "type": "git", - "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "7fc72a7a346a1887d3968cc1ce5642a15cd182e9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/7fc72a7a346a1887d3968cc1ce5642a15cd182e9", - "reference": "7fc72a7a346a1887d3968cc1ce5642a15cd182e9", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/dependency-injection": "~2.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "http://symfony.com", - "time": "2013-09-19 09:45:20" - }, - { - "name": "symfony/filesystem", - "version": "v2.3.5", - "target-dir": "Symfony/Component/Filesystem", - "source": { - "type": "git", - "url": "https://github.com/symfony/Filesystem.git", - "reference": "2b8995042086c5552c94d33b5553c492e9cfc00e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Filesystem/zipball/2b8995042086c5552c94d33b5553c492e9cfc00e", - "reference": "2b8995042086c5552c94d33b5553c492e9cfc00e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Filesystem\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "http://symfony.com", - "time": "2013-09-19 09:45:20" - }, - { - "name": "symfony/stopwatch", - "version": "v2.3.5", - "target-dir": "Symfony/Component/Stopwatch", - "source": { - "type": "git", - "url": "https://github.com/symfony/Stopwatch.git", - "reference": "1f951fa881d2e661525e81ee0afc97261ad43459" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Stopwatch/zipball/1f951fa881d2e661525e81ee0afc97261ad43459", - "reference": "1f951fa881d2e661525e81ee0afc97261ad43459", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Stopwatch\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony Stopwatch Component", - "homepage": "http://symfony.com", - "time": "2013-09-19 09:45:20" - }, - { - "name": "symfony/yaml", - "version": "v2.3.5", - "target-dir": "Symfony/Component/Yaml", - "source": { - "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "6bb881b948368482e1abf1a75c08bcf88a1c5fc3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/6bb881b948368482e1abf1a75c08bcf88a1c5fc3", - "reference": "6bb881b948368482e1abf1a75c08bcf88a1c5fc3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Yaml\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "http://symfony.com", - "time": "2013-09-22 18:04:39" - } - ], - "aliases": [ - - ], - "minimum-stability": "stable", - "stability-flags": [ - - ], - "platform": { - "php": ">=5.3" - }, - "platform-dev": [ - - ] -} diff --git a/core/vendor/sdboyer/gliph/src/Gliph/Algorithm/ConnectedComponent.php b/core/vendor/sdboyer/gliph/src/Gliph/Algorithm/ConnectedComponent.php deleted file mode 100644 index 686c299639b465874b0d7ccaf19a65394ec4565d..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/src/Gliph/Algorithm/ConnectedComponent.php +++ /dev/null @@ -1,65 +0,0 @@ -attach($vertex, $counter); - $lowlimits->attach($vertex, $counter); - $stack[] = $vertex; - $counter++; - - $graph->eachAdjacent($vertex, function ($to) use (&$visit, $vertex, $indices, $lowlimits, &$stack) { - if (!$indices->contains($to)) { - $visit($to); - $lowlimits[$vertex] = min($lowlimits[$vertex], $lowlimits[$to]); - } - else if (in_array($to, $stack, TRUE)) { - $lowlimits[$vertex] = min($lowlimits[$vertex], $indices[$to]); - } - }); - - if ($lowlimits[$vertex] === $indices[$vertex]) { - $visitor->newComponent(); - do { - $other = array_pop($stack); - $visitor->addToCurrentComponent($other); - } while ($other != $vertex); - } - }; - - $graph->eachVertex(function($vertex) use (&$visit, $indices) { - if (!$indices->contains($vertex)) { - $visit($vertex); - } - }); - - return $visitor; - } -} \ No newline at end of file diff --git a/core/vendor/sdboyer/gliph/src/Gliph/Exception/InvalidVertexTypeException.php b/core/vendor/sdboyer/gliph/src/Gliph/Exception/InvalidVertexTypeException.php deleted file mode 100644 index 4b33c815c4859c604b471e6eb6e41af3e6daf68d..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/src/Gliph/Exception/InvalidVertexTypeException.php +++ /dev/null @@ -1,13 +0,0 @@ -vertices = new \SplObjectStorage(); - $this->walking = new \SplObjectStorage(); - } - - /** - * {@inheritdoc} - */ - public function addVertex($vertex) { - if (!is_object($vertex)) { - throw new InvalidVertexTypeException('Vertices must be objects; non-object provided.'); - } - - if (!$this->hasVertex($vertex)) { - $this->vertices[$vertex] = new \SplObjectStorage(); - } - - return $this; - } - - /** - * {@inheritdoc} - */ - public function eachAdjacent($vertex, $callback) { - if (!$this->hasVertex($vertex)) { - throw new NonexistentVertexException('Vertex is not in graph; cannot iterate over its adjacent vertices.'); - } - - $set = $this->_getTraversableSplos($this->vertices[$vertex]); - foreach ($set as $adjacent_vertex) { - call_user_func($callback, $adjacent_vertex); - } - $this->walking->detach($set); - return $this; - } - - /** - * {@inheritdoc} - */ - public function eachVertex($callback) { - $this->fev(function ($v, $adjacent) use ($callback) { - call_user_func($callback, $v, $adjacent); - }); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function hasVertex($vertex) { - return $this->vertices->contains($vertex); - } - - /** - * {@inheritdoc} - */ - public function order() { - return $this->vertices->count(); - } - - /** - * {@inheritdoc} - */ - public function size() { - return $this->size; - } - - protected function fev($callback) { - $set = $this->_getTraversableSplos($this->vertices); - foreach ($set as $vertex) { - $outgoing = $set->getInfo(); - $callback($vertex, $outgoing); - } - $this->walking->detach($set); - - return $this; - } - - /** - * Helper function to ensure SPLOS traversal pointer is not overridden. - * - * This would otherwise occur if nested calls are made that traverse the - * same SPLOS. This keeps track of which SPLOSes are currently being - * traversed, and if it's in use, it returns a clone. - * - * It is incumbent on the calling code to release the semaphore directly - * by calling $this->_cleanupSplosTraversal() when the traversal in - * question is complete. (This is very important!) - * - * Only public because it needs to be called from within closures. - * - * @param \SplObjectStorage $splos - * The SPLOS to traverse. - * - * @return \SplObjectStorage - * A SPLOS that is safe for traversal; may or may not be a clone of the - * original. - */ - public function _getTraversableSplos(\SplObjectStorage $splos) { - if ($this->walking->contains($splos)) { - return clone $splos; - } - else { - $this->walking->attach($splos); - return $splos; - } - } - - /** - * Helper function to clean up SPLOSes after finishing traversal. - * - * @param \SplObjectStorage $splos - * The SPLOS to mark as safe for traversal again. - */ - public function _cleanupSplosTraversal(\SplObjectStorage $splos) { - $this->walking->detach($splos); - } -} \ No newline at end of file diff --git a/core/vendor/sdboyer/gliph/src/Gliph/Graph/DirectedAdjacencyList.php b/core/vendor/sdboyer/gliph/src/Gliph/Graph/DirectedAdjacencyList.php deleted file mode 100644 index 443d61ffd40302e69d9e56931bc1a6d19bbb97f8..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/src/Gliph/Graph/DirectedAdjacencyList.php +++ /dev/null @@ -1,130 +0,0 @@ -addVertex($tail)->addVertex($head); - if (!$this->vertices[$tail]->contains($head)) { - $this->size++; - } - - $this->vertices[$tail]->attach($head); - } - - /** - * {@inheritdoc} - */ - public function removeVertex($vertex) { - if (!$this->hasVertex($vertex)) { - throw new NonexistentVertexException('Vertex is not in the graph, it cannot be removed.', E_WARNING); - } - - $this->eachVertex(function($v, $outgoing) use ($vertex) { - if ($outgoing->contains($vertex)) { - $outgoing->detach($vertex); - } - }); - unset($this->vertices[$vertex]); - } - - /** - * {@inheritdoc} - */ - public function removeEdge($tail, $head) { - $this->vertices[$tail]->detach($head); - } - - /** - * {@inheritdoc} - */ - public function eachEdge($callback) { - $edges = array(); - $that = $this; - $this->fev(function ($from, $outgoing) use (&$edges, $that) { - $set = $that->_getTraversableSplos($outgoing); - foreach ($set as $to) { - $edges[] = array($from, $to); - } - $that->_cleanupSplosTraversal($set); - }); - - foreach ($edges as $edge) { - call_user_func($callback, $edge); - } - } - - /** - * {@inheritdoc} - */ - public function transpose() { - $graph = new self(); - $this->eachEdge(function($edge) use (&$graph) { - $graph->addDirectedEdge($edge[1], $edge[0]); - }); - - return $graph; - } - - /** - * {@inheritdoc} - */ - public function isAcyclic() { - // The DepthFirstToposortVisitor throws an exception on cycles. - try { - DepthFirst::traverse($this, new DepthFirstToposortVisitor()); - return TRUE; - } - catch (RuntimeException $e) { - return FALSE; - } - } - - /** - * {@inheritdoc} - */ - public function getCycles() { - $scc = ConnectedComponent::tarjan_scc($this); - return $scc->getConnectedComponents(); - } - - /** - * {@inheritdoc} - */ - public function inDegree($vertex) { - if (!$this->hasVertex($vertex)) { - throw new NonexistentVertexException('Vertex is not in the graph, in-degree information cannot be provided', E_WARNING); - } - - $count = 0; - $this->fev(function ($from, $outgoing) use (&$count, $vertex) { - if ($outgoing->contains($vertex)) { - $count++; - } - }); - - return $count; - } - - /** - * {@inheritdoc} - */ - public function outDegree($vertex) { - if (!$this->hasVertex($vertex)) { - throw new NonexistentVertexException('Vertex is not in the graph, out-degree information cannot be provided', E_WARNING); - } - - return $this->vertices[$vertex]->count(); - } -} - diff --git a/core/vendor/sdboyer/gliph/src/Gliph/Graph/DirectedGraph.php b/core/vendor/sdboyer/gliph/src/Gliph/Graph/DirectedGraph.php deleted file mode 100644 index a4ef20a9d398e0ce608c1489b0713e2bc955dda7..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/src/Gliph/Graph/DirectedGraph.php +++ /dev/null @@ -1,37 +0,0 @@ -addVertex($from)->addVertex($to); - if (!$this->vertices[$from]->contains($to)) { - $this->size++; - } - - $this->vertices[$from]->attach($to); - $this->vertices[$to]->attach($from); - } - - /** - * {@inheritdoc} - */ - public function removeVertex($vertex) { - if (!$this->hasVertex($vertex)) { - throw new NonexistentVertexException('Vertex is not in the graph, it cannot be removed.', E_WARNING); - } - - foreach ($this->vertices[$vertex] as $adjacent) { - $this->vertices[$adjacent]->detach($vertex); - } - unset($this->vertices[$vertex]); - } - - /** - * {@inheritdoc} - */ - public function removeEdge($from, $to) { - $this->vertices[$from]->detach($to); - $this->vertices[$to]->detach($from); - } - - /** - * {@inheritdoc} - */ - public function eachEdge($callback) { - $edges = array(); - $complete = new \SplObjectStorage(); - $that = $this; - $this->fev(function ($a, $adjacent) use (&$edges, &$complete, $that) { - $set = $that->_getTraversableSplos($adjacent); - foreach ($set as $b) { - if (!$complete->contains($b)) { - $edges[] = array($a, $b); - } - } - $that->_cleanupSplosTraversal($set); - $complete->attach($a); - }); - - foreach ($edges as $edge) { - call_user_func($callback, $edge); - } - } - - /** - * {@inheritdoc} - */ - public function inDegree($vertex) { - if (!$this->hasVertex($vertex)) { - throw new NonexistentVertexException('Vertex is not in the graph, in-degree information cannot be provided', E_WARNING); - } - - return $this->vertices[$vertex]->count(); - } - - /** - * {@inheritdoc} - */ - public function outDegree($vertex) { - if (!$this->hasVertex($vertex)) { - throw new NonexistentVertexException('Vertex is not in the graph, out-degree information cannot be provided', E_WARNING); - } - - return $this->vertices[$vertex]->count(); - } -} \ No newline at end of file diff --git a/core/vendor/sdboyer/gliph/src/Gliph/Traversal/DepthFirst.php b/core/vendor/sdboyer/gliph/src/Gliph/Traversal/DepthFirst.php deleted file mode 100644 index 5a0d4dda40b7928306eaf64cb5d9b166f432cdec..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/src/Gliph/Traversal/DepthFirst.php +++ /dev/null @@ -1,136 +0,0 @@ -push($start); - } - - if ($queue->isEmpty()) { - throw new RuntimeException('No start vertex or vertices were provided, and no source vertices could be found in the provided graph.', E_WARNING); - } - - $visiting = new \SplObjectStorage(); - $visited = new \SplObjectStorage(); - - $visitor->beginTraversal(); - - $visit = function($vertex) use ($graph, $visitor, &$visit, $visiting, $visited) { - if ($visiting->contains($vertex)) { - $visitor->onBackEdge($vertex, $visit); - } - else if (!$visited->contains($vertex)) { - $visiting->attach($vertex); - - $visitor->onStartVertex($vertex, $visit); - - $graph->eachAdjacent($vertex, function($to) use ($vertex, &$visit, $visitor) { - $visitor->onExamineEdge($vertex, $to, $visit); - $visit($to); - }); - - $visitor->onFinishVertex($vertex, $visit); - - $visiting->detach($vertex); - $visited->attach($vertex); - } - }; - - while (!$queue->isEmpty()) { - $vertex = $queue->shift(); - $visit($vertex); - } - - $visitor->endTraversal(); - } - - /** - * Finds source vertices in a DirectedGraph, then enqueues them. - * - * @param DirectedGraph $graph - * @param DepthFirstVisitorInterface $visitor - * - * @return \SplQueue - */ - public static function find_sources(DirectedGraph $graph, DepthFirstVisitorInterface $visitor) { - $incomings = new \SplObjectStorage(); - $queue = new \SplQueue(); - - $graph->eachEdge(function ($edge) use (&$incomings) { - if (!isset($incomings[$edge[1]])) { - $incomings[$edge[1]] = new \SplObjectStorage(); - } - $incomings[$edge[1]]->attach($edge[0]); - }); - - // Prime the queue with vertices that have no incoming edges. - $graph->eachVertex(function($vertex) use ($queue, $incomings, $visitor) { - if (!$incomings->contains($vertex)) { - $queue->push($vertex); - // TRUE second param indicates source vertex - $visitor->onInitializeVertex($vertex, TRUE, $queue); - } - else { - $visitor->onInitializeVertex($vertex, FALSE, $queue); - } - }); - - return $queue; - } - - /** - * Performs a topological sort on the provided graph. - * - * @param DirectedGraph $graph - * @param object|\SplDoublyLinkedList $start - * The starting point(s) for the toposort. @see DepthFirst::traverse() - * - * @return array - * A valid topologically sorted list for the provided graph. - */ - public static function toposort(DirectedGraph $graph, $start = NULL) { - $visitor = new DepthFirstToposortVisitor(); - self::traverse($graph, $visitor, $start); - - return $visitor->getTsl(); - } -} \ No newline at end of file diff --git a/core/vendor/sdboyer/gliph/src/Gliph/Visitor/DepthFirstBasicVisitor.php b/core/vendor/sdboyer/gliph/src/Gliph/Visitor/DepthFirstBasicVisitor.php deleted file mode 100644 index c6d0aa98a8aa9a6c309c8aa6fad29fe2381b3a44..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/src/Gliph/Visitor/DepthFirstBasicVisitor.php +++ /dev/null @@ -1,92 +0,0 @@ -active = new \SplObjectStorage(); - $this->paths = new \SplObjectStorage(); - } - - public function onInitializeVertex($vertex, $source, \SplQueue $queue) { - parent::onInitializeVertex($vertex, $source, $queue); - - $this->paths[$vertex] = array(); - } - - public function onStartVertex($vertex, \Closure $visit) { - parent::onStartVertex($vertex, $visit); - - $this->active->attach($vertex); - if (!isset($this->paths[$vertex])) { - $this->paths[$vertex] = array(); - } - } - - public function onExamineEdge($from, $to, \Closure $visit) { - parent::onExamineEdge($from, $to, $visit); - - foreach ($this->active as $vertex) { - // TODO this check makes this less efficient - find a better algo - if (!in_array($to, $this->paths[$vertex], TRUE)) { - $path = $this->paths[$vertex]; - $path[] = $to; - $this->paths[$vertex] = $path; - } - } - } - - public function onFinishVertex($vertex, \Closure $visit) { - parent::onFinishVertex($vertex, $visit); - - $this->active->detach($vertex); - } - - /** - * Returns an array of all vertices reachable from the given vertex. - * - * @param object $vertex - * The vertex for which reachability data is desired. - * - * @return array|bool - * An array of reachable vertices, or FALSE if the vertex could not be - * found in the reachability data. Note that an empty array will be - * returned for vertices that zero reachable vertices. This is a different - * from FALSE, so the identity operator (===) should be used to verify - * returns. - * - * @throws WrongVisitorStateException - * Thrown if reachability data is requested before the traversal algorithm - * completes. - */ - public function getReachable($vertex) { - if ($this->getState() !== self::COMPLETE) { - throw new WrongVisitorStateException('Correct reachability data cannot be retrieved until traversal is complete.'); - } - - if (!isset($this->paths[$vertex])) { - return FALSE; - } - - return $this->paths[$vertex]; - } -} \ No newline at end of file diff --git a/core/vendor/sdboyer/gliph/src/Gliph/Visitor/DepthFirstNoOpVisitor.php b/core/vendor/sdboyer/gliph/src/Gliph/Visitor/DepthFirstNoOpVisitor.php deleted file mode 100644 index a61709bf629fa9747846b60f003bf22bde36bb93..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/src/Gliph/Visitor/DepthFirstNoOpVisitor.php +++ /dev/null @@ -1,18 +0,0 @@ -tsl = array(); - } - - public function onFinishVertex($vertex, \Closure $visit) { - $this->tsl[] = $vertex; - } - - /** - * Returns a valid topological sort of the visited graph as an array. - * - * @return array - * - * @throws WrongVisitorStateException - * Thrown if called before traversal is complete. - */ - public function getTsl() { - if ($this->getState() !== self::COMPLETE) { - throw new WrongVisitorStateException('Topologically sorted list cannot be retrieved until traversal is complete.'); - } - - return $this->tsl; - } -} \ No newline at end of file diff --git a/core/vendor/sdboyer/gliph/src/Gliph/Visitor/DepthFirstVisitorInterface.php b/core/vendor/sdboyer/gliph/src/Gliph/Visitor/DepthFirstVisitorInterface.php deleted file mode 100644 index ae4f388e8b91c53127798bd175a764bb86ce5177..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/src/Gliph/Visitor/DepthFirstVisitorInterface.php +++ /dev/null @@ -1,13 +0,0 @@ -getState() != self::IN_PROGRESS) { - throw new WrongVisitorStateException('Cannot end traversal, visitor is not marked as currently being in progress.'); - } - $this->state = self::COMPLETE; - } - - public function getState() { - return $this->state; - } -} \ No newline at end of file diff --git a/core/vendor/sdboyer/gliph/src/Gliph/Visitor/StatefulDepthFirstVisitor.php b/core/vendor/sdboyer/gliph/src/Gliph/Visitor/StatefulDepthFirstVisitor.php deleted file mode 100644 index 7c2de15a9aef8b28df9d1c256e7041cccf28253d..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/src/Gliph/Visitor/StatefulDepthFirstVisitor.php +++ /dev/null @@ -1,78 +0,0 @@ -state != self::NOT_STARTED) { - throw new WrongVisitorStateException('Vertex initialization should only happen before traversal has begun.'); - } - } - - public function beginTraversal() { - if ($this->state != self::NOT_STARTED) { - throw new WrongVisitorStateException('Traversal has already begun; cannot begin twice.'); - } - $this->state = self::IN_PROGRESS; - } - - public function onBackEdge($vertex, \Closure $visit) { - if ($this->state != self::IN_PROGRESS) { - throw new WrongVisitorStateException('onBackEdge should only be called while traversal is in progress.'); - } - } - - public function onStartVertex($vertex, \Closure $visit) { - if ($this->state != self::IN_PROGRESS) { - throw new WrongVisitorStateException('onStartVertex should only be called while traversal is in progress.'); - } - } - - public function onExamineEdge($from, $to, \Closure $visit) { - if ($this->state != self::IN_PROGRESS) { - throw new WrongVisitorStateException('onExamineEdge should only be called while traversal is in progress.'); - } - } - - public function onFinishVertex($vertex, \Closure $visit) { - if ($this->state != self::IN_PROGRESS) { - throw new WrongVisitorStateException('onFinishVertex should only be called while traversal is in progress.'); - } - } - - public function endTraversal() { - if ($this->state != self::IN_PROGRESS) { - throw new WrongVisitorStateException('Cannot end traversal; no traversal is currently in progress.'); - } - $this->state = self::COMPLETE; - } - - /** - * {@inheritdoc} - */ - public function getState() { - return $this->state; - } -} \ No newline at end of file diff --git a/core/vendor/sdboyer/gliph/src/Gliph/Visitor/StatefulVisitorInterface.php b/core/vendor/sdboyer/gliph/src/Gliph/Visitor/StatefulVisitorInterface.php deleted file mode 100644 index b73c5c0fff5f2269c8a410bda082b2b42048a82c..0000000000000000000000000000000000000000 --- a/core/vendor/sdboyer/gliph/src/Gliph/Visitor/StatefulVisitorInterface.php +++ /dev/null @@ -1,23 +0,0 @@ -currentComponent); - $this->currentComponent = array(); - $this->components[] = &$this->currentComponent; - } - - public function addToCurrentComponent($vertex) { - $this->currentComponent[] = $vertex; - } - - public function getComponents() { - return $this->components; - } - - public function getConnectedComponents() { - // TODO make this less stupid - return array_values(array_filter($this->components, function($component) { - return count($component) > 1; - })); - } -} \ No newline at end of file