From 9d8c575b85e7800cd0e6a1ca29a21df009f763e7 Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Mon, 11 Nov 2013 13:48:57 -0800 Subject: [PATCH 01/26] Use named route --- app/routes.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/routes.php b/app/routes.php index 420bcee..ced03cc 100644 --- a/app/routes.php +++ b/app/routes.php @@ -11,4 +11,4 @@ | */ -Route::get('/', 'SplashController@splash'); +Route::get('/', array ('as' => 'home', 'uses' => 'SplashController@splash')); From a29af1f35b4023f3b628018e12ae7d27ad30390f Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Mon, 11 Nov 2013 13:49:23 -0800 Subject: [PATCH 02/26] Composer update --- composer.lock | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/composer.lock b/composer.lock index 86486dc..8aae1c4 100644 --- a/composer.lock +++ b/composer.lock @@ -1003,12 +1003,12 @@ "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "a5010756d905264ea2b3f7f27c7df22fb9a3bd8e" + "reference": "eea4d089e70b082a037c57e9e0e35225368f97da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/a5010756d905264ea2b3f7f27c7df22fb9a3bd8e", - "reference": "a5010756d905264ea2b3f7f27c7df22fb9a3bd8e", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/eea4d089e70b082a037c57e9e0e35225368f97da", + "reference": "eea4d089e70b082a037c57e9e0e35225368f97da", "shasum": "" }, "require": { @@ -1019,14 +1019,16 @@ "doctrine/couchdb": "dev-master", "mlehner/gelf-php": "1.0.*", "phpunit/phpunit": "~3.7.0", - "raven/raven": "0.5.*" + "raven/raven": "0.5.*", + "ruflin/elastica": "0.90.*" }, "suggest": { "doctrine/couchdb": "Allow sending log messages to a CouchDB server", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", "ext-mongo": "Allow sending log messages to a MongoDB server", "mlehner/gelf-php": "Allow sending log messages to a GrayLog2 server", - "raven/raven": "Allow sending log messages to a Sentry server" + "raven/raven": "Allow sending log messages to a Sentry server", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, "type": "library", "extra": { @@ -1058,7 +1060,7 @@ "logging", "psr-3" ], - "time": "2013-11-04 08:48:35" + "time": "2013-11-11 21:23:23" }, { "name": "nesbot/carbon", @@ -2143,12 +2145,12 @@ "source": { "type": "git", "url": "https://github.com/fabpot/Twig.git", - "reference": "cf21274a00b402d9b54b7478bedb040ce6befc56" + "reference": "10da58c83b13d6f800aebb72b515c1134d75f2af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fabpot/Twig/zipball/cf21274a00b402d9b54b7478bedb040ce6befc56", - "reference": "cf21274a00b402d9b54b7478bedb040ce6befc56", + "url": "https://api.github.com/repos/fabpot/Twig/zipball/10da58c83b13d6f800aebb72b515c1134d75f2af", + "reference": "10da58c83b13d6f800aebb72b515c1134d75f2af", "shasum": "" }, "require": { @@ -2184,7 +2186,7 @@ "keywords": [ "templating" ], - "time": "2013-11-06 10:15:23" + "time": "2013-11-11 19:04:42" } ], "packages-dev": [ @@ -2619,12 +2621,12 @@ "source": { "type": "git", "url": "https://github.com/fabpot/Goutte.git", - "reference": "6db1a02449c82f5d7957c5be9d43389306b7468e" + "reference": "cff6881c93791edbfef88928ca6b1dfcf60d3273" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fabpot/Goutte/zipball/6db1a02449c82f5d7957c5be9d43389306b7468e", - "reference": "6db1a02449c82f5d7957c5be9d43389306b7468e", + "url": "https://api.github.com/repos/fabpot/Goutte/zipball/cff6881c93791edbfef88928ca6b1dfcf60d3273", + "reference": "cff6881c93791edbfef88928ca6b1dfcf60d3273", "shasum": "" }, "require": { @@ -2667,7 +2669,7 @@ "keywords": [ "scraper" ], - "time": "2013-10-31 08:53:55" + "time": "2013-11-11 19:09:12" }, { "name": "facebook/webdriver", From 7ac3c76fb58ead94044b1b983eb9d2c74fc5a1a9 Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Tue, 12 Nov 2013 09:47:24 -0800 Subject: [PATCH 03/26] Rename base layout to be a Blade template --- app/views/{base.twig => base.blade.php} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/views/{base.twig => base.blade.php} (100%) diff --git a/app/views/base.twig b/app/views/base.blade.php similarity index 100% rename from app/views/base.twig rename to app/views/base.blade.php From f38f13be37ce68ca07256e9bee6c9488cf5c30aa Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Tue, 12 Nov 2013 09:57:36 -0800 Subject: [PATCH 04/26] Move base view to layout section --- app/views/{base.blade.php => layout/main.blade.php} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/views/{base.blade.php => layout/main.blade.php} (100%) diff --git a/app/views/base.blade.php b/app/views/layout/main.blade.php similarity index 100% rename from app/views/base.blade.php rename to app/views/layout/main.blade.php From 469d4d297919b4e0c9f1b248be2fb11a699eb11b Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Tue, 12 Nov 2013 12:58:23 -0800 Subject: [PATCH 05/26] Rename splash view to Blade template --- app/views/{splash.twig => splash.blade.php} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename app/views/{splash.twig => splash.blade.php} (95%) diff --git a/app/views/splash.twig b/app/views/splash.blade.php similarity index 95% rename from app/views/splash.twig rename to app/views/splash.blade.php index 34ebc67..02f4937 100644 --- a/app/views/splash.twig +++ b/app/views/splash.blade.php @@ -8,4 +8,4 @@

{{ config('project.name.full')|default('Untitled Project') }}

{{ config('project.name.full')|default('Untitled Project') }} is planted and sprouted. Now let's get growing!

-{% endblock content %} \ No newline at end of file +{% endblock content %} From 3d1a85089cf4d0303303ecbf6943bc4ce89dec51 Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Tue, 12 Nov 2013 13:28:24 -0800 Subject: [PATCH 06/26] Alas, Twig templates are not fitting as well into my workflow as I had hoped. --- app/config/app.php | 1 - .../packages/rcrowe/twigbridge/config.php | 149 ------------------ app/views/layout/main.blade.php | 29 ++-- app/views/splash.blade.php | 12 +- composer.json | 1 - composer.lock | 131 ++------------- 6 files changed, 38 insertions(+), 285 deletions(-) delete mode 100644 app/config/packages/rcrowe/twigbridge/config.php diff --git a/app/config/app.php b/app/config/app.php index 3b5890d..e78cfbf 100644 --- a/app/config/app.php +++ b/app/config/app.php @@ -101,7 +101,6 @@ 'Illuminate\Validation\ValidationServiceProvider', 'Illuminate\View\ViewServiceProvider', 'Illuminate\Workbench\WorkbenchServiceProvider', - 'TwigBridge\TwigServiceProvider', 'Bootstrapper\BootstrapperServiceProvider', /* Development service providers */ 'Juy\Profiler\Providers\ProfilerServiceProvider', diff --git a/app/config/packages/rcrowe/twigbridge/config.php b/app/config/packages/rcrowe/twigbridge/config.php deleted file mode 100644 index d613f70..0000000 --- a/app/config/packages/rcrowe/twigbridge/config.php +++ /dev/null @@ -1,149 +0,0 @@ - 'twig', - /* - |-------------------------------------------------------------------------- - | Delimiters - |-------------------------------------------------------------------------- - | - | Change the block delimiter tags. - | - */ - 'delimiters' => array( - 'tag_comment' => array('{#', '#}'), - 'tag_block' => array('{%', '%}'), - 'tag_variable' => array('{{', '}}'), - ), - /* - |-------------------------------------------------------------------------- - | Accepts all Twig environment configuration options - |-------------------------------------------------------------------------- - | - | http://twig.sensiolabs.org/doc/api.html#environment-options - | - */ - 'twig' => array( - // When set to true, the generated templates have a __toString() method - // that you can use to display the generated nodes. - // default: false - 'debug' => false, - // The charset used by the templates. - // default: utf-8 - 'charset' => 'utf-8', - // The base template class to use for generated templates. - // default: TwigBridge\Twig\Template - 'base_template_class' => 'TwigBridge\Twig\Template', - // An absolute path where to store the compiled templates, or false to disable caching. If null - // then the cache file path is used. - // default: cache file storage path - 'cache' => null, - // When developing with Twig, it's useful to recompile the template - // whenever the source code changes. If you don't provide a value - // for the auto_reload option, it will be determined automatically based on the debug value. - 'auto_reload' => true, - // If set to false, Twig will silently ignore invalid variables - // (variables and or attributes/methods that do not exist) and - // replace them with a null value. When set to true, Twig throws an exception instead. - // default: false - 'strict_variables' => false, - // If set to true, auto-escaping will be enabled by default for all templates. - // default: true - 'autoescape' => true, - // A flag that indicates which optimizations to apply - // (default to -1 -- all optimizations are enabled; set it to 0 to disable) - 'optimizations' => -1, - ), - /* - |-------------------------------------------------------------------------- - | Extensions - |-------------------------------------------------------------------------- - | - | List of Twig extensions that are made available to your Twig templates. - | Supports string or closure. - | NOTE: If you change this, make sure you clear your cache - | - */ - 'extensions' => array( - 'Twig_Extension_Debug', - 'TwigBridge\Extensions\AliasLoader', - 'TwigBridge\Extensions\HelperLoader', - ), - /* - |-------------------------------------------------------------------------- - | Functions - |-------------------------------------------------------------------------- - | - | Functions that are made available to your Twig templates. - | Supports `string` or `closure`. - | - */ - 'functions' => array( - // URLs - 'route', - 'action', - 'asset', - 'url', - 'link_to', - 'link_to_asset', - 'link_to_route', - 'link_to_action', - 'secure_asset', - 'secure_url', - // Translation - 'trans', - 'trans_choice', - // Miscellaneous - 'csrf_token', - ), - /* - |-------------------------------------------------------------------------- - | Filters - |-------------------------------------------------------------------------- - | - | Filters that are made available to your Twig templates. - | Supports `string` or `closure`. - | - */ - 'filters' => array( - // Strings - 'camel_case', - 'snake_case', - 'studly_case', - 'str_finish', - 'str_plural', - 'str_singular' - ), - /* - |-------------------------------------------------------------------------- - | Alias shortcuts - |-------------------------------------------------------------------------- - | - | Call these shortcuts in your Twig files. A shortcut is always a shortcut - | to an alias. - | - */ - 'alias_shortcuts' => array( - 'config' => 'config_get', - 'lang' => 'lang_get', - 'logged_in' => 'auth_check', - ), - /* - |-------------------------------------------------------------------------- - | Global variables - |-------------------------------------------------------------------------- - | - | These will always be passed in and can be accessed as Twig variables. - | NOTE: these will be overwritten if you pass data into the view with the same key. - | - */ - 'globals' => array(), -); diff --git a/app/views/layout/main.blade.php b/app/views/layout/main.blade.php index 791042d..61b892f 100644 --- a/app/views/layout/main.blade.php +++ b/app/views/layout/main.blade.php @@ -3,41 +3,42 @@ - {% block title %}{% endblock %} - {{ config('project.name.short')|default('Project') }} - + {{{ $pageTitle }}} - {{{ Config::get('project.name.short', 'Project') }}} + - {% block stylesheets %} - {% endblock %} - {{ navbar_inverse([],constant('Navbar::FIX_TOP')) - .with_brand(config('project.name.short')|default('Project'), url('/')) - .with_menus(Navigation_links( - [['Home', url('/'), null, null, null, 'home']] - )).collapsible()|raw }} + with_brand(Config::get('project.name.short', 'Project'), url('/')) + ->with_menus(Navigation::links(array( + array('Home', url('/'), null, null, null, 'home') + ))) + ->collapsible(); - {% block content %} - {% endblock content %} + ?> + + @yield('content')

-

Copyright © {{ 'now'|date('Y') }} {{ config('project.copyrightHolder') }}

+

Copyright © {{ date('Y') }} {{{ Config::get('project.copyrightHolder') }}}

Sprout image by Bruno Maia, IconTexto

+ @section('scripts') - {% block scripts %} - {% endblock %} + @show diff --git a/app/views/splash.blade.php b/app/views/splash.blade.php index 02f4937..1b7df74 100644 --- a/app/views/splash.blade.php +++ b/app/views/splash.blade.php @@ -1,11 +1,11 @@ -{% extends "base.twig" %} +@extends('layout.main') -{% block title %}Seeded{% endblock title %} + -{% block content %} +@section('content')

Sprouted plant

-

{{ config('project.name.full')|default('Untitled Project') }}

-

{{ config('project.name.full')|default('Untitled Project') }} is planted and sprouted. Now let's get growing!

+

{{ Config::get('project.name.full', 'Untitled Project') }}

+

{{ Config::get('project.name.full', 'Untitled Project') }} is planted and sprouted. Now let's get growing!

-{% endblock content %} +@stop diff --git a/composer.json b/composer.json index 83a98cd..c5bb738 100644 --- a/composer.json +++ b/composer.json @@ -6,7 +6,6 @@ "type": "project", "require": { "php": ">=5.4.0", - "rcrowe/twigbridge": "0.5.*", "patricktalmadge/bootstrapper": "dev-develop", "laravel/framework": "4.0.9" }, diff --git a/composer.lock b/composer.lock index 8aae1c4..8a3c93c 100644 --- a/composer.lock +++ b/composer.lock @@ -3,7 +3,7 @@ "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": "2f3f8203e4ecb08f97b5a78814253bba", + "hash": "902e0f2238f598ab9e4d1dad45e15ccc", "packages": [ { "name": "anahkiasen/html-object", @@ -422,12 +422,12 @@ "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "9efdbcebea17506fb1cdb6b4687c23a6786d2e6b" + "reference": "c3448dc0a163becd5acb50199049996c53cade78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/9efdbcebea17506fb1cdb6b4687c23a6786d2e6b", - "reference": "9efdbcebea17506fb1cdb6b4687c23a6786d2e6b", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/c3448dc0a163becd5acb50199049996c53cade78", + "reference": "c3448dc0a163becd5acb50199049996c53cade78", "shasum": "" }, "require": { @@ -455,7 +455,8 @@ { "name": "Jonathan Wage", "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/" + "homepage": "http://www.jwage.com/", + "role": "Creator" }, { "name": "Guilherme Blanco", @@ -479,7 +480,7 @@ "persistence", "queryobject" ], - "time": "2013-09-26 21:18:07" + "time": "2013-11-12 12:38:29" }, { "name": "doctrine/inflector", @@ -1003,12 +1004,12 @@ "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "eea4d089e70b082a037c57e9e0e35225368f97da" + "reference": "516447f91312924c63fafd8e6083f28013dd03d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/eea4d089e70b082a037c57e9e0e35225368f97da", - "reference": "eea4d089e70b082a037c57e9e0e35225368f97da", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/516447f91312924c63fafd8e6083f28013dd03d9", + "reference": "516447f91312924c63fafd8e6083f28013dd03d9", "shasum": "" }, "require": { @@ -1016,6 +1017,7 @@ "psr/log": "~1.0" }, "require-dev": { + "aws/aws-sdk-php": "~2.4.8", "doctrine/couchdb": "dev-master", "mlehner/gelf-php": "1.0.*", "phpunit/phpunit": "~3.7.0", @@ -1023,6 +1025,7 @@ "ruflin/elastica": "0.90.*" }, "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", "doctrine/couchdb": "Allow sending log messages to a CouchDB server", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", "ext-mongo": "Allow sending log messages to a MongoDB server", @@ -1060,7 +1063,7 @@ "logging", "psr-3" ], - "time": "2013-11-11 21:23:23" + "time": "2013-11-11 22:14:57" }, { "name": "nesbot/carbon", @@ -1342,57 +1345,6 @@ ], "time": "2012-12-21 11:40:51" }, - { - "name": "rcrowe/twigbridge", - "version": "0.5.2", - "source": { - "type": "git", - "url": "https://github.com/rcrowe/TwigBridge.git", - "reference": "fdc2b42a3230c725412c3aff4cf0eb0fa2209732" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rcrowe/TwigBridge/zipball/fdc2b42a3230c725412c3aff4cf0eb0fa2209732", - "reference": "fdc2b42a3230c725412c3aff4cf0eb0fa2209732", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "twig/twig": "1.*" - }, - "require-dev": { - "illuminate/filesystem": "4.0.*", - "illuminate/foundation": "4.0.*", - "mockery/mockery": "0.7.2" - }, - "suggest": { - "twig/extensions": "1.0.*" - }, - "type": "library", - "autoload": { - "psr-0": { - "TwigBridge": "src/", - "TwigBridgeTests": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Rob Crowe", - "email": "hello@vivalacrowe.com", - "homepage": "http://vivalacrowe.com" - } - ], - "description": "Adds the power of Twig to Illuminate / Laravel 4", - "keywords": [ - "laravel", - "twig" - ], - "time": "2013-09-22 15:52:44" - }, { "name": "swiftmailer/swiftmailer", "version": "v5.0.2", @@ -2138,55 +2090,6 @@ "description": "Symfony Translation Component", "homepage": "http://symfony.com", "time": "2013-10-10 13:12:30" - }, - { - "name": "twig/twig", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/fabpot/Twig.git", - "reference": "10da58c83b13d6f800aebb72b515c1134d75f2af" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fabpot/Twig/zipball/10da58c83b13d6f800aebb72b515c1134d75f2af", - "reference": "10da58c83b13d6f800aebb72b515c1134d75f2af", - "shasum": "" - }, - "require": { - "php": ">=5.2.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.15-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org", - "keywords": [ - "templating" - ], - "time": "2013-11-11 19:04:42" } ], "packages-dev": [ @@ -3010,12 +2913,12 @@ "source": { "type": "git", "url": "https://github.com/padraic/mockery.git", - "reference": "7c0f01b0d88f8c4b56281043a0a572bfe0b3d7f3" + "reference": "23ca1a274fb8fd175101574ac81cd1b82f3d0489" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/padraic/mockery/zipball/7c0f01b0d88f8c4b56281043a0a572bfe0b3d7f3", - "reference": "7c0f01b0d88f8c4b56281043a0a572bfe0b3d7f3", + "url": "https://api.github.com/repos/padraic/mockery/zipball/23ca1a274fb8fd175101574ac81cd1b82f3d0489", + "reference": "23ca1a274fb8fd175101574ac81cd1b82f3d0489", "shasum": "" }, "require": { @@ -3056,7 +2959,7 @@ "test double", "testing" ], - "time": "2013-11-08 14:43:01" + "time": "2013-11-12 11:09:16" }, { "name": "phpdocumentor/reflection-docblock", From f1fb65cb268118dacf304baa25c42a14f3d415dc Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Thu, 2 Jan 2014 15:41:17 -0800 Subject: [PATCH 07/26] Update Laravel version --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index c5bb738..d290a51 100644 --- a/composer.json +++ b/composer.json @@ -7,7 +7,7 @@ "require": { "php": ">=5.4.0", "patricktalmadge/bootstrapper": "dev-develop", - "laravel/framework": "4.0.9" + "laravel/framework": "4.1.*@stable" }, "require-dev": { "way/laravel-test-helpers": "dev-master", From af7d13d7ba23f8ac31adf0c3f6187715c6fe5006 Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Thu, 2 Jan 2014 15:54:04 -0800 Subject: [PATCH 08/26] Add support for PhpStorm IDE --- .idea/.name | 1 + .../frameworkDescriptionVersion1.1.3.xsd | 46 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 .idea/.name create mode 100644 .idea/commandlinetools/schemas/frameworkDescriptionVersion1.1.3.xsd diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..e887412 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +laravel-seed \ No newline at end of file diff --git a/.idea/commandlinetools/schemas/frameworkDescriptionVersion1.1.3.xsd b/.idea/commandlinetools/schemas/frameworkDescriptionVersion1.1.3.xsd new file mode 100644 index 0000000..431f7f9 --- /dev/null +++ b/.idea/commandlinetools/schemas/frameworkDescriptionVersion1.1.3.xsd @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b9f0f8ea7799a083bfa0e19e6a237743339ff6d4 Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Thu, 2 Jan 2014 16:11:28 -0800 Subject: [PATCH 09/26] Change the name of the development environment to be more like the Git branch name --- app/start/{development.php => develop.php} | 0 bootstrap/start.php | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) rename app/start/{development.php => develop.php} (100%) diff --git a/app/start/development.php b/app/start/develop.php similarity index 100% rename from app/start/development.php rename to app/start/develop.php diff --git a/bootstrap/start.php b/bootstrap/start.php index faec99d..0a322d4 100644 --- a/bootstrap/start.php +++ b/bootstrap/start.php @@ -27,9 +27,9 @@ */ $env = $app->detectEnvironment(array( - 'development' => array('*.dev', 'ELaptop'), - 'testing' => array('localhost', '*travis-ci*'), - )); + 'develop' => array('*.dev', 'ELaptop'), + 'testing' => array('localhost', '*travis-ci*'), +)); /* |-------------------------------------------------------------------------- From 6ec3c42ac58cf01544a2d9ebcb441319005c61f0 Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Thu, 2 Jan 2014 16:12:35 -0800 Subject: [PATCH 10/26] Add SQLite database for development --- app/config/develop/database.php | 12 ++++++++++++ app/database/develop.sqlite | 0 2 files changed, 12 insertions(+) create mode 100644 app/config/develop/database.php create mode 100644 app/database/develop.sqlite diff --git a/app/config/develop/database.php b/app/config/develop/database.php new file mode 100644 index 0000000..df79d62 --- /dev/null +++ b/app/config/develop/database.php @@ -0,0 +1,12 @@ + 'sqlite', + 'connections' => array( + 'sqlite' => array( + 'driver' => 'sqlite', + 'database' => __DIR__.'/../../database/develop.sqlite', + 'prefix' => '', + ), + ), +); diff --git a/app/database/develop.sqlite b/app/database/develop.sqlite new file mode 100644 index 0000000..e69de29 From 06a3cffbd656d92bfa52383aec8811b81b8d0eac Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Thu, 2 Jan 2014 16:15:13 -0800 Subject: [PATCH 11/26] composer update --- composer.lock | 2609 +++++++++++++++++++++++++------------------------ 1 file changed, 1345 insertions(+), 1264 deletions(-) diff --git a/composer.lock b/composer.lock index 8a3c93c..a94f0fb 100644 --- a/composer.lock +++ b/composer.lock @@ -3,7 +3,7 @@ "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": "902e0f2238f598ab9e4d1dad45e15ccc", + "hash": "e85c79546d1d4b4f6b7cc9d3d1b25538", "packages": [ { "name": "anahkiasen/html-object", @@ -11,12 +11,12 @@ "source": { "type": "git", "url": "https://github.com/Anahkiasen/html-object.git", - "reference": "bb57e95132c794510abbd5712ca04075f2e03f3b" + "reference": "2c6cdc6368d19ac42357f7ae17bd99652a1916e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Anahkiasen/html-object/zipball/bb57e95132c794510abbd5712ca04075f2e03f3b", - "reference": "bb57e95132c794510abbd5712ca04075f2e03f3b", + "url": "https://api.github.com/repos/Anahkiasen/html-object/zipball/2c6cdc6368d19ac42357f7ae17bd99652a1916e4", + "reference": "2c6cdc6368d19ac42357f7ae17bd99652a1916e4", "shasum": "" }, "require": { @@ -34,12 +34,12 @@ ], "authors": [ { - "name": "Maxime Fabre", + "name": "Anahkiasen", "email": "ehtnam6@gmail.com" } ], "description": "A set of classes to create and manipulate HTML objects abstractions", - "time": "2013-11-05 17:40:28" + "time": "2013-11-19 15:20:02" }, { "name": "anahkiasen/underscore-php", @@ -47,12 +47,12 @@ "source": { "type": "git", "url": "https://github.com/Anahkiasen/underscore-php.git", - "reference": "049a491701a2ee1c15f82f4c502bbe87671d1619" + "reference": "735759486fa1128420d601065dc6f7af07d6b8cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Anahkiasen/underscore-php/zipball/049a491701a2ee1c15f82f4c502bbe87671d1619", - "reference": "049a491701a2ee1c15f82f4c502bbe87671d1619", + "url": "https://api.github.com/repos/Anahkiasen/underscore-php/zipball/735759486fa1128420d601065dc6f7af07d6b8cb", + "reference": "735759486fa1128420d601065dc6f7af07d6b8cb", "shasum": "" }, "require": { @@ -82,7 +82,7 @@ "laravel", "toolkit" ], - "time": "2013-07-15 09:18:39" + "time": "2013-12-14 14:27:47" }, { "name": "classpreloader/classpreloader", @@ -132,109 +132,64 @@ "time": "2013-06-24 22:58:34" }, { - "name": "doctrine/annotations", - "version": "v1.1.2", + "name": "d11wtq/boris", + "version": "v1.0.6", "source": { "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "v1.1.2" + "url": "https://github.com/d11wtq/boris.git", + "reference": "7db59be30dad2e6f902db348e21a939215fbd967" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/v1.1.2", - "reference": "v1.1.2", + "url": "https://api.github.com/repos/d11wtq/boris/zipball/7db59be30dad2e6f902db348e21a939215fbd967", + "reference": "7db59be30dad2e6f902db348e21a939215fbd967", "shasum": "" }, "require": { - "doctrine/lexer": "1.*", - "php": ">=5.3.2" + "php": ">=5.3.0" }, - "require-dev": { - "doctrine/cache": "1.*" + "suggest": { + "ext-pcntl": "*", + "ext-posix": "*", + "ext-readline": "*" }, + "bin": [ + "bin/boris" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "autoload": { "psr-0": { - "Doctrine\\Common\\Annotations\\": "lib/" + "Boris": "lib" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "http://jmsyst.com", - "role": "Developer of wrapped JMSSerializerBundle" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "time": "2013-06-16 21:33:03" + "time": "2013-11-18 12:13:16" }, { - "name": "doctrine/cache", - "version": "v1.3.0", + "name": "filp/whoops", + "version": "1.0.10", "source": { "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "e16d7adf45664a50fa86f515b6d5e7f670130449" + "url": "https://github.com/filp/whoops.git", + "reference": "91e3fd4b0812017ffbeb24add55330664e1ea32a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/e16d7adf45664a50fa86f515b6d5e7f670130449", - "reference": "e16d7adf45664a50fa86f515b6d5e7f670130449", + "url": "https://api.github.com/repos/filp/whoops/zipball/91e3fd4b0812017ffbeb24add55330664e1ea32a", + "reference": "91e3fd4b0812017ffbeb24add55330664e1ea32a", "shasum": "" }, "require": { - "php": ">=5.3.2" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" + "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": ">=3.7", - "satooshi/php-coveralls": "~0.6" + "mockery/mockery": "dev-master", + "silex/silex": "1.0.*@dev" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "autoload": { "psr-0": { - "Doctrine\\Common\\Cache\\": "lib/" + "Whoops": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -243,65 +198,43 @@ ], "authors": [ { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "http://jmsyst.com", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" } ], - "description": "Caching library offering an object-oriented API for many cache backends", - "homepage": "http://www.doctrine-project.org", + "description": "php error handling for cool kids", + "homepage": "https://github.com/filp/whoops", "keywords": [ - "cache", - "caching" + "error", + "exception", + "handling", + "library", + "silex-provider", + "whoops", + "zf2" ], - "time": "2013-10-25 19:04:14" + "time": "2013-12-04 14:19:30" }, { - "name": "doctrine/collections", - "version": "dev-master", + "name": "ircmaxell/password-compat", + "version": "1.0.x-dev", "source": { "type": "git", - "url": "https://github.com/doctrine/collections.git", - "reference": "bcb53776a096a0c64579cc8d8ec0db62f1109fbc" + "url": "https://github.com/ircmaxell/password_compat.git", + "reference": "1fc1521b5e9794ea77e4eca30717be9635f1d4f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/bcb53776a096a0c64579cc8d8ec0db62f1109fbc", - "reference": "bcb53776a096a0c64579cc8d8ec0db62f1109fbc", + "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/1fc1521b5e9794ea77e4eca30717be9635f1d4f4", + "reference": "1fc1521b5e9794ea77e4eca30717be9635f1d4f4", "shasum": "" }, - "require": { - "php": ">=5.3.2" - }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, "autoload": { - "psr-0": { - "Doctrine\\Common\\Collections\\": "lib/" - } + "files": [ + "lib/password.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -309,70 +242,44 @@ ], "authors": [ { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "http://jmsyst.com", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Anthony Ferrara", + "email": "ircmaxell@php.net", + "homepage": "http://blog.ircmaxell.com" } ], - "description": "Collections Abstraction library", - "homepage": "http://www.doctrine-project.org", + "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", + "homepage": "https://github.com/ircmaxell/password_compat", "keywords": [ - "array", - "collections", - "iterator" + "hashing", + "password" ], - "time": "2013-08-29 16:56:45" + "time": "2013-04-30 19:58:08" }, { - "name": "doctrine/common", - "version": "dev-master", + "name": "jeremeamia/SuperClosure", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/doctrine/common.git", - "reference": "d9dea98243c733ff589aab10e321de4f14a63ab4" + "url": "https://github.com/jeremeamia/super_closure.git", + "reference": "d05400085f7d4ae6f20ba30d36550836c0d061e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/d9dea98243c733ff589aab10e321de4f14a63ab4", - "reference": "d9dea98243c733ff589aab10e321de4f14a63ab4", + "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/d05400085f7d4ae6f20ba30d36550836c0d061e8", + "reference": "d05400085f7d4ae6f20ba30d36550836c0d061e8", "shasum": "" }, "require": { - "doctrine/annotations": "1.*", - "doctrine/cache": "1.*", - "doctrine/collections": "1.*", - "doctrine/inflector": "1.*", - "doctrine/lexer": "1.*", - "php": ">=5.3.2" + "nikic/php-parser": "~0.9", + "php": ">=5.3.3" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5.x-dev" - } + "require-dev": { + "phpunit/phpunit": "~3.7" }, + "type": "library", "autoload": { "psr-0": { - "Doctrine\\Common\\": "lib/" + "Jeremeamia\\SuperClosure": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -381,133 +288,117 @@ ], "authors": [ { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "http://jmsyst.com", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Jeremy Lindblom" } ], - "description": "Common Library for Doctrine projects", - "homepage": "http://www.doctrine-project.org", + "description": "Doing interesting things with closures like serialization.", + "homepage": "https://github.com/jeremeamia/super_closure", "keywords": [ - "annotations", - "collections", - "eventmanager", - "persistence", - "spl" + "closure", + "function", + "parser", + "serializable", + "serialize", + "tokenizer" ], - "time": "2013-09-16 09:32:54" + "time": "2013-10-09 04:20:00" }, { - "name": "doctrine/dbal", - "version": "2.4.x-dev", + "name": "laravel/framework", + "version": "v4.1.11", "source": { "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "c3448dc0a163becd5acb50199049996c53cade78" + "url": "https://github.com/laravel/framework.git", + "reference": "3f23a13c64fae7eefe87fa5bd176d21c1938985f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/c3448dc0a163becd5acb50199049996c53cade78", - "reference": "c3448dc0a163becd5acb50199049996c53cade78", + "url": "https://api.github.com/repos/laravel/framework/zipball/3f23a13c64fae7eefe87fa5bd176d21c1938985f", + "reference": "3f23a13c64fae7eefe87fa5bd176d21c1938985f", "shasum": "" }, "require": { - "doctrine/common": "~2.4", - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*", - "symfony/console": "~2.0" - }, - "suggest": { - "symfony/console": "Allows use of the command line interface" + "classpreloader/classpreloader": "1.0.*", + "d11wtq/boris": "1.0.*", + "filp/whoops": "1.0.10", + "ircmaxell/password-compat": "1.0.*", + "jeremeamia/superclosure": "1.0.*", + "monolog/monolog": "1.*", + "nesbot/carbon": "1.*", + "patchwork/utf8": "1.1.*", + "php": ">=5.3.0", + "phpseclib/phpseclib": "0.3.*", + "predis/predis": "0.8.*", + "stack/builder": "1.0.*", + "swiftmailer/swiftmailer": "5.0.*", + "symfony/browser-kit": "2.4.*", + "symfony/console": "2.4.*", + "symfony/css-selector": "2.4.*", + "symfony/debug": "2.4.*", + "symfony/dom-crawler": "2.4.*", + "symfony/finder": "2.4.*", + "symfony/http-foundation": "2.4.*", + "symfony/http-kernel": "2.4.*", + "symfony/process": "2.4.*", + "symfony/routing": "2.4.*", + "symfony/translation": "2.4.*" }, - "type": "library", - "autoload": { - "psr-0": { - "Doctrine\\DBAL\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - } - ], - "description": "Database Abstraction Layer", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "database", - "dbal", - "persistence", - "queryobject" - ], - "time": "2013-11-12 12:38:29" - }, - { - "name": "doctrine/inflector", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "8b4b3ccec7aafc596e2fc1e593c9f2e78f939c8c" + "replace": { + "illuminate/auth": "self.version", + "illuminate/cache": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/exception": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/foundation": "self.version", + "illuminate/hashing": "self.version", + "illuminate/html": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/mail": "self.version", + "illuminate/pagination": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version", + "illuminate/workbench": "self.version" }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b4b3ccec7aafc596e2fc1e593c9f2e78f939c8c", - "reference": "8b4b3ccec7aafc596e2fc1e593c9f2e78f939c8c", - "shasum": "" + "require-dev": { + "aws/aws-sdk-php": "2.5.*", + "iron-io/iron_mq": "1.4.*", + "mockery/mockery": "0.8.0", + "pda/pheanstalk": "2.1.*", + "phpunit/phpunit": "3.7.*" }, - "require": { - "php": ">=5.3.2" + "suggest": { + "doctrine/dbal": "Allow renaming columns and dropping SQLite columns." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "4.1-dev" } }, "autoload": { + "classmap": [ + [ + "src/Illuminate/Queue/IlluminateQueueClosure.php" + ] + ], + "files": [ + "src/Illuminate/Support/helpers.php" + ], "psr-0": { - "Doctrine\\Common\\Inflector\\": "lib/" + "Illuminate": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -516,66 +407,63 @@ ], "authors": [ { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "http://jmsyst.com", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com", + "homepage": "https://github.com/taylorotwell", + "role": "Developer" } ], - "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "homepage": "http://www.doctrine-project.org", + "description": "The Laravel Framework.", "keywords": [ - "inflection", - "pluralize", - "singularize", - "string" + "framework", + "laravel" ], - "time": "2013-04-10 16:14:30" + "time": "2013-12-29 01:29:53" }, { - "name": "doctrine/lexer", + "name": "monolog/monolog", "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "bc0e1f0cc285127a38c6c8ea88bc5dba2fd53e94" + "url": "https://github.com/Seldaek/monolog.git", + "reference": "a1e98f4e1da5b0235a74d11dcf7cdb2692b28ffc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/bc0e1f0cc285127a38c6c8ea88bc5dba2fd53e94", - "reference": "bc0e1f0cc285127a38c6c8ea88bc5dba2fd53e94", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/a1e98f4e1da5b0235a74d11dcf7cdb2692b28ffc", + "reference": "a1e98f4e1da5b0235a74d11dcf7cdb2692b28ffc", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "require-dev": { + "aws/aws-sdk-php": "~2.4.8", + "doctrine/couchdb": "dev-master", + "mlehner/gelf-php": "1.0.*", + "phpunit/phpunit": "~3.7.0", + "raven/raven": "0.5.*", + "ruflin/elastica": "0.90.*" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "mlehner/gelf-php": "Allow sending log messages to a GrayLog2 server", + "raven/raven": "Allow sending log messages to a Sentry server", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.7.x-dev" } }, "autoload": { "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" + "Monolog": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -584,54 +472,45 @@ ], "authors": [ { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "http://jmsyst.com", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be", + "role": "Developer" } ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", "keywords": [ - "lexer", - "parser" + "log", + "logging", + "psr-3" ], - "time": "2013-03-07 12:15:25" + "time": "2014-01-01 18:24:16" }, { - "name": "filp/whoops", - "version": "1.0.7", + "name": "nesbot/carbon", + "version": "1.7.0", "source": { "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "1.0.7" + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "03ede52a1f360441b5826cb8a798e0d0a919731f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/1.0.7", - "reference": "1.0.7", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/03ede52a1f360441b5826cb8a798e0d0a919731f", + "reference": "03ede52a1f360441b5826cb8a798e0d0a919731f", "shasum": "" }, "require": { "php": ">=5.3.0" }, "require-dev": { - "mockery/mockery": "dev-master", - "silex/silex": "1.0.*@dev" + "phpunit/phpunit": "3.7.*" }, "type": "library", "autoload": { "psr-0": { - "Whoops": "src/" + "Carbon": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -640,157 +519,144 @@ ], "authors": [ { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" } ], - "description": "php error handling for cool kids", - "homepage": "https://github.com/filp/whoops", + "description": "A simple API extension for DateTime.", + "homepage": "https://github.com/briannesbitt/Carbon", "keywords": [ - "error", - "exception", - "handling", - "library", - "silex-provider", - "whoops", - "zf2" + "date", + "datetime", + "time" ], - "time": "2013-06-10 12:22:13" + "time": "2013-12-05 04:13:29" }, { - "name": "ircmaxell/password-compat", - "version": "1.0.x-dev", + "name": "nikic/php-parser", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/ircmaxell/password_compat.git", - "reference": "1fc1521b5e9794ea77e4eca30717be9635f1d4f4" + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "0353c921bd12980399e3e6404ea3931b3356e15a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/1fc1521b5e9794ea77e4eca30717be9635f1d4f4", - "reference": "1fc1521b5e9794ea77e4eca30717be9635f1d4f4", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0353c921bd12980399e3e6404ea3931b3356e15a", + "reference": "0353c921bd12980399e3e6404ea3931b3356e15a", "shasum": "" }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.2" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.9-dev" + } + }, "autoload": { - "files": [ - "lib/password.php" - ] + "psr-0": { + "PHPParser": "lib/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Anthony Ferrara", - "email": "ircmaxell@php.net", - "homepage": "http://blog.ircmaxell.com" + "name": "Nikita Popov" } ], - "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", - "homepage": "https://github.com/ircmaxell/password_compat", + "description": "A PHP parser written in PHP", "keywords": [ - "hashing", - "password" + "parser", + "php" ], - "time": "2013-04-30 19:58:08" + "time": "2013-11-27 19:33:56" }, { - "name": "jasonlewis/basset", - "version": "dev-master", + "name": "patchwork/utf8", + "version": "v1.1.17", "source": { "type": "git", - "url": "https://github.com/jasonlewis/basset.git", - "reference": "79b94c3edef5015a34e3a0f834586358a6f99885" + "url": "https://github.com/nicolas-grekas/Patchwork-UTF8.git", + "reference": "1396fedf134f71d479236fce0833dc4c88079391" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jasonlewis/basset/zipball/79b94c3edef5015a34e3a0f834586358a6f99885", - "reference": "79b94c3edef5015a34e3a0f834586358a6f99885", + "url": "https://api.github.com/repos/nicolas-grekas/Patchwork-UTF8/zipball/1396fedf134f71d479236fce0833dc4c88079391", + "reference": "1396fedf134f71d479236fce0833dc4c88079391", "shasum": "" }, "require": { - "kriswallsmith/assetic": "1.1.*", + "lib-pcre": ">=7.9", "php": ">=5.3.0" }, - "require-dev": { - "illuminate/config": "4.0.*", - "illuminate/console": "4.0.*", - "illuminate/filesystem": "4.0.*", - "illuminate/log": "4.0.*", - "illuminate/routing": "4.0.*", - "illuminate/support": "4.0.*", - "mockery/mockery": ">=0.7.2", - "symfony/process": "2.3.*" - }, "suggest": { - "aws/aws-sdk-php": "Deploy static assets directly to your S3 buckets.", - "rackspace/php-cloudfiles": "Deploy static assets directly to your Cloud Files container." + "ext-iconv": "Use iconv for best performance", + "ext-intl": "Use Intl for best performance", + "ext-mbstring": "Use Mbstring for best performance" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, "autoload": { "psr-0": { - "Basset": "src/" - }, - "classmap": [ - "tests/Cases/FilterTestCase.php" - ], - "files": [ - "src/helpers.php" - ] + "Patchwork": "class/", + "Normalizer": "class/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-2-Clause" + "(Apache-2.0 or GPL-2.0)" ], "authors": [ { - "name": "Jason Lewis", - "email": "jason.lewis1991@gmail.com", - "homepage": "http://jasonlewis.me", - "role": "Creator" + "name": "Nicolas Grekas", + "email": "p@tchwork.com", + "role": "Developer" } ], - "description": "A better asset management package for Laravel.", + "description": "Extensive, portable and performant handling of UTF-8 and grapheme clusters for PHP", + "homepage": "https://github.com/nicolas-grekas/Patchwork-UTF8", "keywords": [ - "assets", - "basset", - "laravel" + "i18n", + "unicode", + "utf-8", + "utf8" ], - "time": "2013-11-06 08:17:47" + "time": "2014-01-02 10:19:36" }, { - "name": "jeremeamia/SuperClosure", - "version": "1.0.1", + "name": "patricktalmadge/bootstrapper", + "version": "dev-develop", "source": { "type": "git", - "url": "https://github.com/jeremeamia/super_closure.git", - "reference": "d05400085f7d4ae6f20ba30d36550836c0d061e8" + "url": "https://github.com/patricktalmadge/bootstrapper.git", + "reference": "b07ad15300e91fb5cc6ed2d1f50fb2a43d663a17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/d05400085f7d4ae6f20ba30d36550836c0d061e8", - "reference": "d05400085f7d4ae6f20ba30d36550836c0d061e8", + "url": "https://api.github.com/repos/patricktalmadge/bootstrapper/zipball/b07ad15300e91fb5cc6ed2d1f50fb2a43d663a17", + "reference": "b07ad15300e91fb5cc6ed2d1f50fb2a43d663a17", "shasum": "" }, "require": { - "nikic/php-parser": "~0.9", - "php": ">=5.3.3" + "anahkiasen/html-object": "dev-master", + "anahkiasen/underscore-php": "dev-master", + "illuminate/html": ">=4.0.0", + "illuminate/support": ">=4.0.0", + "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "~3.7" + "mockery/mockery": "dev-master" }, "type": "library", "autoload": { "psr-0": { - "Jeremeamia\\SuperClosure": "src/" + "Bootstrapper": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -799,184 +665,189 @@ ], "authors": [ { - "name": "Jeremy Lindblom" + "name": "Maxime Fabre", + "email": "ehtnam6@gmail.com" + }, + { + "name": "Patrick Talmadge", + "email": "ptalmadge@gmail.com" + }, + { + "name": "Patrick Rose", + "email": "pjr0911025@gmail.com" } ], - "description": "Doing interesting things with closures like serialization.", - "homepage": "https://github.com/jeremeamia/super_closure", + "description": "Twitter Bootstrap markup generator", "keywords": [ - "closure", - "function", - "parser", - "serializable", - "serialize", - "tokenizer" + "bootstrap", + "laravel" ], - "time": "2013-10-09 04:20:00" + "time": "2013-12-27 11:12:54" }, { - "name": "kriswallsmith/assetic", - "version": "1.1.x-dev", + "name": "phpseclib/phpseclib", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/kriswallsmith/assetic.git", - "reference": "1d671c54f147ece319642132330927672b6190a7" + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "268ec2e5d18110235f3677a15abae39303191b2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/1d671c54f147ece319642132330927672b6190a7", - "reference": "1d671c54f147ece319642132330927672b6190a7", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/268ec2e5d18110235f3677a15abae39303191b2f", + "reference": "268ec2e5d18110235f3677a15abae39303191b2f", "shasum": "" }, "require": { - "php": ">=5.3.1", - "symfony/process": "~2.1" + "php": ">=5.0.0" }, "require-dev": { - "cssmin/cssmin": "*", - "joliclic/javascript-packer": "*", - "kamicane/packager": "*", - "leafo/lessphp": "*", - "leafo/scssphp": "*", - "leafo/scssphp-compass": "*", - "mrclay/minify": "*", - "phpunit/phpunit": "~3.7", - "ptachoire/cssembed": "*", - "twig/twig": "~1.6" + "squizlabs/php_codesniffer": "1.*" }, "suggest": { - "leafo/lessphp": "Assetic provides the integration with the lessphp LESS compiler", - "leafo/scssphp": "Assetic provides the integration with the scssphp SCSS compiler", - "leafo/scssphp-compass": "Assetic provides the integration with the SCSS compass plugin", - "ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris", - "twig/twig": "Assetic provides the integration with the Twig templating engine" + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.", + "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP >= 4.3.3." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "0.3-dev" } }, "autoload": { "psr-0": { - "Assetic": "src/" + "Crypt": "phpseclib/", + "File": "phpseclib/", + "Math": "phpseclib/", + "Net": "phpseclib/" }, "files": [ - "src/functions.php" + "phpseclib/Crypt/Random.php" ] }, "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "phpseclib/" + ], "license": [ "MIT" ], "authors": [ { - "name": "Kris Wallsmith", - "email": "kris.wallsmith@gmail.com", - "homepage": "http://kriswallsmith.net/" + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" } ], - "description": "Asset Management for PHP", - "homepage": "https://github.com/kriswallsmith/assetic", + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", "keywords": [ - "assets", - "compression", - "minification" - ], - "time": "2013-09-03 12:44:05" + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "time": "2013-12-28 19:49:05" }, { - "name": "laravel/framework", - "version": "v4.0.9", + "name": "predis/predis", + "version": "0.8.x-dev", "source": { "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "a6fcf66144121104a300a1e4d591bc7640df1381" + "url": "https://github.com/nrk/predis.git", + "reference": "d2debfd43eb8a5201204bb70275a0ef83b3d11ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/a6fcf66144121104a300a1e4d591bc7640df1381", - "reference": "a6fcf66144121104a300a1e4d591bc7640df1381", + "url": "https://api.github.com/repos/nrk/predis/zipball/d2debfd43eb8a5201204bb70275a0ef83b3d11ff", + "reference": "d2debfd43eb8a5201204bb70275a0ef83b3d11ff", "shasum": "" }, "require": { - "classpreloader/classpreloader": "1.0.*", - "doctrine/dbal": "2.4.*", - "filp/whoops": "1.0.7", - "ircmaxell/password-compat": "1.0.*", - "jeremeamia/superclosure": "1.0.*", - "monolog/monolog": "1.6.*", - "nesbot/carbon": "1.*", - "patchwork/utf8": "1.1.*", - "php": ">=5.3.0", - "predis/predis": "0.8.*", - "swiftmailer/swiftmailer": "5.0.*", - "symfony/browser-kit": "2.3.*", - "symfony/console": "2.3.*", - "symfony/css-selector": "2.3.*", - "symfony/debug": "2.3.*", - "symfony/dom-crawler": "2.3.*", - "symfony/event-dispatcher": "2.3.*", - "symfony/finder": "2.3.*", - "symfony/http-foundation": "2.3.*", - "symfony/http-kernel": "2.3.*", - "symfony/process": "2.3.*", - "symfony/routing": "2.3.*", - "symfony/translation": "2.3.*" + "php": ">=5.3.2" }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/cache": "self.version", - "illuminate/config": "self.version", - "illuminate/console": "self.version", - "illuminate/container": "self.version", - "illuminate/cookie": "self.version", - "illuminate/database": "self.version", - "illuminate/encryption": "self.version", - "illuminate/events": "self.version", - "illuminate/exception": "self.version", - "illuminate/filesystem": "self.version", - "illuminate/foundation": "self.version", - "illuminate/hashing": "self.version", - "illuminate/html": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/mail": "self.version", - "illuminate/pagination": "self.version", - "illuminate/queue": "self.version", - "illuminate/redis": "self.version", - "illuminate/routing": "self.version", - "illuminate/session": "self.version", - "illuminate/support": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version", - "illuminate/workbench": "self.version" + "suggest": { + "ext-curl": "Allows access to Webdis when paired with phpiredis", + "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol" }, - "require-dev": { - "aws/aws-sdk-php": "2.4.*", - "iron-io/iron_mq": "1.4.*", - "mockery/mockery": "0.8.0", - "pda/pheanstalk": "2.1.*", - "phpunit/phpunit": "3.7.*" + "type": "library", + "autoload": { + "psr-0": { + "Predis": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniele Alessandri", + "email": "suppakilla@gmail.com", + "homepage": "http://clorophilla.net" + } + ], + "description": "Flexible and feature-complete PHP client library for Redis", + "homepage": "http://github.com/nrk/predis", + "keywords": [ + "nosql", + "predis", + "redis" + ], + "time": "2013-12-22 16:51:18" + }, + { + "name": "psr/log", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "65f363ac44058796a8e1428cf41e6d92d8a75ddc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/65f363ac44058796a8e1428cf41e6d92d8a75ddc", + "reference": "65f363ac44058796a8e1428cf41e6d92d8a75ddc", + "shasum": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "classmap": [ - [ - "src/Illuminate/Queue/IlluminateQueueClosure.php" - ] - ], - "files": [ - "src/Illuminate/Support/helpers.php" - ], "psr-0": { - "Illuminate": "src/" + "Psr\\Log\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -985,63 +856,49 @@ ], "authors": [ { - "name": "Taylor Otwell", - "email": "taylorotwell@gmail.com", - "homepage": "https://github.com/taylorotwell", - "role": "Developer" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "The Laravel Framework.", + "description": "Common interface for logging libraries", "keywords": [ - "framework", - "laravel" + "log", + "psr", + "psr-3" ], - "time": "2013-10-20 18:28:48" + "time": "2013-12-25 11:17:50" }, { - "name": "monolog/monolog", + "name": "stack/builder", "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "516447f91312924c63fafd8e6083f28013dd03d9" + "url": "https://github.com/stackphp/builder.git", + "reference": "49ab90450d7f959943f3659a4bcb5965530117c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/516447f91312924c63fafd8e6083f28013dd03d9", - "reference": "516447f91312924c63fafd8e6083f28013dd03d9", + "url": "https://api.github.com/repos/stackphp/builder/zipball/49ab90450d7f959943f3659a4bcb5965530117c2", + "reference": "49ab90450d7f959943f3659a4bcb5965530117c2", "shasum": "" }, "require": { "php": ">=5.3.0", - "psr/log": "~1.0" + "symfony/http-foundation": "~2.1", + "symfony/http-kernel": "~2.1" }, "require-dev": { - "aws/aws-sdk-php": "~2.4.8", - "doctrine/couchdb": "dev-master", - "mlehner/gelf-php": "1.0.*", - "phpunit/phpunit": "~3.7.0", - "raven/raven": "0.5.*", - "ruflin/elastica": "0.90.*" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "mlehner/gelf-php": "Allow sending log messages to a GrayLog2 server", - "raven/raven": "Allow sending log messages to a Sentry server", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + "silex/silex": "~1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6.x-dev" + "dev-master": "1.0-dev" } }, "autoload": { "psr-0": { - "Monolog": "src/" + "Stack": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1050,189 +907,260 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be", - "role": "Developer" + "name": "Igor Wiedler", + "email": "igor@wiedler.ch", + "homepage": "http://wiedler.ch/igor/" } ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", + "description": "Builder for stack middlewares based on HttpKernelInterface.", "keywords": [ - "log", - "logging", - "psr-3" + "stack" ], - "time": "2013-11-11 22:14:57" + "time": "2013-10-25 14:04:45" }, { - "name": "nesbot/carbon", - "version": "1.4.0", + "name": "swiftmailer/swiftmailer", + "version": "v5.0.3", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "06f0b8a99a90c5392ceccb09b75b74ff6c08ec07" + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "32edc3b0de0fdc1b10f5c4912e8677b3f411a230" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/06f0b8a99a90c5392ceccb09b75b74ff6c08ec07", - "reference": "06f0b8a99a90c5392ceccb09b75b74ff6c08ec07", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/32edc3b0de0fdc1b10f5c4912e8677b3f411a230", + "reference": "32edc3b0de0fdc1b10f5c4912e8677b3f411a230", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=5.2.4" }, "type": "library", - "autoload": { - "psr-0": { - "Carbon": "src" + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" } }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "http://nesbot.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Chris Corbyn" } ], - "description": "A simple API extension for DateTime.", - "homepage": "https://github.com/briannesbitt/Carbon", + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "http://swiftmailer.org", "keywords": [ - "date", - "datetime", - "time" + "mail", + "mailer" ], - "time": "2013-09-09 02:39:19" + "time": "2013-12-03 13:33:24" }, { - "name": "nikic/php-parser", - "version": "dev-master", + "name": "symfony/browser-kit", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/BrowserKit", "source": { "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "700847e2951942200b479c413aa2984b5364799b" + "url": "https://github.com/symfony/BrowserKit.git", + "reference": "0248b2dfc9cd6b259555d232eedfb1283eb496c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/700847e2951942200b479c413aa2984b5364799b", - "reference": "700847e2951942200b479c413aa2984b5364799b", + "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/0248b2dfc9cd6b259555d232eedfb1283eb496c3", + "reference": "0248b2dfc9cd6b259555d232eedfb1283eb496c3", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.2" + "php": ">=5.3.3", + "symfony/dom-crawler": "~2.0" + }, + "require-dev": { + "symfony/css-selector": "~2.0", + "symfony/process": "~2.0" + }, + "suggest": { + "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.9-dev" + "dev-master": "2.4-dev" } }, "autoload": { "psr-0": { - "PHPParser": "lib/" + "Symfony\\Component\\BrowserKit\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Nikita Popov" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" } ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "time": "2013-09-28 11:21:30" + "description": "Symfony BrowserKit Component", + "homepage": "http://symfony.com", + "time": "2013-12-28 21:39:51" }, { - "name": "patchwork/utf8", - "version": "v1.1.14", + "name": "symfony/console", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/Console", "source": { "type": "git", - "url": "https://github.com/nicolas-grekas/Patchwork-UTF8.git", - "reference": "af1d74b154bc62fab79b428877a9b5ab15f9418a" + "url": "https://github.com/symfony/Console.git", + "reference": "4534a0033d379d9d5a6031ead6a31c9813b9e03b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nicolas-grekas/Patchwork-UTF8/zipball/af1d74b154bc62fab79b428877a9b5ab15f9418a", - "reference": "af1d74b154bc62fab79b428877a9b5ab15f9418a", + "url": "https://api.github.com/repos/symfony/Console/zipball/4534a0033d379d9d5a6031ead6a31c9813b9e03b", + "reference": "4534a0033d379d9d5a6031ead6a31c9813b9e03b", "shasum": "" }, "require": { - "lib-pcre": "*", - "php": ">=5.3.0" + "php": ">=5.3.3" + }, + "require-dev": { + "symfony/event-dispatcher": "~2.1" }, "suggest": { - "ext-mbstring": "Use Mbstring for best performance", - "lib-iconv": "Use iconv for best performance", - "lib-icu": "Use Intl for best performance" + "symfony/event-dispatcher": "" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, "autoload": { "psr-0": { - "Patchwork": "class/", - "Normalizer": "class/" + "Symfony\\Component\\Console\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "(Apache-2.0 or GPL-2.0)" + "MIT" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com", - "role": "Developer" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" } ], - "description": "Extensive, portable and performant handling of UTF-8 and grapheme clusters for PHP", - "homepage": "https://github.com/nicolas-grekas/Patchwork-UTF8", - "keywords": [ - "i18n", - "unicode", - "utf-8", - "utf8" + "description": "Symfony Console Component", + "homepage": "http://symfony.com", + "time": "2013-12-31 13:43:26" + }, + { + "name": "symfony/css-selector", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/CssSelector", + "source": { + "type": "git", + "url": "https://github.com/symfony/CssSelector.git", + "reference": "352552da1f50a79f6a6fa427e4a85ee2ea1945f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/CssSelector/zipball/352552da1f50a79f6a6fa427e4a85ee2ea1945f6", + "reference": "352552da1f50a79f6a6fa427e4a85ee2ea1945f6", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\CssSelector\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + } ], - "time": "2013-11-04 16:58:59" + "description": "Symfony CssSelector Component", + "homepage": "http://symfony.com", + "time": "2014-01-01 08:14:50" }, { - "name": "patricktalmadge/bootstrapper", - "version": "dev-develop", + "name": "symfony/debug", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/Debug", "source": { "type": "git", - "url": "https://github.com/patricktalmadge/bootstrapper.git", - "reference": "208d9a919d886d0252e37bbf748e1e9b8c39df5e" + "url": "https://github.com/symfony/Debug.git", + "reference": "74110be5ec681a83fc5bd66dd5fd29fe85fe9c1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/patricktalmadge/bootstrapper/zipball/208d9a919d886d0252e37bbf748e1e9b8c39df5e", - "reference": "208d9a919d886d0252e37bbf748e1e9b8c39df5e", + "url": "https://api.github.com/repos/symfony/Debug/zipball/74110be5ec681a83fc5bd66dd5fd29fe85fe9c1f", + "reference": "74110be5ec681a83fc5bd66dd5fd29fe85fe9c1f", "shasum": "" }, "require": { - "anahkiasen/html-object": "dev-master", - "anahkiasen/underscore-php": "dev-master", - "illuminate/html": ">=4.0.0", - "illuminate/support": ">=4.0.0", - "jasonlewis/basset": "dev-master", - "php": ">=5.3.0" + "php": ">=5.3.3" }, "require-dev": { - "mockery/mockery": "dev-master" + "symfony/http-foundation": "~2.1", + "symfony/http-kernel": "~2.1" + }, + "suggest": { + "symfony/http-foundation": "", + "symfony/http-kernel": "" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, "autoload": { "psr-0": { - "Bootstrapper": "src" + "Symfony\\Component\\Debug\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1241,50 +1169,51 @@ ], "authors": [ { - "name": "Maxime Fabre", - "email": "ehtnam6@gmail.com" - }, - { - "name": "Patrick Talmadge", - "email": "ptalmadge@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Patrick Rose", - "email": "pjr0911025@gmail.com" + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" } ], - "description": "Twitter Bootstrap markup generator", - "keywords": [ - "bootstrap", - "laravel" - ], - "time": "2013-11-03 17:51:06" + "description": "Symfony Debug Component", + "homepage": "http://symfony.com", + "time": "2014-01-01 09:02:49" }, { - "name": "predis/predis", - "version": "0.8.x-dev", + "name": "symfony/dom-crawler", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/DomCrawler", "source": { "type": "git", - "url": "https://github.com/nrk/predis.git", - "reference": "b1a51b2ef900c28f389cc7ba498f3698b9749ce6" + "url": "https://github.com/symfony/DomCrawler.git", + "reference": "ea4e3be8d036627e1bc67129173f3f9c780776a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nrk/predis/zipball/b1a51b2ef900c28f389cc7ba498f3698b9749ce6", - "reference": "b1a51b2ef900c28f389cc7ba498f3698b9749ce6", + "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/ea4e3be8d036627e1bc67129173f3f9c780776a0", + "reference": "ea4e3be8d036627e1bc67129173f3f9c780776a0", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": ">=5.3.3" + }, + "require-dev": { + "symfony/css-selector": "~2.0" }, "suggest": { - "ext-curl": "Allows access to Webdis when paired with phpiredis", - "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol" + "symfony/css-selector": "" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, "autoload": { "psr-0": { - "Predis": "lib/" + "Symfony\\Component\\DomCrawler\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1293,38 +1222,54 @@ ], "authors": [ { - "name": "Daniele Alessandri", - "email": "suppakilla@gmail.com", - "homepage": "http://clorophilla.net" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" } ], - "description": "Flexible and feature-complete PHP client library for Redis", - "homepage": "http://github.com/nrk/predis", - "keywords": [ - "nosql", - "predis", - "redis" - ], - "time": "2013-11-09 19:00:33" + "description": "Symfony DomCrawler Component", + "homepage": "http://symfony.com", + "time": "2013-12-29 14:43:38" }, { - "name": "psr/log", - "version": "1.0.0", + "name": "symfony/event-dispatcher", + "version": "dev-master", + "target-dir": "Symfony/Component/EventDispatcher", "source": { "type": "git", - "url": "https://github.com/php-fig/log", - "reference": "1.0.0" + "url": "https://github.com/symfony/EventDispatcher.git", + "reference": "6a30cf4f7951794e2179c29b3ce30fb478019cd8" }, "dist": { "type": "zip", - "url": "https://github.com/php-fig/log/archive/1.0.0.zip", - "reference": "1.0.0", + "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/6a30cf4f7951794e2179c29b3ce30fb478019cd8", + "reference": "6a30cf4f7951794e2179c29b3ce30fb478019cd8", "shasum": "" }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/dependency-injection": "~2.0", + "symfony/stopwatch": "~2.2" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, "autoload": { "psr-0": { - "Psr\\Log\\": "" + "Symfony\\Component\\EventDispatcher\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1333,45 +1278,46 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" } ], - "description": "Common interface for logging libraries", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2012-12-21 11:40:51" + "description": "Symfony EventDispatcher Component", + "homepage": "http://symfony.com", + "time": "2014-01-01 09:18:08" }, { - "name": "swiftmailer/swiftmailer", - "version": "v5.0.2", + "name": "symfony/filesystem", + "version": "dev-master", + "target-dir": "Symfony/Component/Filesystem", "source": { "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "f3917ecef35a4e4d98b303eb9fee463bc983f379" + "url": "https://github.com/symfony/Filesystem.git", + "reference": "548000429823d067206bdfe73d4eb850c585e810" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/f3917ecef35a4e4d98b303eb9fee463bc983f379", - "reference": "f3917ecef35a4e4d98b303eb9fee463bc983f379", + "url": "https://api.github.com/repos/symfony/Filesystem/zipball/548000429823d067206bdfe73d4eb850c585e810", + "reference": "548000429823d067206bdfe73d4eb850c585e810", "shasum": "" }, "require": { - "php": ">=5.2.4" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-master": "2.5-dev" } }, "autoload": { - "files": [ - "lib/swift_required.php" - ] + "psr-0": { + "Symfony\\Component\\Filesystem\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1383,52 +1329,41 @@ "email": "fabien@symfony.com" }, { - "name": "Chris Corbyn" + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" } ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "http://swiftmailer.org", - "keywords": [ - "mail", - "mailer" - ], - "time": "2013-08-30 12:35:21" + "description": "Symfony Filesystem Component", + "homepage": "http://symfony.com", + "time": "2013-12-31 13:43:37" }, { - "name": "symfony/browser-kit", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/BrowserKit", + "name": "symfony/finder", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/Finder", "source": { "type": "git", - "url": "https://github.com/symfony/BrowserKit.git", - "reference": "7fc66ea3b9438080d79246cd8e5d88950c7fe4a4" + "url": "https://github.com/symfony/Finder.git", + "reference": "6904345cf2b3bbab1f6d6e4ce1724cb99df9f00a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/7fc66ea3b9438080d79246cd8e5d88950c7fe4a4", - "reference": "7fc66ea3b9438080d79246cd8e5d88950c7fe4a4", + "url": "https://api.github.com/repos/symfony/Finder/zipball/6904345cf2b3bbab1f6d6e4ce1724cb99df9f00a", + "reference": "6904345cf2b3bbab1f6d6e4ce1724cb99df9f00a", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/dom-crawler": "~2.0" - }, - "require-dev": { - "symfony/css-selector": "~2.0", - "symfony/process": "~2.0" - }, - "suggest": { - "symfony/process": "" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "2.4-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\BrowserKit\\": "" + "Symfony\\Component\\Finder\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1445,44 +1380,41 @@ "homepage": "http://symfony.com/contributors" } ], - "description": "Symfony BrowserKit Component", + "description": "Symfony Finder Component", "homepage": "http://symfony.com", - "time": "2013-09-26 12:37:59" + "time": "2014-01-01 08:14:50" }, { - "name": "symfony/console", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/Console", + "name": "symfony/http-foundation", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/HttpFoundation", "source": { "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "38f924338419db1ce147ef39fff1265ee64faa81" + "url": "https://github.com/symfony/HttpFoundation.git", + "reference": "979b5cf2bdf1f5785a8faa30e2cea97044b31c4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/38f924338419db1ce147ef39fff1265ee64faa81", - "reference": "38f924338419db1ce147ef39fff1265ee64faa81", + "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/979b5cf2bdf1f5785a8faa30e2cea97044b31c4d", + "reference": "979b5cf2bdf1f5785a8faa30e2cea97044b31c4d", "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" + "dev-master": "2.4-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\Console\\": "" - } + "Symfony\\Component\\HttpFoundation\\": "" + }, + "classmap": [ + "Symfony/Component/HttpFoundation/Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1498,37 +1430,61 @@ "homepage": "http://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Symfony HttpFoundation Component", "homepage": "http://symfony.com", - "time": "2013-11-05 15:14:13" + "time": "2013-12-31 13:43:26" }, { - "name": "symfony/css-selector", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/CssSelector", + "name": "symfony/http-kernel", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/HttpKernel", "source": { "type": "git", - "url": "https://github.com/symfony/CssSelector.git", - "reference": "8df20c54ffa650df860a3e42dbcd1fbd25a24977" + "url": "https://github.com/symfony/HttpKernel.git", + "reference": "2b022521ce2156cb97eb02dd0148c33f9f54a03f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/CssSelector/zipball/8df20c54ffa650df860a3e42dbcd1fbd25a24977", - "reference": "8df20c54ffa650df860a3e42dbcd1fbd25a24977", + "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/2b022521ce2156cb97eb02dd0148c33f9f54a03f", + "reference": "2b022521ce2156cb97eb02dd0148c33f9f54a03f", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "psr/log": "~1.0", + "symfony/debug": "~2.3", + "symfony/event-dispatcher": "~2.1", + "symfony/http-foundation": "~2.4" + }, + "require-dev": { + "symfony/browser-kit": "~2.2", + "symfony/class-loader": "~2.1", + "symfony/config": "~2.0", + "symfony/console": "~2.2", + "symfony/dependency-injection": "~2.0", + "symfony/finder": "~2.0", + "symfony/process": "~2.0", + "symfony/routing": "~2.2", + "symfony/stopwatch": "~2.2", + "symfony/templating": "~2.2" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/class-loader": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/finder": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "2.4-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\CssSelector\\": "" + "Symfony\\Component\\HttpKernel\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1543,52 +1499,39 @@ { "name": "Symfony Community", "homepage": "http://symfony.com/contributors" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" } ], - "description": "Symfony CssSelector Component", + "description": "Symfony HttpKernel Component", "homepage": "http://symfony.com", - "time": "2013-10-30 08:30:20" + "time": "2014-01-01 09:02:49" }, { - "name": "symfony/debug", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/Debug", + "name": "symfony/process", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/Process", "source": { "type": "git", - "url": "https://github.com/symfony/Debug.git", - "reference": "085d4fd990493a47c1d542a98fac5475326e237f" + "url": "https://github.com/symfony/Process.git", + "reference": "5223ec2578e7ecd0192915434a6e33a689e329d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Debug/zipball/085d4fd990493a47c1d542a98fac5475326e237f", - "reference": "085d4fd990493a47c1d542a98fac5475326e237f", + "url": "https://api.github.com/repos/symfony/Process/zipball/5223ec2578e7ecd0192915434a6e33a689e329d6", + "reference": "5223ec2578e7ecd0192915434a6e33a689e329d6", "shasum": "" }, "require": { "php": ">=5.3.3" }, - "require-dev": { - "symfony/http-foundation": "~2.1", - "symfony/http-kernel": "~2.1" - }, - "suggest": { - "symfony/class-loader": "", - "symfony/http-foundation": "", - "symfony/http-kernel": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "2.4-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\Debug\\": "" + "Symfony\\Component\\Process\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1605,43 +1548,50 @@ "homepage": "http://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Symfony Process Component", "homepage": "http://symfony.com", - "time": "2013-10-30 08:30:20" + "time": "2013-12-29 14:43:38" }, { - "name": "symfony/dom-crawler", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/DomCrawler", + "name": "symfony/routing", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/Routing", "source": { "type": "git", - "url": "https://github.com/symfony/DomCrawler.git", - "reference": "4dc2c596b28884892da24729d9b32d01d89c1a59" + "url": "https://github.com/symfony/Routing.git", + "reference": "c82b3e7cc2dc304c06957e0e8dd3d56fd0b13781" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/4dc2c596b28884892da24729d9b32d01d89c1a59", - "reference": "4dc2c596b28884892da24729d9b32d01d89c1a59", + "url": "https://api.github.com/repos/symfony/Routing/zipball/c82b3e7cc2dc304c06957e0e8dd3d56fd0b13781", + "reference": "c82b3e7cc2dc304c06957e0e8dd3d56fd0b13781", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "symfony/css-selector": "~2.0" + "doctrine/annotations": "~1.0", + "psr/log": "~1.0", + "symfony/config": "~2.2", + "symfony/expression-language": "~2.4", + "symfony/yaml": "~2.0" }, "suggest": { - "symfony/css-selector": "" + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/yaml": "For using the YAML loader" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "2.4-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\DomCrawler\\": "" + "Symfony\\Component\\Routing\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1658,44 +1608,51 @@ "homepage": "http://symfony.com/contributors" } ], - "description": "Symfony DomCrawler Component", + "description": "Symfony Routing Component", "homepage": "http://symfony.com", - "time": "2013-10-30 08:30:20" + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "time": "2014-01-01 08:14:50" }, { - "name": "symfony/event-dispatcher", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/EventDispatcher", + "name": "symfony/translation", + "version": "2.4.x-dev", + "target-dir": "Symfony/Component/Translation", "source": { "type": "git", - "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "2d8ece3c610726a73d0c95c885134efea182610e" + "url": "https://github.com/symfony/Translation.git", + "reference": "7f76dffd7eaf2c9a3a8f47649404c71440d18c8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/2d8ece3c610726a73d0c95c885134efea182610e", - "reference": "2d8ece3c610726a73d0c95c885134efea182610e", + "url": "https://api.github.com/repos/symfony/Translation/zipball/7f76dffd7eaf2c9a3a8f47649404c71440d18c8b", + "reference": "7f76dffd7eaf2c9a3a8f47649404c71440d18c8b", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "symfony/dependency-injection": "~2.0" + "symfony/config": "~2.0", + "symfony/yaml": "~2.2" }, "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/config": "", + "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "2.4-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\EventDispatcher\\": "" + "Symfony\\Component\\Translation\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1712,37 +1669,39 @@ "homepage": "http://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Symfony Translation Component", "homepage": "http://symfony.com", - "time": "2013-10-13 06:32:10" - }, + "time": "2013-12-31 13:43:26" + } + ], + "packages-dev": [ { - "name": "symfony/filesystem", - "version": "dev-master", - "target-dir": "Symfony/Component/Filesystem", + "name": "barryvdh/laravel-ide-helper", + "version": "v1.8.0", "source": { "type": "git", - "url": "https://github.com/symfony/Filesystem.git", - "reference": "e558fd5d593ebe083dca199f52aed5374ab7b57a" + "url": "https://github.com/barryvdh/laravel-ide-helper.git", + "reference": "facba3a5e633dfd9579f4831aa6608a888a407a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Filesystem/zipball/e558fd5d593ebe083dca199f52aed5374ab7b57a", - "reference": "e558fd5d593ebe083dca199f52aed5374ab7b57a", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/facba3a5e633dfd9579f4831aa6608a888a407a6", + "reference": "facba3a5e633dfd9579f4831aa6608a888a407a6", "shasum": "" }, "require": { - "php": ">=5.3.3" + "doctrine/dbal": "~2.3", + "illuminate/console": "4.x", + "illuminate/filesystem": "4.x", + "illuminate/support": "4.x", + "php": ">=5.3.0", + "phpdocumentor/reflection-docblock": "2.0.0", + "symfony/class-loader": "~2.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, "autoload": { "psr-0": { - "Symfony\\Component\\Filesystem\\": "" + "Barryvdh\\LaravelIdeHelper": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1751,45 +1710,55 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" } ], - "description": "Symfony Filesystem Component", - "homepage": "http://symfony.com", - "time": "2013-09-27 14:57:51" + "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", + "keywords": [ + "autocomplete", + "codeintel", + "laravel", + "netbeans", + "phpdoc", + "phpstorm", + "sublime" + ], + "time": "2013-12-06 16:51:01" }, { - "name": "symfony/finder", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/Finder", + "name": "behat/mink", + "version": "dev-develop", "source": { "type": "git", - "url": "https://github.com/symfony/Finder.git", - "reference": "a175521f680b178e63c5d0ab87c6b046c0990c3f" + "url": "https://github.com/Behat/Mink.git", + "reference": "ffa0363fba5a130e1964343124ca761a3c69c838" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/a175521f680b178e63c5d0ab87c6b046c0990c3f", - "reference": "a175521f680b178e63c5d0ab87c6b046c0990c3f", + "url": "https://api.github.com/repos/Behat/Mink/zipball/ffa0363fba5a130e1964343124ca761a3c69c838", + "reference": "ffa0363fba5a130e1964343124ca761a3c69c838", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.1", + "symfony/css-selector": "~2.0" + }, + "suggest": { + "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", + "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", + "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", + "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-develop": "1.5.x-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\Finder\\": "" + "Behat\\Mink": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1798,49 +1767,53 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Symfony Finder Component", - "homepage": "http://symfony.com", - "time": "2013-09-19 09:45:20" + "description": "Web acceptance testing framework for PHP 5.3", + "homepage": "http://mink.behat.org/", + "keywords": [ + "browser", + "testing", + "web" + ], + "time": "2013-12-27 10:08:43" }, { - "name": "symfony/http-foundation", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/HttpFoundation", + "name": "behat/mink-browserkit-driver", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/symfony/HttpFoundation.git", - "reference": "796619f49371629db8f5ef5ce82f2f52e4fdfd9d" + "url": "https://github.com/Behat/MinkBrowserKitDriver.git", + "reference": "c4e94b1413d0eabf533ea46f1d47e0aeffed90f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/796619f49371629db8f5ef5ce82f2f52e4fdfd9d", - "reference": "796619f49371629db8f5ef5ce82f2f52e4fdfd9d", + "url": "https://api.github.com/repos/Behat/MinkBrowserKitDriver/zipball/c4e94b1413d0eabf533ea46f1d47e0aeffed90f4", + "reference": "c4e94b1413d0eabf533ea46f1d47e0aeffed90f4", "shasum": "" }, "require": { - "php": ">=5.3.3" + "behat/mink": "~1.5.0@dev", + "php": ">=5.3.1", + "symfony/browser-kit": "~2.0", + "symfony/dom-crawler": "~2.0" }, - "type": "library", + "require-dev": { + "silex/silex": "@dev" + }, + "type": "mink-driver", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "classmap": [ - "Symfony/Component/HttpFoundation/Resources/stubs" - ] + "Behat\\Mink\\Driver": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1848,69 +1821,50 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Symfony HttpFoundation Component", - "homepage": "http://symfony.com", - "time": "2013-11-04 06:09:51" + "description": "Symfony2 BrowserKit driver for Mink framework", + "homepage": "http://mink.behat.org/", + "keywords": [ + "Mink", + "Symfony2", + "browser", + "testing" + ], + "time": "2013-12-27 10:08:33" }, { - "name": "symfony/http-kernel", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/HttpKernel", + "name": "behat/mink-goutte-driver", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/symfony/HttpKernel.git", - "reference": "9795c9f67c72a96be0535f6987a94a07e5ff2432" + "url": "https://github.com/Behat/MinkGoutteDriver.git", + "reference": "fd078a2ae55025a24f6dd58b37001c760aac78fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/9795c9f67c72a96be0535f6987a94a07e5ff2432", - "reference": "9795c9f67c72a96be0535f6987a94a07e5ff2432", + "url": "https://api.github.com/repos/Behat/MinkGoutteDriver/zipball/fd078a2ae55025a24f6dd58b37001c760aac78fe", + "reference": "fd078a2ae55025a24f6dd58b37001c760aac78fe", "shasum": "" }, "require": { - "php": ">=5.3.3", - "psr/log": "~1.0", - "symfony/debug": "~2.3", - "symfony/event-dispatcher": "~2.1", - "symfony/http-foundation": "~2.2" - }, - "require-dev": { - "symfony/browser-kit": "~2.2", - "symfony/class-loader": "~2.1", - "symfony/config": "~2.0", - "symfony/console": "~2.2", - "symfony/dependency-injection": "~2.0", - "symfony/finder": "~2.0", - "symfony/process": "~2.0", - "symfony/routing": "~2.2", - "symfony/stopwatch": "~2.2", - "symfony/templating": "~2.2" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "" + "behat/mink": "~1.5.0@dev", + "behat/mink-browserkit-driver": "~1.1@dev", + "fabpot/goutte": "~1.0", + "php": ">=5.3.1" }, - "type": "library", + "type": "mink-driver", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\HttpKernel\\": "" + "Behat\\Mink\\Driver": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1919,45 +1873,49 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Symfony HttpKernel Component", - "homepage": "http://symfony.com", - "time": "2013-10-30 08:30:20" + "description": "Goutte driver for Mink framework", + "homepage": "http://mink.behat.org/", + "keywords": [ + "browser", + "goutte", + "headless", + "testing" + ], + "time": "2013-12-27 10:08:53" }, { - "name": "symfony/process", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/Process", + "name": "behat/mink-selenium2-driver", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/symfony/Process.git", - "reference": "82898108f79040314a7b3ba430a72c32c7f61d14" + "url": "https://github.com/Behat/MinkSelenium2Driver.git", + "reference": "d97f184aa1ebefe44c0f091ff39204ea7ef21f52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/82898108f79040314a7b3ba430a72c32c7f61d14", - "reference": "82898108f79040314a7b3ba430a72c32c7f61d14", + "url": "https://api.github.com/repos/Behat/MinkSelenium2Driver/zipball/d97f184aa1ebefe44c0f091ff39204ea7ef21f52", + "reference": "d97f184aa1ebefe44c0f091ff39204ea7ef21f52", "shasum": "" }, "require": { - "php": ">=5.3.3" + "behat/mink": "~1.5.0@dev", + "instaclick/php-webdriver": "~1.1", + "php": ">=5.3.1" }, - "type": "library", + "type": "mink-driver", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { "psr-0": { - "Symfony\\Component\\Process\\": "" + "Behat\\Mink\\Driver": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1966,216 +1924,217 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" }, { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Pete Otaqui", + "email": "pete@otaqui.com", + "homepage": "https://github.com/pete-otaqui" } ], - "description": "Symfony Process Component", - "homepage": "http://symfony.com", - "time": "2013-10-30 08:30:20" + "description": "Selenium2 (WebDriver) driver for Mink framework", + "homepage": "http://mink.behat.org/", + "keywords": [ + "ajax", + "browser", + "javascript", + "selenium", + "testing", + "webdriver" + ], + "time": "2013-12-27 10:09:11" }, { - "name": "symfony/routing", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/Routing", + "name": "codeception/codeception", + "version": "1.8.1", "source": { "type": "git", - "url": "https://github.com/symfony/Routing.git", - "reference": "7d41463094752e87a0fae60316d236abecb8a034" + "url": "https://github.com/Codeception/Codeception.git", + "reference": "7043dc17cf3caa009461a6f2569262546f38c7f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Routing/zipball/7d41463094752e87a0fae60316d236abecb8a034", - "reference": "7d41463094752e87a0fae60316d236abecb8a034", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/7043dc17cf3caa009461a6f2569262546f38c7f9", + "reference": "7043dc17cf3caa009461a6f2569262546f38c7f9", "shasum": "" }, "require": { - "php": ">=5.3.3" + "behat/mink": "1.5.*", + "behat/mink-goutte-driver": "1.0.*", + "behat/mink-selenium2-driver": "1.1.*", + "facebook/webdriver": "~0.3", + "monolog/monolog": "*", + "php": ">=5.3.3", + "phpunit/phpunit": "3.7.*", + "symfony/console": "~2.3", + "symfony/event-dispatcher": "~2.3", + "symfony/finder": "~2.3", + "symfony/yaml": "~2.3" }, "require-dev": { - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.2", - "symfony/yaml": "~2.0" + "behat/mink-selenium-driver": "1.1.*", + "behat/mink-zombie-driver": "1.1.*", + "facebook/php-sdk": "3.*", + "videlalvaro/php-amqplib": "*" }, "suggest": { - "doctrine/common": "", - "symfony/config": "", - "symfony/yaml": "" + "codeception/phpbuiltinserver": "Extension to starts and stops PHP builtin web server for your tests" }, + "bin": [ + "codecept" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, "autoload": { "psr-0": { - "Symfony\\Component\\Routing\\": "" + "Codeception": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, + "MIT" + ], + "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Michael Bodnarchuk", + "email": "davert@mail.ua", + "homepage": "http://codegyre.com" } ], - "description": "Symfony Routing Component", - "homepage": "http://symfony.com", - "time": "2013-09-29 19:41:41" + "description": "BDD-style testing framework", + "homepage": "http://codeception.com/", + "keywords": [ + "BDD", + "TDD", + "acceptance testing", + "functional testing", + "unit testing" + ], + "time": "2013-12-08 02:28:41" }, { - "name": "symfony/translation", - "version": "2.3.x-dev", - "target-dir": "Symfony/Component/Translation", + "name": "davedevelopment/hamcrest-php", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/symfony/Translation.git", - "reference": "6aedcff5ea623316dbf2112b78f2f63a257aab01" + "url": "https://github.com/davedevelopment/hamcrest-php.git", + "reference": "903f3f1de76dde2ac1c767f5fd3318caacf2683d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Translation/zipball/6aedcff5ea623316dbf2112b78f2f63a257aab01", - "reference": "6aedcff5ea623316dbf2112b78f2f63a257aab01", + "url": "https://api.github.com/repos/davedevelopment/hamcrest-php/zipball/903f3f1de76dde2ac1c767f5fd3318caacf2683d", + "reference": "903f3f1de76dde2ac1c767f5fd3318caacf2683d", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/config": "~2.0", - "symfony/yaml": "~2.2" - }, - "suggest": { - "symfony/config": "", - "symfony/yaml": "" + "php": ">=5.3.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, "autoload": { "psr-0": { - "Symfony\\Component\\Translation\\": "" + "Hamcrest": "hamcrest" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD" ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" ], - "description": "Symfony Translation Component", - "homepage": "http://symfony.com", - "time": "2013-10-10 13:12:30" - } - ], - "packages-dev": [ + "time": "2013-09-16 08:27:32" + }, { - "name": "barryvdh/laravel-ide-helper", - "version": "v1.7.1", + "name": "dflydev/markdown", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "3ebfcd1c6c6f3a0ab6de8f879c1e8c22f601e088" + "url": "https://github.com/dflydev/dflydev-markdown.git", + "reference": "6baed9b50f29c980795b6656d43722aadb126f7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/3ebfcd1c6c6f3a0ab6de8f879c1e8c22f601e088", - "reference": "3ebfcd1c6c6f3a0ab6de8f879c1e8c22f601e088", + "url": "https://api.github.com/repos/dflydev/dflydev-markdown/zipball/6baed9b50f29c980795b6656d43722aadb126f7e", + "reference": "6baed9b50f29c980795b6656d43722aadb126f7e", "shasum": "" }, "require": { - "illuminate/console": "4.x", - "illuminate/filesystem": "4.x", - "illuminate/support": "4.x", - "php": ">=5.3.0", - "phpdocumentor/reflection-docblock": "2.0.0", - "symfony/class-loader": "~2.3" + "php": ">=5.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, "autoload": { "psr-0": { - "Barryvdh\\LaravelIdeHelper": "src/" + "dflydev\\markdown": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Michel Fortin", + "homepage": "http://michelf.com" + }, + { + "name": "John Gruber", + "homepage": "http://daringfireball.net" } ], - "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", + "description": "PHP Markdown & Extra", + "homepage": "http://github.com/dflydev/dflydev-markdown", "keywords": [ - "autocomplete", - "codeintel", - "laravel", - "netbeans", - "phpdoc", - "phpstorm", - "sublime" + "markdown" ], - "time": "2013-10-18 08:17:11" + "time": "2013-09-23 12:00:18" }, { - "name": "behat/mink", - "version": "dev-develop", + "name": "doctrine/annotations", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/Behat/Mink.git", - "reference": "b775d021836f97665f245d533e6b5dc4e9845c53" + "url": "https://github.com/doctrine/annotations.git", + "reference": "a11349d39d85bef75a71bd69bd604ac4fb993f03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Mink/zipball/b775d021836f97665f245d533e6b5dc4e9845c53", - "reference": "b775d021836f97665f245d533e6b5dc4e9845c53", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/a11349d39d85bef75a71bd69bd604ac4fb993f03", + "reference": "a11349d39d85bef75a71bd69bd604ac4fb993f03", "shasum": "" }, "require": { - "php": ">=5.3.1", - "symfony/css-selector": "~2.0" + "doctrine/lexer": "1.*", + "php": ">=5.3.2" }, - "suggest": { - "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", - "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", - "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", - "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)" + "require-dev": { + "doctrine/cache": "1.*" }, "type": "library", "extra": { "branch-alias": { - "dev-develop": "1.5.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { "psr-0": { - "Behat\\Mink": "src/" + "Doctrine\\Common\\Annotations\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2184,52 +2143,73 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Jonathan H. Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" } ], - "description": "Web acceptance testing framework for PHP 5.3", - "homepage": "http://mink.behat.org/", + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "browser", - "testing", - "web" + "annotations", + "docblock", + "parser" ], - "time": "2013-10-31 18:45:53" + "time": "2013-12-20 21:39:07" }, { - "name": "behat/mink-browserkit-driver", + "name": "doctrine/cache", "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/Behat/MinkBrowserKitDriver.git", - "reference": "6580790c180a34ae4344005bb9383b83588da851" + "url": "https://github.com/doctrine/cache.git", + "reference": "36c4eee5051629524389da376ba270f15765e49f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/MinkBrowserKitDriver/zipball/6580790c180a34ae4344005bb9383b83588da851", - "reference": "6580790c180a34ae4344005bb9383b83588da851", + "url": "https://api.github.com/repos/doctrine/cache/zipball/36c4eee5051629524389da376ba270f15765e49f", + "reference": "36c4eee5051629524389da376ba270f15765e49f", "shasum": "" }, "require": { - "behat/mink": "~1.5.0", - "php": ">=5.3.1", - "symfony/browser-kit": "~2.0", - "symfony/dom-crawler": "~2.0" + "php": ">=5.3.2" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" }, "require-dev": { - "silex/silex": "@dev" + "phpunit/phpunit": ">=3.7", + "satooshi/php-coveralls": "~0.6" }, - "type": "mink-driver", + "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { "psr-0": { - "Behat\\Mink\\Driver": "src/" + "Doctrine\\Common\\Cache\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2238,49 +2218,65 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" } ], - "description": "Symfony2 BrowserKit driver for Mink framework", - "homepage": "http://mink.behat.org/", + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "Mink", - "Symfony2", - "browser", - "testing" + "cache", + "caching" ], - "time": "2013-09-06 09:22:29" + "time": "2013-12-18 17:21:03" }, { - "name": "behat/mink-goutte-driver", + "name": "doctrine/collections", "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/Behat/MinkGoutteDriver.git", - "reference": "c3b5772506be0126be95dce6e3ba5d27d4fda41e" + "url": "https://github.com/doctrine/collections.git", + "reference": "e6d8f1240e10f268c8e8c30e9e88a12853f84695" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/MinkGoutteDriver/zipball/c3b5772506be0126be95dce6e3ba5d27d4fda41e", - "reference": "c3b5772506be0126be95dce6e3ba5d27d4fda41e", + "url": "https://api.github.com/repos/doctrine/collections/zipball/e6d8f1240e10f268c8e8c30e9e88a12853f84695", + "reference": "e6d8f1240e10f268c8e8c30e9e88a12853f84695", "shasum": "" }, "require": { - "behat/mink-browserkit-driver": ">=1.0.5,<1.2.0", - "fabpot/goutte": "~1.0", - "php": ">=5.3.1" + "php": ">=5.3.2" }, - "type": "mink-driver", + "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { "psr-0": { - "Behat\\Mink\\Driver": "src/" + "Doctrine\\Common\\Collections\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2289,49 +2285,71 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" } ], - "description": "Goutte driver for Mink framework", - "homepage": "http://mink.behat.org/", + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "browser", - "goutte", - "headless", - "testing" + "array", + "collections", + "iterator" ], - "time": "2013-10-07 09:45:23" + "time": "2014-01-01 23:58:38" }, { - "name": "behat/mink-selenium2-driver", - "version": "dev-master", + "name": "doctrine/common", + "version": "2.4.x-dev", "source": { "type": "git", - "url": "https://github.com/Behat/MinkSelenium2Driver.git", - "reference": "2e73d8134ec8526b6e742f05c146fec2d5e1b8d6" + "url": "https://github.com/doctrine/common.git", + "reference": "c94d6ff79e25418b1225e187c782bf4742f23a8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/MinkSelenium2Driver/zipball/2e73d8134ec8526b6e742f05c146fec2d5e1b8d6", - "reference": "2e73d8134ec8526b6e742f05c146fec2d5e1b8d6", + "url": "https://api.github.com/repos/doctrine/common/zipball/c94d6ff79e25418b1225e187c782bf4742f23a8b", + "reference": "c94d6ff79e25418b1225e187c782bf4742f23a8b", "shasum": "" }, "require": { - "behat/mink": "~1.5.0", - "instaclick/php-webdriver": "~1.1", - "php": ">=5.3.1" + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": ">=5.3.2" }, - "type": "mink-driver", + "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.4.x-dev" } }, "autoload": { "psr-0": { - "Behat\\Mink\\Driver": "src/" + "Doctrine\\Common\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2340,68 +2358,76 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" }, { - "name": "Pete Otaqui", - "email": "pete@otaqui.com", - "homepage": "https://github.com/pete-otaqui" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" } ], - "description": "Selenium2 (WebDriver) driver for Mink framework", - "homepage": "http://mink.behat.org/", + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "ajax", - "browser", - "javascript", - "selenium", - "testing", - "webdriver" + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" ], - "time": "2013-11-04 21:23:47" + "time": "2013-09-07 10:20:35" }, { - "name": "codeception/codeception", - "version": "1.7.2", + "name": "doctrine/dbal", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/Codeception/Codeception.git", - "reference": "0f5fc9957ceca59039f742df2dc98722b3e33ac4" + "url": "https://github.com/doctrine/dbal.git", + "reference": "9975da983f92c731dcebb5a5f815455163dfcce1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/0f5fc9957ceca59039f742df2dc98722b3e33ac4", - "reference": "0f5fc9957ceca59039f742df2dc98722b3e33ac4", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/9975da983f92c731dcebb5a5f815455163dfcce1", + "reference": "9975da983f92c731dcebb5a5f815455163dfcce1", "shasum": "" }, "require": { - "behat/mink": "1.5.*", - "behat/mink-goutte-driver": "1.0.*", - "behat/mink-selenium2-driver": "1.1.*", - "facebook/webdriver": "*", - "monolog/monolog": "*", - "php": ">=5.3.3", - "phpunit/phpunit": "3.7.*", - "symfony/console": "~2.3", - "symfony/event-dispatcher": "~2.3", - "symfony/finder": "~2.3", - "symfony/yaml": "~2.3" + "doctrine/common": "2.4.*", + "php": ">=5.3.2" }, "require-dev": { - "behat/mink-selenium-driver": "1.1.*", - "behat/mink-zombie-driver": "1.1.*", - "facebook/php-sdk": "3.*", - "videlalvaro/php-amqplib": "*" + "phpunit/phpunit": "3.7.*", + "symfony/console": "2.*" + }, + "suggest": { + "symfony/console": "Allows use of the command line interface" }, - "bin": [ - "codecept" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5.x-dev" + } + }, "autoload": { "psr-0": { - "Codeception": "src" + "Doctrine\\DBAL\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2410,113 +2436,160 @@ ], "authors": [ { - "name": "Michael Bodnarchuk", - "email": "davert@mail.ua", - "homepage": "http://codegyre.com" + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" } ], - "description": "BDD-style testing framework", - "homepage": "http://codeception.com/", + "description": "Database Abstraction Layer", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "BDD", - "TDD", - "acceptance testing", - "functional testing", - "unit testing" + "database", + "dbal", + "persistence", + "queryobject" ], - "time": "2013-11-01 22:26:04" + "time": "2014-01-01 17:40:31" }, { - "name": "davedevelopment/hamcrest-php", + "name": "doctrine/inflector", "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/davedevelopment/hamcrest-php.git", - "reference": "903f3f1de76dde2ac1c767f5fd3318caacf2683d" + "url": "https://github.com/doctrine/inflector.git", + "reference": "a81c334f2764b09e2f13a55cfd8fe3233946f728" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/davedevelopment/hamcrest-php/zipball/903f3f1de76dde2ac1c767f5fd3318caacf2683d", - "reference": "903f3f1de76dde2ac1c767f5fd3318caacf2683d", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/a81c334f2764b09e2f13a55cfd8fe3233946f728", + "reference": "a81c334f2764b09e2f13a55cfd8fe3233946f728", "shasum": "" }, "require": { "php": ">=5.3.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-0": { - "Hamcrest": "hamcrest" + "Doctrine\\Common\\Inflector\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD" + "MIT" ], - "description": "This is the PHP port of Hamcrest Matchers", + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/", + "role": "Creator" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "test" + "inflection", + "pluralize", + "singularize", + "string" ], - "time": "2013-09-16 08:27:32" + "time": "2013-12-21 19:19:50" }, { - "name": "dflydev/markdown", + "name": "doctrine/lexer", "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/dflydev/dflydev-markdown.git", - "reference": "6baed9b50f29c980795b6656d43722aadb126f7e" + "url": "https://github.com/doctrine/lexer.git", + "reference": "f12a5f74e5f4a9e3f558f3288504e121edfad891" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-markdown/zipball/6baed9b50f29c980795b6656d43722aadb126f7e", - "reference": "6baed9b50f29c980795b6656d43722aadb126f7e", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/f12a5f74e5f4a9e3f558f3288504e121edfad891", + "reference": "f12a5f74e5f4a9e3f558f3288504e121edfad891", "shasum": "" }, "require": { - "php": ">=5.3" + "php": ">=5.3.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-0": { - "dflydev\\markdown": "src" + "Doctrine\\Common\\Lexer\\": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" }, { - "name": "Michel Fortin", - "homepage": "http://michelf.com" + "name": "Roman Borschel", + "email": "roman@code-factory.org" }, { - "name": "John Gruber", - "homepage": "http://daringfireball.net" + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" } ], - "description": "PHP Markdown & Extra", - "homepage": "http://github.com/dflydev/dflydev-markdown", + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", "keywords": [ - "markdown" + "lexer", + "parser" ], - "time": "2013-09-23 12:00:18" + "time": "2013-12-20 21:39:00" }, { "name": "fabpot/goutte", @@ -2524,12 +2597,12 @@ "source": { "type": "git", "url": "https://github.com/fabpot/Goutte.git", - "reference": "cff6881c93791edbfef88928ca6b1dfcf60d3273" + "reference": "7c3221bbbeecbec9aa5c04cd7cc10e9684de0eb4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fabpot/Goutte/zipball/cff6881c93791edbfef88928ca6b1dfcf60d3273", - "reference": "cff6881c93791edbfef88928ca6b1dfcf60d3273", + "url": "https://api.github.com/repos/fabpot/Goutte/zipball/7c3221bbbeecbec9aa5c04cd7cc10e9684de0eb4", + "reference": "7c3221bbbeecbec9aa5c04cd7cc10e9684de0eb4", "shasum": "" }, "require": { @@ -2572,24 +2645,25 @@ "keywords": [ "scraper" ], - "time": "2013-11-11 19:09:12" + "time": "2013-11-21 05:56:19" }, { "name": "facebook/webdriver", - "version": "dev-master", + "version": "v0.3", "source": { "type": "git", "url": "https://github.com/facebook/php-webdriver.git", - "reference": "dd30a29091b50c0277c8bd54a336239a1bde9884" + "reference": "1b0facc33133f0ff990df8cebe7f2e19b2603da3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/dd30a29091b50c0277c8bd54a336239a1bde9884", - "reference": "dd30a29091b50c0277c8bd54a336239a1bde9884", + "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/1b0facc33133f0ff990df8cebe7f2e19b2603da3", + "reference": "1b0facc33133f0ff990df8cebe7f2e19b2603da3", "shasum": "" }, "require": { - "php": ">=5.3.19" + "php": ">=5.3.19", + "phpunit/phpunit": "3.7.*" }, "type": "library", "autoload": { @@ -2603,7 +2677,13 @@ ], "description": "A php client for WebDriver", "homepage": "https://github.com/facebook/php-webdriver", - "time": "2013-11-09 21:20:19" + "keywords": [ + "facebook", + "php", + "selenium", + "webdriver" + ], + "time": "2013-11-26 23:16:02" }, { "name": "guzzle/common", @@ -2612,12 +2692,12 @@ "source": { "type": "git", "url": "https://github.com/guzzle/common.git", - "reference": "5126e268446c7e7df961b89128d71878e0652432" + "reference": "eb4e34cac1b18583f0ee74bf6a9dda96bd771a1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/common/zipball/5126e268446c7e7df961b89128d71878e0652432", - "reference": "5126e268446c7e7df961b89128d71878e0652432", + "url": "https://api.github.com/repos/guzzle/common/zipball/eb4e34cac1b18583f0ee74bf6a9dda96bd771a1e", + "reference": "eb4e34cac1b18583f0ee74bf6a9dda96bd771a1e", "shasum": "" }, "require": { @@ -2647,7 +2727,7 @@ "event", "exception" ], - "time": "2013-10-02 20:47:00" + "time": "2013-12-05 23:39:20" }, { "name": "guzzle/http", @@ -2656,12 +2736,12 @@ "source": { "type": "git", "url": "https://github.com/guzzle/http.git", - "reference": "3420035adcf312d62a2e64f3e6b3e3e590121786" + "reference": "b497e6b6a5a85751ae0c6858d677f7c4857dd171" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/http/zipball/3420035adcf312d62a2e64f3e6b3e3e590121786", - "reference": "3420035adcf312d62a2e64f3e6b3e3e590121786", + "url": "https://api.github.com/repos/guzzle/http/zipball/b497e6b6a5a85751ae0c6858d677f7c4857dd171", + "reference": "b497e6b6a5a85751ae0c6858d677f7c4857dd171", "shasum": "" }, "require": { @@ -2704,7 +2784,7 @@ "http", "http client" ], - "time": "2013-09-20 22:05:53" + "time": "2013-12-04 22:21:25" }, { "name": "guzzle/parser", @@ -2713,12 +2793,12 @@ "source": { "type": "git", "url": "https://github.com/guzzle/parser.git", - "reference": "a25c2ddda1c52fb69a4ee56eb530b13ddd9573c2" + "reference": "77cae6425bc3466e1e47bdf6d2eebc15a092dbcc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/parser/zipball/a25c2ddda1c52fb69a4ee56eb530b13ddd9573c2", - "reference": "a25c2ddda1c52fb69a4ee56eb530b13ddd9573c2", + "url": "https://api.github.com/repos/guzzle/parser/zipball/77cae6425bc3466e1e47bdf6d2eebc15a092dbcc", + "reference": "77cae6425bc3466e1e47bdf6d2eebc15a092dbcc", "shasum": "" }, "require": { @@ -2748,7 +2828,7 @@ "message", "url" ], - "time": "2013-07-11 22:46:03" + "time": "2013-10-24 00:04:09" }, { "name": "guzzle/stream", @@ -2805,16 +2885,16 @@ }, { "name": "instaclick/php-webdriver", - "version": "1.1", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/instaclick/php-webdriver.git", - "reference": "786ba0dc9c594fb0b9b8171db852b2224b23811e" + "reference": "5b8fcb3c648dc202a4ae5f797d3d9e785d6c9bdc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/786ba0dc9c594fb0b9b8171db852b2224b23811e", - "reference": "786ba0dc9c594fb0b9b8171db852b2224b23811e", + "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/5b8fcb3c648dc202a4ae5f797d3d9e785d6c9bdc", + "reference": "5b8fcb3c648dc202a4ae5f797d3d9e785d6c9bdc", "shasum": "" }, "require": { @@ -2859,7 +2939,7 @@ "webdriver", "webtest" ], - "time": "2013-10-15 14:53:05" + "time": "2014-01-02 22:38:05" }, { "name": "juy/profiler", @@ -2913,12 +2993,12 @@ "source": { "type": "git", "url": "https://github.com/padraic/mockery.git", - "reference": "23ca1a274fb8fd175101574ac81cd1b82f3d0489" + "reference": "644b78e1ecee00419b63b2ee5cf0e427f34d82a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/padraic/mockery/zipball/23ca1a274fb8fd175101574ac81cd1b82f3d0489", - "reference": "23ca1a274fb8fd175101574ac81cd1b82f3d0489", + "url": "https://api.github.com/repos/padraic/mockery/zipball/644b78e1ecee00419b63b2ee5cf0e427f34d82a6", + "reference": "644b78e1ecee00419b63b2ee5cf0e427f34d82a6", "shasum": "" }, "require": { @@ -2926,7 +3006,7 @@ "php": ">=5.3.2" }, "require-dev": { - "hamcrest/hamcrest": "1.1.0" + "hamcrest/hamcrest-php": "~1.1" }, "type": "library", "autoload": { @@ -2959,7 +3039,7 @@ "test double", "testing" ], - "time": "2013-11-12 11:09:16" + "time": "2013-12-31 14:43:56" }, { "name": "phpdocumentor/reflection-docblock", @@ -3257,12 +3337,12 @@ "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "236f65cc97d6beaa8fcb8a27b19bd278f3912677" + "reference": "92e8faf88773fa173b0ab2425ba4ade434c58c5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/236f65cc97d6beaa8fcb8a27b19bd278f3912677", - "reference": "236f65cc97d6beaa8fcb8a27b19bd278f3912677", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/92e8faf88773fa173b0ab2425ba4ade434c58c5d", + "reference": "92e8faf88773fa173b0ab2425ba4ade434c58c5d", "shasum": "" }, "require": { @@ -3323,7 +3403,7 @@ "testing", "xunit" ], - "time": "2013-11-06 01:58:51" + "time": "2013-12-29 07:28:17" }, { "name": "phpunit/phpunit-mock-objects", @@ -3390,12 +3470,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ClassLoader.git", - "reference": "7bb58f990b5c2d8fa0b70d29585eddb52d360a4c" + "reference": "d122b8a0ef3bc0153802bbd598c0f6972657a3c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/7bb58f990b5c2d8fa0b70d29585eddb52d360a4c", - "reference": "7bb58f990b5c2d8fa0b70d29585eddb52d360a4c", + "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/d122b8a0ef3bc0153802bbd598c0f6972657a3c3", + "reference": "d122b8a0ef3bc0153802bbd598c0f6972657a3c3", "shasum": "" }, "require": { @@ -3407,7 +3487,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.5-dev" } }, "autoload": { @@ -3431,7 +3511,7 @@ ], "description": "Symfony ClassLoader Component", "homepage": "http://symfony.com", - "time": "2013-09-19 09:47:34" + "time": "2013-11-26 16:42:52" }, { "name": "symfony/yaml", @@ -3440,12 +3520,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/Yaml.git", - "reference": "1f7cabb841e62ec49615bd965ac780fd994b3f64" + "reference": "c2e065720708d6db30dfba1278b8f53c45dd9fe0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/1f7cabb841e62ec49615bd965ac780fd994b3f64", - "reference": "1f7cabb841e62ec49615bd965ac780fd994b3f64", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/c2e065720708d6db30dfba1278b8f53c45dd9fe0", + "reference": "c2e065720708d6db30dfba1278b8f53c45dd9fe0", "shasum": "" }, "require": { @@ -3454,7 +3534,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.5-dev" } }, "autoload": { @@ -3478,7 +3558,7 @@ ], "description": "Symfony Yaml Component", "homepage": "http://symfony.com", - "time": "2013-10-17 11:48:11" + "time": "2013-12-28 08:12:58" }, { "name": "way/laravel-test-helpers", @@ -3526,6 +3606,7 @@ "minimum-stability": "dev", "stability-flags": { "patricktalmadge/bootstrapper": 20, + "laravel/framework": 0, "way/laravel-test-helpers": 20, "mockery/mockery": 20, "davedevelopment/hamcrest-php": 20, From 000e6229711ae7020c5abe7275b71c215b67ba3f Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Thu, 2 Jan 2014 16:32:20 -0800 Subject: [PATCH 12/26] Update .htaccess --- public/.htaccess | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/public/.htaccess b/public/.htaccess index 2eb8ef1..7fd5dd7 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -1,9 +1,15 @@ -Options -MultiViews - + + Options -MultiViews + + RewriteEngine On - RewriteCond %{REQUEST_FILENAME} !-d + # Redirect Trailing Slashes... + RewriteRule ^(.*)/$ /$1 [L,R=301] + + # Handle Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] From 7d11321c2bdf1f78293c2580505e3b818ac9d519 Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Thu, 2 Jan 2014 16:37:31 -0800 Subject: [PATCH 13/26] Update app config, and add a develop specific version --- app/config/app.php | 147 +++++++++++++++++-------------------- app/config/develop/app.php | 101 +++++++++++++++++++++++++ 2 files changed, 169 insertions(+), 79 deletions(-) create mode 100644 app/config/develop/app.php diff --git a/app/config/app.php b/app/config/app.php index e78cfbf..8649846 100644 --- a/app/config/app.php +++ b/app/config/app.php @@ -11,7 +11,7 @@ | application. If disabled, a simple generic error page is shown. | */ - 'debug' => true, + 'debug' => false, /* |-------------------------------------------------------------------------- | Application URL @@ -22,7 +22,7 @@ | your application so that it is used when running Artisan tasks. | */ - 'url' => 'http://newsite.dev', + 'url' => 'http://example.com', /* |-------------------------------------------------------------------------- | Application Timezone @@ -33,7 +33,7 @@ | ahead and set this to a sensible default for you out of the box. | */ - 'timezone' => 'UTC', + 'timezone' => 'UTC', /* |-------------------------------------------------------------------------- | Application Locale Configuration @@ -44,7 +44,7 @@ | to any of the locales which will be supported by the application. | */ - 'locale' => 'en', + 'locale' => 'en', /* |-------------------------------------------------------------------------- | Encryption Key @@ -56,7 +56,7 @@ | Run `artisan key:generate` to automatic generate your own. | */ - 'key' => 'ReplaceWithYourKey', + 'key' => 'ReplaceWithYourKey', /* |-------------------------------------------------------------------------- | Autoloaded Service Providers @@ -71,9 +71,8 @@ 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', 'Illuminate\Cache\CacheServiceProvider', - 'Illuminate\Foundation\Providers\CommandCreatorServiceProvider', 'Illuminate\Session\CommandsServiceProvider', - 'Illuminate\Foundation\Providers\ComposerServiceProvider', + 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider', 'Illuminate\Routing\ControllerServiceProvider', 'Illuminate\Cookie\CookieServiceProvider', 'Illuminate\Database\DatabaseServiceProvider', @@ -81,30 +80,21 @@ 'Illuminate\Filesystem\FilesystemServiceProvider', 'Illuminate\Hashing\HashServiceProvider', 'Illuminate\Html\HtmlServiceProvider', - 'Illuminate\Foundation\Providers\KeyGeneratorServiceProvider', 'Illuminate\Log\LogServiceProvider', 'Illuminate\Mail\MailServiceProvider', - 'Illuminate\Foundation\Providers\MaintenanceServiceProvider', 'Illuminate\Database\MigrationServiceProvider', - 'Illuminate\Foundation\Providers\OptimizeServiceProvider', 'Illuminate\Pagination\PaginationServiceProvider', - 'Illuminate\Foundation\Providers\PublisherServiceProvider', 'Illuminate\Queue\QueueServiceProvider', 'Illuminate\Redis\RedisServiceProvider', + 'Illuminate\Remote\RemoteServiceProvider', 'Illuminate\Auth\Reminders\ReminderServiceProvider', - 'Illuminate\Foundation\Providers\RouteListServiceProvider', 'Illuminate\Database\SeedServiceProvider', - 'Illuminate\Foundation\Providers\ServerServiceProvider', 'Illuminate\Session\SessionServiceProvider', - 'Illuminate\Foundation\Providers\TinkerServiceProvider', 'Illuminate\Translation\TranslationServiceProvider', 'Illuminate\Validation\ValidationServiceProvider', 'Illuminate\View\ViewServiceProvider', 'Illuminate\Workbench\WorkbenchServiceProvider', 'Bootstrapper\BootstrapperServiceProvider', - /* Development service providers */ - 'Juy\Profiler\Providers\ProfilerServiceProvider', - 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', ), /* |-------------------------------------------------------------------------- @@ -116,7 +106,7 @@ | list of all of the services. Here, you may set its storage spot. | */ - 'manifest' => storage_path().'/meta', + 'manifest' => storage_path().'/meta', /* |-------------------------------------------------------------------------- | Class Aliases @@ -127,67 +117,66 @@ | the aliases are "lazy" loaded so they don't hinder performance. | */ - 'aliases' => array( - 'App' => 'Illuminate\Support\Facades\App', - 'Artisan' => 'Illuminate\Support\Facades\Artisan', - 'Auth' => 'Illuminate\Support\Facades\Auth', - 'Blade' => 'Illuminate\Support\Facades\Blade', - 'Cache' => 'Illuminate\Support\Facades\Cache', - 'ClassLoader' => 'Illuminate\Support\ClassLoader', - 'Config' => 'Illuminate\Support\Facades\Config', - 'Controller' => 'Illuminate\Routing\Controllers\Controller', - 'Cookie' => 'Illuminate\Support\Facades\Cookie', - 'Crypt' => 'Illuminate\Support\Facades\Crypt', - 'DB' => 'Illuminate\Support\Facades\DB', - 'Eloquent' => 'Illuminate\Database\Eloquent\Model', - 'Event' => 'Illuminate\Support\Facades\Event', - 'File' => 'Illuminate\Support\Facades\File', - /* 'Form' => 'Illuminate\Support\Facades\Form', */ - 'Hash' => 'Illuminate\Support\Facades\Hash', - 'HTML' => 'Illuminate\Support\Facades\HTML', - 'Input' => 'Illuminate\Support\Facades\Input', - 'Lang' => 'Illuminate\Support\Facades\Lang', - 'Log' => 'Illuminate\Support\Facades\Log', - 'Mail' => 'Illuminate\Support\Facades\Mail', - /* 'Paginator' => 'Illuminate\Support\Facades\Paginator', */ - 'Password' => 'Illuminate\Support\Facades\Password', - 'Queue' => 'Illuminate\Support\Facades\Queue', - 'Redirect' => 'Illuminate\Support\Facades\Redirect', - 'Redis' => 'Illuminate\Support\Facades\Redis', - 'Request' => 'Illuminate\Support\Facades\Request', - 'Response' => 'Illuminate\Support\Facades\Response', - 'Route' => 'Illuminate\Support\Facades\Route', - 'Schema' => 'Illuminate\Support\Facades\Schema', - 'Seeder' => 'Illuminate\Database\Seeder', - 'Session' => 'Illuminate\Support\Facades\Session', - 'Str' => 'Illuminate\Support\Str', - 'URL' => 'Illuminate\Support\Facades\URL', - 'Validator' => 'Illuminate\Support\Facades\Validator', - 'View' => 'Illuminate\Support\Facades\View', - 'Alert' => 'Bootstrapper\\Alert', - 'Badge' => 'Bootstrapper\\Badge', - 'Breadcrumb' => 'Bootstrapper\\Breadcrumb', - 'Button' => 'Bootstrapper\\Button', - 'ButtonGroup' => 'Bootstrapper\\ButtonGroup', - 'ButtonToolbar' => 'Bootstrapper\\ButtonToolbar', - 'Carousel' => 'Bootstrapper\\Carousel', + 'aliases' => array( + 'App' => 'Illuminate\Support\Facades\App', + 'Artisan' => 'Illuminate\Support\Facades\Artisan', + 'Auth' => 'Illuminate\Support\Facades\Auth', + 'Blade' => 'Illuminate\Support\Facades\Blade', + 'Cache' => 'Illuminate\Support\Facades\Cache', + 'ClassLoader' => 'Illuminate\Support\ClassLoader', + 'Config' => 'Illuminate\Support\Facades\Config', + 'Controller' => 'Illuminate\Routing\Controller', + 'Cookie' => 'Illuminate\Support\Facades\Cookie', + 'Crypt' => 'Illuminate\Support\Facades\Crypt', + 'DB' => 'Illuminate\Support\Facades\DB', + 'Eloquent' => 'Illuminate\Database\Eloquent\Model', + 'Event' => 'Illuminate\Support\Facades\Event', + 'File' => 'Illuminate\Support\Facades\File', + /*'Form' => 'Illuminate\Support\Facades\Form',*/ + 'Hash' => 'Illuminate\Support\Facades\Hash', + 'HTML' => 'Illuminate\Support\Facades\HTML', + 'Input' => 'Illuminate\Support\Facades\Input', + 'Lang' => 'Illuminate\Support\Facades\Lang', + 'Log' => 'Illuminate\Support\Facades\Log', + 'Mail' => 'Illuminate\Support\Facades\Mail', + /*'Paginator' => 'Illuminate\Support\Facades\Paginator',*/ + 'Password' => 'Illuminate\Support\Facades\Password', + 'Queue' => 'Illuminate\Support\Facades\Queue', + 'Redirect' => 'Illuminate\Support\Facades\Redirect', + 'Redis' => 'Illuminate\Support\Facades\Redis', + 'Request' => 'Illuminate\Support\Facades\Request', + 'Response' => 'Illuminate\Support\Facades\Response', + 'Route' => 'Illuminate\Support\Facades\Route', + 'Schema' => 'Illuminate\Support\Facades\Schema', + 'Seeder' => 'Illuminate\Database\Seeder', + 'Session' => 'Illuminate\Support\Facades\Session', + 'SSH' => 'Illuminate\Support\Facades\SSH', + 'Str' => 'Illuminate\Support\Str', + 'URL' => 'Illuminate\Support\Facades\URL', + 'Validator' => 'Illuminate\Support\Facades\Validator', + 'View' => 'Illuminate\Support\Facades\View', + 'Alert' => 'Bootstrapper\\Alert', + 'Badge' => 'Bootstrapper\\Badge', + 'Breadcrumb' => 'Bootstrapper\\Breadcrumb', + 'Button' => 'Bootstrapper\\Button', + 'ButtonGroup' => 'Bootstrapper\\ButtonGroup', + 'ButtonToolbar' => 'Bootstrapper\\ButtonToolbar', + 'Carousel' => 'Bootstrapper\\Carousel', 'DropdownButton' => 'Bootstrapper\\DropdownButton', - 'Form' => 'Bootstrapper\\Form', - 'Helpers' => 'Bootstrapper\\Helpers', - 'Icon' => 'Bootstrapper\\Icon', - 'Image' => 'Bootstrapper\\Image', - 'Label' => 'Bootstrapper\\Label', - 'MediaObject' => 'Bootstrapper\\MediaObject', - 'Navbar' => 'Bootstrapper\\Navbar', - 'Navigation' => 'Bootstrapper\\Navigation', - 'Paginator' => 'Bootstrapper\\Paginator', - 'Progress' => 'Bootstrapper\\Progress', - 'Tabbable' => 'Bootstrapper\\Tabbable', - 'Table' => 'Bootstrapper\\Table', - 'Thumbnail' => 'Bootstrapper\\Thumbnail', - 'Typeahead' => 'Bootstrapper\\Typeahead', - 'Typography' => 'Bootstrapper\\Typography', - /* Development aliases */ - 'Profiler' => 'Juy\Profiler\Facades\Profiler', + 'Form' => 'Bootstrapper\\Form', + 'Helpers' => 'Bootstrapper\\Helpers', + 'Icon' => 'Bootstrapper\\Icon', + 'Image' => 'Bootstrapper\\Image', + 'Label' => 'Bootstrapper\\Label', + 'MediaObject' => 'Bootstrapper\\MediaObject', + 'Navbar' => 'Bootstrapper\\Navbar', + 'Navigation' => 'Bootstrapper\\Navigation', + 'Paginator' => 'Bootstrapper\\Paginator', + 'Progress' => 'Bootstrapper\\Progress', + 'Tabbable' => 'Bootstrapper\\Tabbable', + 'Table' => 'Bootstrapper\\Table', + 'Thumbnail' => 'Bootstrapper\\Thumbnail', + 'Typeahead' => 'Bootstrapper\\Typeahead', + 'Typography' => 'Bootstrapper\\Typography', ), ); diff --git a/app/config/develop/app.php b/app/config/develop/app.php new file mode 100644 index 0000000..90e1cba --- /dev/null +++ b/app/config/develop/app.php @@ -0,0 +1,101 @@ + true, + 'url' => 'http://example.dev', + 'providers' => array( + 'Illuminate\Foundation\Providers\ArtisanServiceProvider', + 'Illuminate\Auth\AuthServiceProvider', + 'Illuminate\Cache\CacheServiceProvider', + 'Illuminate\Session\CommandsServiceProvider', + 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider', + 'Illuminate\Routing\ControllerServiceProvider', + 'Illuminate\Cookie\CookieServiceProvider', + 'Illuminate\Database\DatabaseServiceProvider', + 'Illuminate\Encryption\EncryptionServiceProvider', + 'Illuminate\Filesystem\FilesystemServiceProvider', + 'Illuminate\Hashing\HashServiceProvider', + 'Illuminate\Html\HtmlServiceProvider', + 'Illuminate\Log\LogServiceProvider', + 'Illuminate\Mail\MailServiceProvider', + 'Illuminate\Database\MigrationServiceProvider', + 'Illuminate\Pagination\PaginationServiceProvider', + 'Illuminate\Queue\QueueServiceProvider', + 'Illuminate\Redis\RedisServiceProvider', + 'Illuminate\Remote\RemoteServiceProvider', + 'Illuminate\Auth\Reminders\ReminderServiceProvider', + 'Illuminate\Database\SeedServiceProvider', + 'Illuminate\Session\SessionServiceProvider', + 'Illuminate\Translation\TranslationServiceProvider', + 'Illuminate\Validation\ValidationServiceProvider', + 'Illuminate\View\ViewServiceProvider', + 'Illuminate\Workbench\WorkbenchServiceProvider', + 'Bootstrapper\BootstrapperServiceProvider', + /* Development service providers */ + 'Juy\Profiler\Providers\ProfilerServiceProvider', + 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', + ), + + 'aliases' => array( + 'App' => 'Illuminate\Support\Facades\App', + 'Artisan' => 'Illuminate\Support\Facades\Artisan', + 'Auth' => 'Illuminate\Support\Facades\Auth', + 'Blade' => 'Illuminate\Support\Facades\Blade', + 'Cache' => 'Illuminate\Support\Facades\Cache', + 'ClassLoader' => 'Illuminate\Support\ClassLoader', + 'Config' => 'Illuminate\Support\Facades\Config', + 'Controller' => 'Illuminate\Routing\Controller', + 'Cookie' => 'Illuminate\Support\Facades\Cookie', + 'Crypt' => 'Illuminate\Support\Facades\Crypt', + 'DB' => 'Illuminate\Support\Facades\DB', + 'Eloquent' => 'Illuminate\Database\Eloquent\Model', + 'Event' => 'Illuminate\Support\Facades\Event', + 'File' => 'Illuminate\Support\Facades\File', + 'Hash' => 'Illuminate\Support\Facades\Hash', + 'HTML' => 'Illuminate\Support\Facades\HTML', + 'Input' => 'Illuminate\Support\Facades\Input', + 'Lang' => 'Illuminate\Support\Facades\Lang', + 'Log' => 'Illuminate\Support\Facades\Log', + 'Mail' => 'Illuminate\Support\Facades\Mail', + 'Password' => 'Illuminate\Support\Facades\Password', + 'Queue' => 'Illuminate\Support\Facades\Queue', + 'Redirect' => 'Illuminate\Support\Facades\Redirect', + 'Redis' => 'Illuminate\Support\Facades\Redis', + 'Request' => 'Illuminate\Support\Facades\Request', + 'Response' => 'Illuminate\Support\Facades\Response', + 'Route' => 'Illuminate\Support\Facades\Route', + 'Schema' => 'Illuminate\Support\Facades\Schema', + 'Seeder' => 'Illuminate\Database\Seeder', + 'Session' => 'Illuminate\Support\Facades\Session', + 'SSH' => 'Illuminate\Support\Facades\SSH', + 'Str' => 'Illuminate\Support\Str', + 'URL' => 'Illuminate\Support\Facades\URL', + 'Validator' => 'Illuminate\Support\Facades\Validator', + 'View' => 'Illuminate\Support\Facades\View', + 'Alert' => 'Bootstrapper\\Alert', + 'Badge' => 'Bootstrapper\\Badge', + 'Breadcrumb' => 'Bootstrapper\\Breadcrumb', + 'Button' => 'Bootstrapper\\Button', + 'ButtonGroup' => 'Bootstrapper\\ButtonGroup', + 'ButtonToolbar' => 'Bootstrapper\\ButtonToolbar', + 'Carousel' => 'Bootstrapper\\Carousel', + 'DropdownButton' => 'Bootstrapper\\DropdownButton', + 'Form' => 'Bootstrapper\\Form', + 'Helpers' => 'Bootstrapper\\Helpers', + 'Icon' => 'Bootstrapper\\Icon', + 'Image' => 'Bootstrapper\\Image', + 'Label' => 'Bootstrapper\\Label', + 'MediaObject' => 'Bootstrapper\\MediaObject', + 'Navbar' => 'Bootstrapper\\Navbar', + 'Navigation' => 'Bootstrapper\\Navigation', + 'Paginator' => 'Bootstrapper\\Paginator', + 'Progress' => 'Bootstrapper\\Progress', + 'Tabbable' => 'Bootstrapper\\Tabbable', + 'Table' => 'Bootstrapper\\Table', + 'Thumbnail' => 'Bootstrapper\\Thumbnail', + 'Typeahead' => 'Bootstrapper\\Typeahead', + 'Typography' => 'Bootstrapper\\Typography', + /* Development aliases */ + 'Profiler' => 'Juy\Profiler\Facades\Profiler', + ), +); From 9d75adc0782610ecc50c48287e618edd58043106 Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Thu, 2 Jan 2014 16:38:01 -0800 Subject: [PATCH 14/26] Remove pointless file --- app/config/packages/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 app/config/packages/.gitkeep diff --git a/app/config/packages/.gitkeep b/app/config/packages/.gitkeep deleted file mode 100644 index e69de29..0000000 From 94047b911106b67986cf35d622ac6be8a5036c5f Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Thu, 2 Jan 2014 16:39:01 -0800 Subject: [PATCH 15/26] Configs for develop only packages should be in develop section --- app/config/{ => develop}/packages/juy/profiler/config.php | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/config/{ => develop}/packages/juy/profiler/config.php (100%) diff --git a/app/config/packages/juy/profiler/config.php b/app/config/develop/packages/juy/profiler/config.php similarity index 100% rename from app/config/packages/juy/profiler/config.php rename to app/config/develop/packages/juy/profiler/config.php From 013a84c81cebcaad7ed5c12e6761f8a12b8bde70 Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Thu, 2 Jan 2014 16:42:42 -0800 Subject: [PATCH 16/26] Update session config --- app/config/session.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/config/session.php b/app/config/session.php index ef53727..8576a43 100644 --- a/app/config/session.php +++ b/app/config/session.php @@ -103,4 +103,15 @@ | */ 'domain' => null, + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you if it can not be done securely. + | + */ + 'secure' => false, ); From b4619b56959acfa218b01ea1d2bbaf3cb54b474f Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Fri, 3 Jan 2014 10:58:47 -0800 Subject: [PATCH 17/26] Don't need this file in a directory that doesn't run empty --- app/controllers/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 app/controllers/.gitkeep diff --git a/app/controllers/.gitkeep b/app/controllers/.gitkeep deleted file mode 100644 index e69de29..0000000 From e5c9b245750c5d86efbb48eac68af9675508f460 Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Fri, 3 Jan 2014 11:07:16 -0800 Subject: [PATCH 18/26] Update files for 4.1 --- app/config/database.php | 46 ++++++++++---------- app/config/queue.php | 28 +++++++++--- app/config/remote.php | 49 +++++++++++++++++++++ app/config/session.php | 47 ++++++++++---------- app/config/view.php | 39 ++++++++--------- app/controllers/BaseController.php | 2 + app/lang/en/reminders.php | 3 +- artisan | 69 ++---------------------------- bootstrap/start.php | 8 ++-- public/index.php | 55 +----------------------- 10 files changed, 148 insertions(+), 198 deletions(-) create mode 100644 app/config/remote.php diff --git a/app/config/database.php b/app/config/database.php index a0348a2..e852864 100644 --- a/app/config/database.php +++ b/app/config/database.php @@ -22,7 +22,7 @@ | you may use many connections at once using the Database library. | */ - 'default' => 'sqlite-memory', + 'default' => 'sqlite', /* |-------------------------------------------------------------------------- | Database Connections @@ -40,42 +40,42 @@ */ 'connections' => array( 'sqlite-memory' => array( - 'driver' => 'sqlite', + 'driver' => 'sqlite', 'database' => ':memory:', - 'prefix' => '', + 'prefix' => '', ), 'sqlite' => array( - 'driver' => 'sqlite', + 'driver' => 'sqlite', 'database' => __DIR__.'/../database/production.sqlite', - 'prefix' => '', + 'prefix' => '', ), 'mysql' => array( - 'driver' => 'mysql', - 'host' => 'localhost', - 'database' => 'database', - 'username' => 'root', - 'password' => '', - 'charset' => 'utf8', + 'driver' => 'mysql', + 'host' => 'localhost', + 'database' => 'database', + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', - 'prefix' => '', + 'prefix' => '', ), 'pgsql' => array( - 'driver' => 'pgsql', - 'host' => 'localhost', + 'driver' => 'pgsql', + 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', - 'charset' => 'utf8', - 'prefix' => '', - 'schema' => 'public', + 'charset' => 'utf8', + 'prefix' => '', + 'schema' => 'public', ), 'sqlsrv' => array( - 'driver' => 'sqlsrv', - 'host' => 'localhost', + 'driver' => 'sqlsrv', + 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', - 'prefix' => '', + 'prefix' => '', ), ), /* @@ -100,10 +100,10 @@ | */ 'redis' => array( - 'cluster' => true, + 'cluster' => false, 'default' => array( - 'host' => '127.0.0.1', - 'port' => 6379, + 'host' => '127.0.0.1', + 'port' => 6379, 'database' => 0, ), ), diff --git a/app/config/queue.php b/app/config/queue.php index 1b14300..472a10c 100644 --- a/app/config/queue.php +++ b/app/config/queue.php @@ -30,21 +30,35 @@ ), 'beanstalkd' => array( 'driver' => 'beanstalkd', - 'host' => 'localhost', - 'queue' => 'default', + 'host' => 'localhost', + 'queue' => 'default', ), 'sqs' => array( 'driver' => 'sqs', - 'key' => 'your-public-key', + 'key' => 'your-public-key', 'secret' => 'your-secret-key', - 'queue' => 'your-queue-url', + 'queue' => 'your-queue-url', 'region' => 'us-east-1', ), 'iron' => array( - 'driver' => 'iron', + 'driver' => 'iron', 'project' => 'your-project-id', - 'token' => 'your-token', - 'queue' => 'your-queue-name', + 'token' => 'your-token', + 'queue' => 'your-queue-name', ), ), + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ + 'failed' => array( + 'database' => 'sqlite', + 'table' => 'failed_jobs', + ), ); diff --git a/app/config/remote.php b/app/config/remote.php new file mode 100644 index 0000000..e6189e5 --- /dev/null +++ b/app/config/remote.php @@ -0,0 +1,49 @@ + 'production', + /* + |-------------------------------------------------------------------------- + | Remote Server Connections + |-------------------------------------------------------------------------- + | + | These are the servers that will be accessible via the SSH task runner + | facilities of Laravel. This feature radically simplifies executing + | tasks on your servers, such as deploying out these applications. + | + */ + 'connections' => array( + 'production' => array( + 'host' => '', + 'username' => '', + 'password' => '', + 'key' => '', + 'keyphrase' => '', + 'root' => '/var/www', + ), + + ), + /* + |-------------------------------------------------------------------------- + | Remote Server Groups + |-------------------------------------------------------------------------- + | + | Here you may list connections under a single group name, which allows + | you to easily access all of the servers at once using a short name + | that is extremely easy to remember, such as "web" or "database". + | + */ + 'groups' => array( + 'web' => array('production') + ), +); \ No newline at end of file diff --git a/app/config/session.php b/app/config/session.php index 8576a43..d11302d 100644 --- a/app/config/session.php +++ b/app/config/session.php @@ -10,22 +10,23 @@ | requests. By default, we will use the lightweight native driver but | you may specify any of the other wonderful drivers provided here. | - | Supported: "native", "cookie", "database", "apc", + | Supported: "file", "cookie", "database", "apc", | "memcached", "redis", "array" | */ - 'driver' => 'native', + 'driver' => 'file', /* - |-------------------------------------------------------------------------- - | Session Lifetime - |-------------------------------------------------------------------------- - | - | Here you may specify the number of minutes that you wish the session - | to be allowed to remain idle before it expires. If you want them - | to immediately expire when the browser closes, set it to zero. - | - */ + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to immediately expire on the browser closing, set that option. + | + */ 'lifetime' => 120, + 'expire_on_close' => false, /* |-------------------------------------------------------------------------- | Session File Location @@ -53,9 +54,9 @@ | Session Database Table |-------------------------------------------------------------------------- | - | When using the "database" session driver, you may specify the table we - | should use to manage the sessions. Of course, a sensible default is - | provided for you; however, you are free to change this as needed. + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. | */ 'table' => 'sessions', @@ -104,14 +105,14 @@ */ 'domain' => null, /* - |-------------------------------------------------------------------------- - | HTTPS Only Cookies - |-------------------------------------------------------------------------- - | - | By setting this option to true, session cookies will only be sent back - | to the server if the browser has a HTTPS connection. This will keep - | the cookie from being sent to you if it can not be done securely. - | - */ + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you if it can not be done securely. + | + */ 'secure' => false, ); diff --git a/app/config/view.php b/app/config/view.php index 8f26afc..8a7ce66 100644 --- a/app/config/view.php +++ b/app/config/view.php @@ -2,26 +2,25 @@ return array( /* - |-------------------------------------------------------------------------- - | View Storage Paths - |-------------------------------------------------------------------------- - | - | Most templating systems load templates from disk. Here you may specify - | an array of paths that should be checked for your views. Of course - | the usual Laravel view path has already been registered for you. - | - */ - + |-------------------------------------------------------------------------- + | View Storage Paths + |-------------------------------------------------------------------------- + | + | Most templating systems load templates from disk. Here you may specify + | an array of paths that should be checked for your views. Of course + | the usual Laravel view path has already been registered for you. + | + */ 'paths' => array(__DIR__.'/../views'), /* - |-------------------------------------------------------------------------- - | Pagination View - |-------------------------------------------------------------------------- - | - | This view will be used to render the pagination link output, and can - | be easily customized here to show any view you like. A clean view - | compatible with Twitter's Bootstrap is given to you by default. - | - */ - 'pagination' => 'pagination::slider', + |-------------------------------------------------------------------------- + | Pagination View + |-------------------------------------------------------------------------- + | + | This view will be used to render the pagination link output, and can + | be easily customized here to show any view you like. A clean view + | compatible with Twitter's Bootstrap v3 is given to you by default. + | + */ + 'pagination' => 'pagination::slider-3', ); diff --git a/app/controllers/BaseController.php b/app/controllers/BaseController.php index ddd24a8..19b27bb 100644 --- a/app/controllers/BaseController.php +++ b/app/controllers/BaseController.php @@ -1,5 +1,7 @@ 'Passwords must be at least six characters long and match the confirmation.', - 'user' => "We can't find a user with that e-mail address.", + 'user' => 'We can’t find a user with that e-mail address.', 'token' => 'This password reset token is invalid.', + 'sent' => 'Password reminder sent!', ); diff --git a/artisan b/artisan index 2ea55c4..243056e 100644 --- a/artisan +++ b/artisan @@ -1,73 +1,10 @@ #!/usr/bin/env php boot(); - -/* - |-------------------------------------------------------------------------- - | Load The Artisan Console Application - |-------------------------------------------------------------------------- - | - | We'll need to run the script to load and return the Artisan console - | application. We keep this in its own script so that we will load - | the console application independent of running commands which - | will allow us to fire commands from Routes when we want to. - | - */ +require __DIR__.'/bootstrap/autoload.php'; +$app = require_once __DIR__.'/bootstrap/start.php'; +$app->setRequestForConsoleEnvironment(); $artisan = Illuminate\Console\Application::start($app); - -/* - |-------------------------------------------------------------------------- - | Run The Artisan Application - |-------------------------------------------------------------------------- - | - | When we run the console application, the current CLI command will be - | executed in this console and the response sent back to a terminal - | or another output device for the developers. Here goes nothing! - | - */ - $status = $artisan->run(); - -/* - |-------------------------------------------------------------------------- - | Shutdown The Application - |-------------------------------------------------------------------------- - | - | Once Artisan has finished running. We will fire off the shutdown events - | so that any final work may be done by the application before we shut - | down the process. This is the last thing to happen to the request. - | - */ - $app->shutdown(); - exit($status); diff --git a/bootstrap/start.php b/bootstrap/start.php index 0a322d4..03e7491 100644 --- a/bootstrap/start.php +++ b/bootstrap/start.php @@ -13,21 +13,19 @@ $app = new Illuminate\Foundation\Application; -$app->redirectIfTrailingSlash(); - /* |-------------------------------------------------------------------------- | Detect The Application Environment |-------------------------------------------------------------------------- | | Laravel takes a dead simple approach to your application environments - | so you can just specify a machine name or HTTP host that matches a - | given environment, then we will automatically detect it for you. + | so you can just specify a machine name (as returned by PHP's gethostname() function) + | for the host that matches a given environment, then we will automatically detect it for you. | */ $env = $app->detectEnvironment(array( - 'develop' => array('*.dev', 'ELaptop'), + 'develop' => array('ELAPTOP'), 'testing' => array('localhost', '*travis-ci*'), )); diff --git a/public/index.php b/public/index.php index fcf017b..408b85d 100644 --- a/public/index.php +++ b/public/index.php @@ -1,62 +1,11 @@ */ -/* - |-------------------------------------------------------------------------- - | Register The Auto Loader - |-------------------------------------------------------------------------- - | - | Composer provides a convenient, automatically generated class loader - | for our application. We just need to utilize it! We'll require it - | into the script here so that we do not have to worry about the - | loading of any our classes "manually". Feels great to relax. - | - */ - -require __DIR__ . '/../bootstrap/autoload.php'; - -/* - |-------------------------------------------------------------------------- - | Turn On The Lights - |-------------------------------------------------------------------------- - | - | We need to illuminate PHP development, so let's turn on the lights. - | This bootstraps the framework and gets it ready for use, then it - | will load up this application so that we can run it and send - | the responses back to the browser and delight these users. - | - */ - -$app = require_once __DIR__ . '/../bootstrap/start.php'; - -/* - |-------------------------------------------------------------------------- - | Run The Application - |-------------------------------------------------------------------------- - | - | Once we have the application, we can simply call the run method, - | which will execute the request and send the response back to - | the client's browser allowing them to enjoy the creative - | and wonderful applications we have created for them. - | - */ +require __DIR__.'/../bootstrap/autoload.php'; +$app = require_once __DIR__.'/../bootstrap/start.php'; $app->run(); - -/* - |-------------------------------------------------------------------------- - | Shutdown The Application - |-------------------------------------------------------------------------- - | - | Once the app has finished running, we will fire off the shutdown events - | so that any final work may be done by the application before we shut - | down the process. This is the last thing to happen to the request. - | - */ - -$app->shutdown(); From eb2133e5a698a85b69353f819a5cf054747e8a0c Mon Sep 17 00:00:00 2001 From: Ed Rands Date: Fri, 3 Jan 2014 11:46:23 -0800 Subject: [PATCH 19/26] Replace juy/profiler with barryvdh/laravel-debugbar, and a few tweaks --- app/config/develop/app.php | 6 +- .../barryvdh/laravel-debugbar/config.php | 107 ++ .../barryvdh/laravel-ide-helper/config.php | 0 .../develop/packages/juy/profiler/config.php | 6 - composer.json | 15 +- composer.lock | 116 ++- .../barryvdh/laravel-debugbar/debugbar.css | 156 +++ .../barryvdh/laravel-debugbar/debugbar.js | 979 ++++++++++++++++++ .../barryvdh/laravel-debugbar/icons.png | Bin 0 -> 500 bytes .../barryvdh/laravel-debugbar/openhandler.css | 60 ++ .../barryvdh/laravel-debugbar/openhandler.js | 137 +++ .../barryvdh/laravel-debugbar/php-icon.png | Bin 0 -> 3621 bytes .../font-awesome/css/font-awesome.min.css | 4 + .../vendor/font-awesome/fonts/FontAwesome.otf | Bin 0 -> 62856 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 38205 bytes .../fonts/fontawesome-webfont.svg | 414 ++++++++ .../fonts/fontawesome-webfont.ttf | Bin 0 -> 80652 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 44432 bytes .../vendor/jquery/jquery.min.js | 6 + .../barryvdh/laravel-debugbar/widgets.css | 293 ++++++ .../barryvdh/laravel-debugbar/widgets.js | 525 ++++++++++ readme.md | 2 +- 22 files changed, 2774 insertions(+), 52 deletions(-) create mode 100644 app/config/develop/packages/barryvdh/laravel-debugbar/config.php rename app/config/{ => develop}/packages/barryvdh/laravel-ide-helper/config.php (100%) delete mode 100644 app/config/develop/packages/juy/profiler/config.php create mode 100644 public/packages/barryvdh/laravel-debugbar/debugbar.css create mode 100644 public/packages/barryvdh/laravel-debugbar/debugbar.js create mode 100644 public/packages/barryvdh/laravel-debugbar/icons.png create mode 100644 public/packages/barryvdh/laravel-debugbar/openhandler.css create mode 100644 public/packages/barryvdh/laravel-debugbar/openhandler.js create mode 100644 public/packages/barryvdh/laravel-debugbar/php-icon.png create mode 100644 public/packages/barryvdh/laravel-debugbar/vendor/font-awesome/css/font-awesome.min.css create mode 100644 public/packages/barryvdh/laravel-debugbar/vendor/font-awesome/fonts/FontAwesome.otf create mode 100644 public/packages/barryvdh/laravel-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.eot create mode 100644 public/packages/barryvdh/laravel-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.svg create mode 100644 public/packages/barryvdh/laravel-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.ttf create mode 100644 public/packages/barryvdh/laravel-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.woff create mode 100644 public/packages/barryvdh/laravel-debugbar/vendor/jquery/jquery.min.js create mode 100644 public/packages/barryvdh/laravel-debugbar/widgets.css create mode 100644 public/packages/barryvdh/laravel-debugbar/widgets.js diff --git a/app/config/develop/app.php b/app/config/develop/app.php index 90e1cba..3f7293c 100644 --- a/app/config/develop/app.php +++ b/app/config/develop/app.php @@ -31,9 +31,8 @@ 'Illuminate\View\ViewServiceProvider', 'Illuminate\Workbench\WorkbenchServiceProvider', 'Bootstrapper\BootstrapperServiceProvider', - /* Development service providers */ - 'Juy\Profiler\Providers\ProfilerServiceProvider', 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', + 'Barryvdh\Debugbar\ServiceProvider', ), 'aliases' => array( @@ -95,7 +94,6 @@ 'Thumbnail' => 'Bootstrapper\\Thumbnail', 'Typeahead' => 'Bootstrapper\\Typeahead', 'Typography' => 'Bootstrapper\\Typography', - /* Development aliases */ - 'Profiler' => 'Juy\Profiler\Facades\Profiler', + 'Debugbar' => 'Barryvdh\Debugbar\Facade', ), ); diff --git a/app/config/develop/packages/barryvdh/laravel-debugbar/config.php b/app/config/develop/packages/barryvdh/laravel-debugbar/config.php new file mode 100644 index 0000000..66e5456 --- /dev/null +++ b/app/config/develop/packages/barryvdh/laravel-debugbar/config.php @@ -0,0 +1,107 @@ + \Config::get('app.debug'), + + /* + |-------------------------------------------------------------------------- + | Vendors + |-------------------------------------------------------------------------- + | + | Vendor files are included by default, but can be set to false. + | This can also be set to 'js' or 'css', to only include javascript or css vendor files. + | Vendor files are for css: font-awesome (including fonts) en for js: jquery 1.8.3 + | + */ + 'include_vendors' => true, + + /* + |-------------------------------------------------------------------------- + | Capture Ajax Requests + |-------------------------------------------------------------------------- + | + | The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors), + | you can use this option to disable sending the data through the headers. + | + */ + 'capture_ajax' => true, + + /* + |-------------------------------------------------------------------------- + | DataCollectors + |-------------------------------------------------------------------------- + | + | Enable/disable DataCollectors + | + */ + 'collectors' => array( + 'phpinfo' => true, // Php version + 'messages' => true, // Messages + 'time' => true, // Time Datalogger + 'memory' => true, // Memory usage + 'exceptions' => true, // Exception displayer + 'log' => true, // Logs from Monolog (merged in messages if enabled) + 'db' => true, // Show database (PDO) queries and bindings + 'views' => true, // Views with their data + 'route' => true, // Current route information + 'laravel' => true, // Laravel version and environment + 'events' => true, // All events fired + 'twig' => false, // Twig, requires barryvdh/laravel-twigbridge + 'default_request' => true, // Regular or special Symfony request logger + 'symfony_request' => true, // Only one can be enabled.. + 'mail' => true, // Catch mail messages + 'logs' => true, // Add the latest log messages + 'files' => true, // Show the included files + 'config' => true, // Display config settings + + ), + + /* + |-------------------------------------------------------------------------- + | Extra options + |-------------------------------------------------------------------------- + | + | Configure some DataCollectors + | + */ + 'options' => array( + 'pdo' => array( + 'with_params' => true, // Render SQL with the parameters substituted + 'quotation_char' => "'", // The character to surround params + 'extra_connections' => array( //Add extra connections to the PDO Collector + // 'mysql', + ) + ), + 'mail' => array( + 'full_log' => false + ), + + 'views' => array( + 'data' => true, + ), + 'route' => array( + 'label' => true // show complete route on bar + ) + ), + + /* + |-------------------------------------------------------------------------- + | Inject Debugbar in Response + |-------------------------------------------------------------------------- + | + | Usually, the debugbar is added just before , by listening to the + | Response after the App is done. If you disable this, you have to add them + | in your template yourself. See http://phpdebugbar.com/docs/rendering.html + | + */ + 'inject' => true, + +); diff --git a/app/config/packages/barryvdh/laravel-ide-helper/config.php b/app/config/develop/packages/barryvdh/laravel-ide-helper/config.php similarity index 100% rename from app/config/packages/barryvdh/laravel-ide-helper/config.php rename to app/config/develop/packages/barryvdh/laravel-ide-helper/config.php diff --git a/app/config/develop/packages/juy/profiler/config.php b/app/config/develop/packages/juy/profiler/config.php deleted file mode 100644 index de38a9f..0000000 --- a/app/config/develop/packages/juy/profiler/config.php +++ /dev/null @@ -1,6 +0,0 @@ - null -); diff --git a/composer.json b/composer.json index d290a51..dcadebb 100644 --- a/composer.json +++ b/composer.json @@ -13,8 +13,8 @@ "way/laravel-test-helpers": "dev-master", "mockery/mockery": "dev-master@dev", "davedevelopment/hamcrest-php": "dev-master", - "codeception/codeception": "@stable", - "juy/profiler": "dev-master", + "codeception/codeception": "1.*@stable", + "barryvdh/laravel-debugbar": "1.*", "barryvdh/laravel-ide-helper": "1.*" }, "autoload": { @@ -29,13 +29,14 @@ }, "scripts": { "post-install-cmd": [ - "php artisan ide-helper:generate", - "php artisan optimize" + "php artisan ide-helper:generate --env=develop", + "php artisan optimize --env=develop" ], "post-update-cmd": [ - "php artisan clear-compiled", - "php artisan ide-helper:generate", - "php artisan optimize" + "php artisan clear-compiled --env=develop", + "php artisan ide-helper:generate --env=develop", + "php artisan debugbar:publish --env=develop", + "php artisan optimize --env=develop" ], "post-create-project-cmd": [ "php artisan key:generate" diff --git a/composer.lock b/composer.lock index a94f0fb..f9b674e 100644 --- a/composer.lock +++ b/composer.lock @@ -3,7 +3,7 @@ "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": "e85c79546d1d4b4f6b7cc9d3d1b25538", + "hash": "d3be059e59f77952837c46538de1b59e", "packages": [ { "name": "anahkiasen/html-object", @@ -635,12 +635,12 @@ "source": { "type": "git", "url": "https://github.com/patricktalmadge/bootstrapper.git", - "reference": "b07ad15300e91fb5cc6ed2d1f50fb2a43d663a17" + "reference": "666cc38d9d819470d8bc612ad2ebf9a698366308" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/patricktalmadge/bootstrapper/zipball/b07ad15300e91fb5cc6ed2d1f50fb2a43d663a17", - "reference": "b07ad15300e91fb5cc6ed2d1f50fb2a43d663a17", + "url": "https://api.github.com/repos/patricktalmadge/bootstrapper/zipball/666cc38d9d819470d8bc612ad2ebf9a698366308", + "reference": "666cc38d9d819470d8bc612ad2ebf9a698366308", "shasum": "" }, "require": { @@ -682,7 +682,7 @@ "bootstrap", "laravel" ], - "time": "2013-12-27 11:12:54" + "time": "2014-01-03 18:41:38" }, { "name": "phpseclib/phpseclib", @@ -1029,12 +1029,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/Console.git", - "reference": "4534a0033d379d9d5a6031ead6a31c9813b9e03b" + "reference": "4c1ed2ff514bd85ee186eebb010ccbdeeab05af7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/4534a0033d379d9d5a6031ead6a31c9813b9e03b", - "reference": "4534a0033d379d9d5a6031ead6a31c9813b9e03b", + "url": "https://api.github.com/repos/symfony/Console/zipball/4c1ed2ff514bd85ee186eebb010ccbdeeab05af7", + "reference": "4c1ed2ff514bd85ee186eebb010ccbdeeab05af7", "shasum": "" }, "require": { @@ -1073,7 +1073,7 @@ ], "description": "Symfony Console Component", "homepage": "http://symfony.com", - "time": "2013-12-31 13:43:26" + "time": "2014-01-01 08:14:50" }, { "name": "symfony/css-selector", @@ -1391,12 +1391,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/HttpFoundation.git", - "reference": "979b5cf2bdf1f5785a8faa30e2cea97044b31c4d" + "reference": "51dba46f98ff2ee026cb0591088daa117d2a5025" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/979b5cf2bdf1f5785a8faa30e2cea97044b31c4d", - "reference": "979b5cf2bdf1f5785a8faa30e2cea97044b31c4d", + "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/51dba46f98ff2ee026cb0591088daa117d2a5025", + "reference": "51dba46f98ff2ee026cb0591088daa117d2a5025", "shasum": "" }, "require": { @@ -1432,7 +1432,7 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "http://symfony.com", - "time": "2013-12-31 13:43:26" + "time": "2014-01-01 08:14:50" }, { "name": "symfony/http-kernel", @@ -1675,6 +1675,51 @@ } ], "packages-dev": [ + { + "name": "barryvdh/laravel-debugbar", + "version": "v1.1.3", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-debugbar.git", + "reference": "1a7fac491d19613ed899853dd7e2168897bd9243" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/1a7fac491d19613ed899853dd7e2168897bd9243", + "reference": "1a7fac491d19613ed899853dd7e2168897bd9243", + "shasum": "" + }, + "require": { + "illuminate/support": "~4.0", + "maximebf/debugbar": "~1.8", + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Barryvdh\\Debugbar": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "PHP Debugbar integration for Laravel", + "keywords": [ + "debug", + "debugbar", + "laravel", + "profiler", + "webprofiler" + ], + "time": "2014-01-02 11:34:45" + }, { "name": "barryvdh/laravel-ide-helper", "version": "v1.8.0", @@ -2942,27 +2987,35 @@ "time": "2014-01-02 22:38:05" }, { - "name": "juy/profiler", - "version": "dev-master", + "name": "maximebf/debugbar", + "version": "1.8", "source": { "type": "git", - "url": "https://github.com/juy/profiler.git", - "reference": "2fc6f0998eadb25994d839c0d18335214ee6f2fb" + "url": "https://github.com/maximebf/php-debugbar.git", + "reference": "f1dd126ec13ad912a9c3a1b9b4d27e16da182d38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/juy/profiler/zipball/2fc6f0998eadb25994d839c0d18335214ee6f2fb", - "reference": "2fc6f0998eadb25994d839c0d18335214ee6f2fb", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/f1dd126ec13ad912a9c3a1b9b4d27e16da182d38", + "reference": "f1dd126ec13ad912a9c3a1b9b4d27e16da182d38", "shasum": "" }, "require": { - "illuminate/support": "~4", + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "require-dev": { "php": ">=5.3.0" }, + "suggest": { + "kriswallsmith/assetic": "The best way to manage assets", + "monolog/monolog": "Log using Monolog", + "predis/predis": "Redis storage" + }, "type": "library", "autoload": { "psr-0": { - "Juy\\Profiler": "src/" + "DebugBar": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2971,21 +3024,17 @@ ], "authors": [ { - "name": "Sevdin Filiz", - "email": "angelside@users.sourceforge.net", - "homepage": "http://juysoft.com", - "role": "Developer" + "name": "Maxime Bouroumeau-Fuseau", + "email": "maxime.bouroumeau@gmail.com", + "homepage": "http://maximebf.com" } ], - "description": "A profiler for Laravel 4.", - "homepage": "http://github.com/juy/profiler", + "description": "Debug bar in the browser for php application", + "homepage": "https://github.com/maximebf/php-debugbar", "keywords": [ - "anbu", - "debug bar", - "laravel", - "profiler" + "debug" ], - "time": "2013-09-29 20:11:48" + "time": "2013-12-19 22:23:19" }, { "name": "mockery/mockery", @@ -3610,8 +3659,7 @@ "way/laravel-test-helpers": 20, "mockery/mockery": 20, "davedevelopment/hamcrest-php": 20, - "codeception/codeception": 0, - "juy/profiler": 20 + "codeception/codeception": 0 }, "platform": { "php": ">=5.4.0" diff --git a/public/packages/barryvdh/laravel-debugbar/debugbar.css b/public/packages/barryvdh/laravel-debugbar/debugbar.css new file mode 100644 index 0000000..4f7be40 --- /dev/null +++ b/public/packages/barryvdh/laravel-debugbar/debugbar.css @@ -0,0 +1,156 @@ +div.phpdebugbar { + position: fixed; + bottom: 0; + left: 0; + width: 100%; + border-top: 1px solid #ccc; + font-family: arial; + background: #fff; + z-index: 10000; + font-size: 14px; + color: #000; + text-align: left; +} + +div.phpdebugbar * { + box-sizing: content-box; +} + +/* -------------------------------------- */ + +div.phpdebugbar-header { + background: #efefef url(php-icon.png) no-repeat 5px 4px; + padding-left: 29px; + min-height: 26px; + line-height: 16px; +} +div.phpdebugbar-header:before, div.phpdebugbar-header:after { + display: table; + line-height: 0; + content: ""; +} +div.phpdebugbar-header:after { + clear: both; +} + +/* -------------------------------------- */ + +a.phpdebugbar-tab, +span.phpdebugbar-indicator, +a.phpdebugbar-indicator, +a.phpdebugbar-open-btn, +a.phpdebugbar-minimize-btn { + float: left; + padding: 5px 8px; + font-size: 14px; + color: #555; + text-decoration: none; +} +span.phpdebugbar-indicator, +a.phpdebugbar-indicator, +a.phpdebugbar-open-btn, +a.phpdebugbar-minimize-btn { + float: right; + border-right: 1px solid #ddd; +} + +a.phpdebugbar-tab.phpdebugbar-active { + background: #ccc; + color: #444; + background-image: linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%); + background-image: -o-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%); + background-image: -moz-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%); + background-image: -webkit-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%); + background-image: -ms-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%); + background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.41, rgb(173,173,173)), color-stop(0.71, rgb(209,209,209))); +} + a.phpdebugbar-tab span.phpdebugbar-badge { + display: none; + margin-left: 5px; + font-size: 11px; + padding: 1px 6px; + background: #ccc; + border-radius: 4px; + color: #555; + font-weight: normal; + text-shadow: none; + } + a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-important { + background: #ed6868; + color: white; + } + +a.phpdebugbar-minimize-btn { + display: none; + background: url(icons.png) no-repeat 10px 7px; + width: 16px; + height: 16px; +} + +a.phpdebugbar-open-btn { + background: url(icons.png) no-repeat -14px 8px; + width: 16px; + height: 16px; +} + +.phpdebugbar-indicator { + position: relative; +} + .phpdebugbar-indicator span.phpdebugbar-text { + margin-left: 5px; + } + .phpdebugbar-indicator span.phpdebugbar-tooltip { + display: none; + position: absolute; + top: -30px; + background: #efefef; + opacity: .7; + border: 1px solid #ccc; + color: #555; + font-size: 11px; + padding: 2px 3px; + z-index: 1000; + } + .phpdebugbar-indicator:hover span.phpdebugbar-tooltip:not(.phpdebugbar-disabled) { + display: block; + } + +select.phpdebugbar-datasets-switcher { + float: right; + display: none; + margin: 2px 0 0 7px; + max-width: 200px; + max-height: 23px; + padding: 0; +} + +/* -------------------------------------- */ + +div.phpdebugbar-body { + border-top: 1px solid #ccc; + display: none; + position: relative; + height: 300px; +} + div.phpdebugbar-resize-handle { + display: none; + height: 4px; + width: 100%; + background: #fff; + border-top: 1px solid #ccc; + cursor: move; + position: absolute; + top: -33px; + } + +/* -------------------------------------- */ + +div.phpdebugbar-panel { + display: none; + height: 100%; + overflow: auto; + width: 100%; +} +div.phpdebugbar-panel.phpdebugbar-active { + display: block; +} diff --git a/public/packages/barryvdh/laravel-debugbar/debugbar.js b/public/packages/barryvdh/laravel-debugbar/debugbar.js new file mode 100644 index 0000000..b11022e --- /dev/null +++ b/public/packages/barryvdh/laravel-debugbar/debugbar.js @@ -0,0 +1,979 @@ +if (typeof(PhpDebugBar) == 'undefined') { + // namespace + var PhpDebugBar = {}; + PhpDebugBar.$ = jQuery; +} + +(function($) { + + if (typeof(localStorage) == 'undefined') { + // provide mock localStorage object for dumb browsers + localStorage = { + setItem: function(key, value) {}, + getItem: function(key) { return null; } + }; + } + + if (typeof(PhpDebugBar.utils) == 'undefined') { + PhpDebugBar.utils = {}; + } + + /** + * Returns the value from an object property. + * Using dots in the key, it is possible to retrieve nested property values + * + * @param {Object} dict + * @param {String} key + * @param {Object} default_value + * @return {Object} + */ + var getDictValue = PhpDebugBar.utils.getDictValue = function(dict, key, default_value) { + var d = dict, parts = key.split('.'); + for (var i = 0; i < parts.length; i++) { + if (!d[parts[i]]) { + return default_value; + } + d = d[parts[i]]; + } + return d; + } + + /** + * Counts the number of properties in an object + * + * @param {Object} obj + * @return {Integer} + */ + var getObjectSize = PhpDebugBar.utils.getObjectSize = function(obj) { + if (Object.keys) { + return Object.keys(obj).length; + } + var count = 0; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + count++; + } + } + return count; + } + + /** + * Returns a prefixed css class name + * + * @param {String} cls + * @return {String} + */ + PhpDebugBar.utils.csscls = function(cls, prefix) { + if (cls.indexOf(' ') > -1) { + var clss = cls.split(' '), out = []; + for (var i = 0, c = clss.length; i < c; i++) { + out.push(PhpDebugBar.utils.csscls(clss[i], prefix)); + } + return out.join(' '); + } + if (cls.indexOf('.') === 0) { + return '.' + prefix + cls.substr(1); + } + return prefix + cls; + }; + + var csscls = function(cls) { + return PhpDebugBar.utils.csscls(cls, 'phpdebugbar-'); + }; + + + // ------------------------------------------------------------------ + + /** + * Base class for all elements with a visual component + * + * @param {Object} options + * @constructor + */ + var Widget = PhpDebugBar.Widget = function(options) { + this._attributes = $.extend({}, this.defaults); + this._boundAttributes = {}; + this.$el = $('<' + this.tagName + ' />'); + if (this.className) { + this.$el.addClass(this.className); + } + this.initialize.apply(this, [options || {}]); + this.render.apply(this); + }; + + $.extend(Widget.prototype, { + + tagName: 'div', + + className: null, + + defaults: {}, + + /** + * Called after the constructor + * + * @param {Object} options + */ + initialize: function(options) { + this.set(options); + }, + + /** + * Called after the constructor to render the element + */ + render: function() {}, + + /** + * Sets the value of an attribute + * + * @param {String} attr Can also be an object to set multiple attributes at once + * @param {Object} value + */ + set: function(attr, value) { + if (typeof(attr) != 'string') { + for (var k in attr) { + this.set(k, attr[k]); + } + return; + } + + this._attributes[attr] = value; + if (typeof(this._boundAttributes[attr]) !== 'undefined') { + for (var i = 0, c = this._boundAttributes[attr].length; i < c; i++) { + this._boundAttributes[attr][i].apply(this, [value]); + } + } + }, + + /** + * Checks if an attribute exists and is not null + * + * @param {String} attr + * @return {[type]} [description] + */ + has: function(attr) { + return typeof(this._attributes[attr]) !== 'undefined' && this._attributes[attr] !== null; + }, + + /** + * Returns the value of an attribute + * + * @param {String} attr + * @return {Object} + */ + get: function(attr) { + return this._attributes[attr]; + }, + + /** + * Registers a callback function that will be called whenever the value of the attribute changes + * + * If cb is a jQuery element, text() will be used to fill the element + * + * @param {String} attr + * @param {Function} cb + */ + bindAttr: function(attr, cb) { + if ($.isArray(attr)) { + for (var i = 0, c = attr.length; i < c; i++) { + this.bindAttr(attr[i], cb); + } + return; + } + + if (typeof(this._boundAttributes[attr]) == 'undefined') { + this._boundAttributes[attr] = []; + } + if (typeof(cb) == 'object') { + var el = cb; + cb = function(value) { el.text(value || ''); }; + } + this._boundAttributes[attr].push(cb); + if (this.has(attr)) { + cb.apply(this, [this._attributes[attr]]); + } + } + + }); + + + /** + * Creates a subclass + * + * Code from Backbone.js + * + * @param {Array} props Prototype properties + * @return {Function} + */ + Widget.extend = function(props) { + var parent = this; + + var child = function() { return parent.apply(this, arguments); }; + $.extend(child, parent); + + var Surrogate = function(){ this.constructor = child; }; + Surrogate.prototype = parent.prototype; + child.prototype = new Surrogate; + $.extend(child.prototype, props); + + child.__super__ = parent.prototype; + + return child; + }; + + // ------------------------------------------------------------------ + + /** + * Tab + * + * A tab is composed of a tab label which is always visible and + * a tab panel which is visible only when the tab is active. + * + * The panel must contain a widget. A widget is an object which has + * an element property containing something appendable to a jQuery object. + * + * Options: + * - title + * - badge + * - widget + * - data: forward data to widget data + */ + var Tab = Widget.extend({ + + className: csscls('panel'), + + render: function() { + this.$tab = $('').addClass(csscls('tab')); + this.bindAttr('title', $('').addClass(csscls('text')).appendTo(this.$tab)); + + this.$badge = $('').addClass(csscls('badge')).appendTo(this.$tab); + this.bindAttr('badge', function(value) { + if (value !== null) { + this.$badge.text(value); + this.$badge.show(); + } else { + this.$badge.hide(); + } + }); + + this.bindAttr('widget', function(widget) { + this.$el.empty().append(widget.$el); + }); + + this.bindAttr('data', function(data) { + if (this.has('widget')) { + this.get('widget').set('data', data); + } + }) + } + + }); + + // ------------------------------------------------------------------ + + /** + * Indicator + * + * An indicator is a text and an icon to display single value information + * right inside the always visible part of the debug bar + * + * Options: + * - icon + * - title + * - tooltip + * - position: "right" or "left" + * - data: alias of title + */ + var Indicator = Widget.extend({ + + tagName: 'span', + + className: csscls('indicator'), + + defaults: { + position: "right" + }, + + render: function() { + this.bindAttr('position', function(pos) { this.$el.css('float', pos); }); + + this.$icon = $('').appendTo(this.$el); + this.bindAttr('icon', function(icon) { + if (icon) { + this.$icon.attr('class', 'fa fa-' + icon); + } else { + this.$icon.attr('class', ''); + } + }); + + this.bindAttr(['title', 'data'], $('').addClass(csscls('text')).appendTo(this.$el)); + + this.$tooltip = $('').addClass(csscls('tooltip disabled')).appendTo(this.$el); + this.bindAttr('tooltip', function(tooltip) { + if (tooltip) { + this.$tooltip.text(tooltip).removeClass(csscls('disabled')); + } else { + this.$tooltip.addClass(csscls('disabled')); + } + }); + } + + }); + + // ------------------------------------------------------------------ + + /** + * Dataset title formater + * + * Formats the title of a dataset for the select box + */ + var DatasetTitleFormater = PhpDebugBar.DatasetTitleFormater = function(debugbar) { + this.debugbar = debugbar; + }; + + $.extend(DatasetTitleFormater.prototype, { + + /** + * Formats the title of a dataset + * + * @this {DatasetTitleFormater} + * @param {String} id + * @param {Object} data + * @param {String} suffix + * @return {String} + */ + format: function(id, data, suffix) { + if (suffix) { + suffix = ' ' + suffix; + } else { + suffix = ''; + } + + var nb = getObjectSize(this.debugbar.datasets) + 1; + + if (typeof(data['__meta']) === 'undefined') { + return "#" + nb + suffix; + } + + var filename = data['__meta']['uri'].substr(data['__meta']['uri'].lastIndexOf('/') + 1); + var label = "#" + nb + " " + filename + suffix + ' (' + data['__meta']['datetime'].split(' ')[1] + ')'; + return label; + } + + }); + + // ------------------------------------------------------------------ + + + /** + * DebugBar + * + * Creates a bar that appends itself to the body of your page + * and sticks to the bottom. + * + * The bar can be customized by adding tabs and indicators. + * A data map is used to fill those controls with data provided + * from datasets. + */ + var DebugBar = PhpDebugBar.DebugBar = Widget.extend({ + + className: "phpdebugbar " + csscls('minimized'), + + options: { + bodyPaddingBottom: true + }, + + initialize: function() { + this.controls = {}; + this.dataMap = {}; + this.datasets = {}; + this.firstTabName = null; + this.activePanelName = null; + this.datesetTitleFormater = new DatasetTitleFormater(this); + }, + + /** + * Initialiazes the UI + * + * @this {DebugBar} + */ + render: function() { + var self = this; + this.$el.appendTo('body'); + this.$header = $('
').addClass(csscls('header')).appendTo(this.$el); + var $body = this.$body = $('
').addClass(csscls('body')).appendTo(this.$el); + this.$resizehdle = $('
').addClass(csscls('resize-handle')).appendTo(this.$body); + this.recomputeBottomOffset(); + + // dragging of resize handle + var dragging = false; + this.$resizehdle.on('mousedown', function(e) { + var orig_h = $body.height(), pos_y = e.pageY; + dragging = true; + + $body.parents().on('mousemove', function(e) { + if (dragging) { + var h = orig_h + (pos_y - e.pageY); + $body.css('height', h); + localStorage.setItem('phpdebugbar-height', h); + self.recomputeBottomOffset(); + } + }).on('mouseup', function() { + dragging = false; + }); + + e.preventDefault(); + }); + + // minimize button + this.$minimizebtn = $('').addClass(csscls('minimize-btn')).appendTo(this.$header); + this.$minimizebtn.click(function() { + self.minimize(); + }); + + // open button + this.$openbtn = $('').addClass(csscls('open-btn')).appendTo(this.$header).hide(); + this.$openbtn.click(function() { + self.openHandler.show(function(id, dataset) { + self.addDataSet(dataset, id, "(opened)"); + self.showTab(); + }); + }); + + // select box for data sets + this.$datasets = $('",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
t
",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t +}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("