├── public
├── favicon.ico
├── robots.txt
├── .htaccess
├── assets
│ ├── img
│ │ └── fetchtv.svg
│ └── css
│ │ └── style.css
└── index.php
├── app
├── Listeners
│ └── .gitkeep
├── Policies
│ └── .gitkeep
├── Events
│ └── Event.php
├── Code.php
├── Http
│ ├── Requests
│ │ ├── Request.php
│ │ ├── TVTokenRequest.php
│ │ └── ExchangeTokensRequest.php
│ ├── Middleware
│ │ ├── EncryptCookies.php
│ │ ├── VerifyCsrfToken.php
│ │ ├── RedirectIfAuthenticated.php
│ │ └── Authenticate.php
│ ├── Controllers
│ │ ├── Controller.php
│ │ ├── Auth
│ │ │ ├── PasswordController.php
│ │ │ └── AuthController.php
│ │ ├── TokenGenerationController.php
│ │ ├── ExchangeTokensController.php
│ │ └── NoFetchController.php
│ ├── routes.php
│ └── Kernel.php
├── Providers
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
├── Jobs
│ └── Job.php
├── Console
│ ├── Commands
│ │ └── Inspire.php
│ └── Kernel.php
├── User.php
└── Exceptions
│ └── Handler.php
├── database
├── seeds
│ ├── .gitkeep
│ └── DatabaseSeeder.php
├── migrations
│ ├── .gitkeep
│ └── 2015_09_12_210659_CreateCodesTable.php
├── .gitignore
└── factories
│ └── ModelFactory.php
├── storage
├── database.sqlite
├── app
│ └── .gitignore
├── logs
│ └── .gitignore
└── framework
│ ├── cache
│ └── .gitignore
│ ├── views
│ └── .gitignore
│ ├── sessions
│ └── .gitignore
│ └── .gitignore
├── resources
├── views
│ ├── vendor
│ │ └── .gitkeep
│ ├── complete.blade.php
│ ├── redirecting.blade.php
│ ├── main.blade.php
│ └── errors
│ │ └── 503.blade.php
├── assets
│ └── sass
│ │ └── app.scss
└── lang
│ └── en
│ ├── pagination.php
│ ├── auth.php
│ ├── passwords.php
│ └── validation.php
├── bootstrap
├── cache
│ └── .gitignore
├── autoload.php
└── app.php
├── phpspec.yml
├── package.json
├── readme.md
├── .env
├── tests
├── ExampleTest.php
└── TestCase.php
├── gulpfile.js
├── server.php
├── phpunit.xml
├── config
├── compile.php
├── services.php
├── view.php
├── broadcasting.php
├── cache.php
├── auth.php
├── filesystems.php
├── queue.php
├── database.php
├── mail.php
├── session.php
└── app.php
├── composer.json
├── artisan
└── composer.lock
/public/favicon.ico:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/Listeners/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/Policies/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/database/seeds/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/storage/database.sqlite:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/database/migrations/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite
2 |
--------------------------------------------------------------------------------
/resources/views/vendor/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/bootstrap/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow: /
3 |
--------------------------------------------------------------------------------
/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/storage/framework/views/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/sessions/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/resources/assets/sass/app.scss:
--------------------------------------------------------------------------------
1 | // @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
2 |
3 |
--------------------------------------------------------------------------------
/app/Events/Event.php:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 | Your Apple TV will login shortly.
9 |
10 |
11 | @endsection
12 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | ## tvOS OAuth Example
2 |
3 | This is a quick example of how we're handling OAuth in [Fetch](http://getfetchapp.com). It's a middle-man service that will complete the authentication on a secondary device and send the token back to the Apple TV.
4 |
5 | More information can be found at [http://stephenradford.me/oauth-login-on-tvos/](http://stephenradford.me/oauth-login-on-tvos/)
6 |
--------------------------------------------------------------------------------
/app/Http/Middleware/EncryptCookies.php:
--------------------------------------------------------------------------------
1 | call(UserTableSeeder::class);
18 |
19 | Model::reguard();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/app/Http/Middleware/VerifyCsrfToken.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | Options -MultiViews
4 |
5 |
6 | RewriteEngine On
7 |
8 | # Redirect Trailing Slashes If Not A Folder...
9 | RewriteCond %{REQUEST_FILENAME} !-d
10 | RewriteRule ^(.*)/$ /$1 [L,R=301]
11 |
12 | # Handle Front Controller...
13 | RewriteCond %{REQUEST_FILENAME} !-d
14 | RewriteCond %{REQUEST_FILENAME} !-f
15 | RewriteRule ^ index.php [L]
16 |
17 |
--------------------------------------------------------------------------------
/tests/ExampleTest.php:
--------------------------------------------------------------------------------
1 | visit('/')
17 | ->see('Laravel 5');
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/app/Providers/AppServiceProvider.php:
--------------------------------------------------------------------------------
1 | '« Previous',
17 | 'next' => 'Next »',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/tests/TestCase.php:
--------------------------------------------------------------------------------
1 | make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
22 |
23 | return $app;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/resources/views/redirecting.blade.php:
--------------------------------------------------------------------------------
1 | @extends('main')
2 |
3 | @section('content')
4 |
5 |
12 |
13 | @endsection
14 |
--------------------------------------------------------------------------------
/server.php:
--------------------------------------------------------------------------------
1 |
8 | */
9 |
10 | $uri = urldecode(
11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
12 | );
13 |
14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the
15 | // built-in PHP web server. This provides a convenient way to test a Laravel
16 | // application without having installed a "real" web server software here.
17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
18 | return false;
19 | }
20 |
21 | require_once __DIR__.'/public/index.php';
22 |
--------------------------------------------------------------------------------
/resources/lang/en/auth.php:
--------------------------------------------------------------------------------
1 | 'These credentials do not match our records.',
17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
18 |
19 | ];
20 |
--------------------------------------------------------------------------------
/app/Http/Requests/TVTokenRequest.php:
--------------------------------------------------------------------------------
1 | input('secret') == $secret;
18 | }
19 |
20 | /**
21 | * Get the validation rules that apply to the request.
22 | *
23 | * @return array
24 | */
25 | public function rules()
26 | {
27 | return [
28 | 'secret' => 'required'
29 | ];
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/resources/views/main.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Fetch TV
6 |
7 |
8 |
9 |
10 |
11 | @yield('content')
12 |
13 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/database/factories/ModelFactory.php:
--------------------------------------------------------------------------------
1 | define(App\User::class, function (Faker\Generator $faker) {
15 | return [
16 | 'name' => $faker->name,
17 | 'email' => $faker->email,
18 | 'password' => bcrypt(str_random(10)),
19 | 'remember_token' => str_random(10),
20 | ];
21 | });
22 |
--------------------------------------------------------------------------------
/app/Console/Commands/Inspire.php:
--------------------------------------------------------------------------------
1 | comment(PHP_EOL.Inspiring::quote().PHP_EOL);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/Http/Requests/ExchangeTokensRequest.php:
--------------------------------------------------------------------------------
1 | input('secret') == $secret;
18 | }
19 |
20 | /**
21 | * Get the validation rules that apply to the request.
22 | *
23 | * @return array
24 | */
25 | public function rules()
26 | {
27 | return [
28 | 'secret' => 'required',
29 | 'access_token' => 'required',
30 | ];
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/Console/Kernel.php:
--------------------------------------------------------------------------------
1 | command('inspire')
28 | ->hourly();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/Http/routes.php:
--------------------------------------------------------------------------------
1 | ['store']]);
4 | Route::resource('exchange-tokens', 'ExchangeTokensController', ['only' => ['show', 'update', 'destroy']]);
5 |
6 | Route::get('{token}/complete', function ($token) {
7 | $code = App\Code::where('token', $token)->first();
8 | if($code) {
9 | $code->access_token = $_GET['access_token'];
10 | $code->save();
11 | }
12 | return view('complete');
13 | });
14 |
15 | Route::get('{id}', function ($id) {
16 | $code = App\Code::where('url', $id)->first();
17 | if(!$code) return app()->abort(404);
18 | return view('redirecting', ['token' => $code->token]);
19 | });
20 |
21 | Route::get('/', function () {
22 | return redirect('http://getfetchapp.com');
23 | });
24 |
--------------------------------------------------------------------------------
/app/Providers/AuthServiceProvider.php:
--------------------------------------------------------------------------------
1 | 'App\Policies\ModelPolicy',
17 | ];
18 |
19 | /**
20 | * Register any application authentication / authorization services.
21 | *
22 | * @param \Illuminate\Contracts\Auth\Access\Gate $gate
23 | * @return void
24 | */
25 | public function boot(GateContract $gate)
26 | {
27 | parent::registerPolicies($gate);
28 |
29 | //
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/database/migrations/2015_09_12_210659_CreateCodesTable.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('token')->nullable();
18 | $table->string('url')->nullable();
19 | $table->string('access_token')->nullable();
20 | $table->timestamps();
21 | });
22 | }
23 |
24 | /**
25 | * Reverse the migrations.
26 | *
27 | * @return void
28 | */
29 | public function down()
30 | {
31 | Schema::drop('codes');
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/resources/lang/en/passwords.php:
--------------------------------------------------------------------------------
1 | 'Passwords must be at least six characters and match the confirmation.',
17 | 'reset' => 'Your password has been reset!',
18 | 'sent' => 'We have e-mailed your password reset link!',
19 | 'token' => 'This password reset token is invalid.',
20 | 'user' => "We can't find a user with that e-mail address.",
21 |
22 | ];
23 |
--------------------------------------------------------------------------------
/app/Providers/EventServiceProvider.php:
--------------------------------------------------------------------------------
1 | [
17 | 'App\Listeners\EventListener',
18 | ],
19 | ];
20 |
21 | /**
22 | * Register any other events for your application.
23 | *
24 | * @param \Illuminate\Contracts\Events\Dispatcher $events
25 | * @return void
26 | */
27 | public function boot(DispatcherContract $events)
28 | {
29 | parent::boot($events);
30 |
31 | //
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/PasswordController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/Http/Middleware/RedirectIfAuthenticated.php:
--------------------------------------------------------------------------------
1 | auth = $auth;
26 | }
27 |
28 | /**
29 | * Handle an incoming request.
30 | *
31 | * @param \Illuminate\Http\Request $request
32 | * @param \Closure $next
33 | * @return mixed
34 | */
35 | public function handle($request, Closure $next)
36 | {
37 | if ($this->auth->check()) {
38 | return redirect('/home');
39 | }
40 |
41 | return $next($request);
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 | ./tests/
15 |
16 |
17 |
18 |
19 | app/
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/public/assets/img/fetchtv.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/Http/Controllers/TokenGenerationController.php:
--------------------------------------------------------------------------------
1 | generateCodes();
23 | }
24 |
25 | private function generateCodes()
26 | {
27 | $url = str_random(5);
28 | $token = str_random(32);
29 |
30 | if(Code::where('url', $url)->orWhere('token', $token)->count() > 0) {
31 | return $this->generateCodes();
32 | }
33 |
34 | $code = new Code();
35 | $code->url = $url;
36 | $code->token = $token;
37 | $code->save();
38 |
39 | return [
40 | "token" => $token,
41 | "url" => "https://ftch.in/$url"
42 | ];
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/Http/Middleware/Authenticate.php:
--------------------------------------------------------------------------------
1 | auth = $auth;
26 | }
27 |
28 | /**
29 | * Handle an incoming request.
30 | *
31 | * @param \Illuminate\Http\Request $request
32 | * @param \Closure $next
33 | * @return mixed
34 | */
35 | public function handle($request, Closure $next)
36 | {
37 | if ($this->auth->guest()) {
38 | if ($request->ajax()) {
39 | return response('Unauthorized.', 401);
40 | } else {
41 | return redirect()->guest('auth/login');
42 | }
43 | }
44 |
45 | return $next($request);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/app/Http/Kernel.php:
--------------------------------------------------------------------------------
1 | \App\Http\Middleware\Authenticate::class,
30 | 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
31 | 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
32 | ];
33 | }
34 |
--------------------------------------------------------------------------------
/config/compile.php:
--------------------------------------------------------------------------------
1 | [
17 | //
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled File Providers
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may list service providers which define a "compiles" function
26 | | that returns additional files that should be compiled, providing an
27 | | easy way to get common files from any packages you are utilizing.
28 | |
29 | */
30 |
31 | 'providers' => [
32 | //
33 | ],
34 |
35 | ];
36 |
--------------------------------------------------------------------------------
/config/services.php:
--------------------------------------------------------------------------------
1 | [
18 | 'domain' => env('MAILGUN_DOMAIN'),
19 | 'secret' => env('MAILGUN_SECRET'),
20 | ],
21 |
22 | 'mandrill' => [
23 | 'secret' => env('MANDRILL_SECRET'),
24 | ],
25 |
26 | 'ses' => [
27 | 'key' => env('SES_KEY'),
28 | 'secret' => env('SES_SECRET'),
29 | 'region' => 'us-east-1',
30 | ],
31 |
32 | 'stripe' => [
33 | 'model' => App\User::class,
34 | 'key' => env('STRIPE_KEY'),
35 | 'secret' => env('STRIPE_SECRET'),
36 | ],
37 |
38 | ];
39 |
--------------------------------------------------------------------------------
/config/view.php:
--------------------------------------------------------------------------------
1 | [
17 | realpath(base_path('resources/views')),
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled View Path
23 | |--------------------------------------------------------------------------
24 | |
25 | | This option determines where all the compiled Blade templates will be
26 | | stored for your application. Typically, this is within the storage
27 | | directory. However, as usual, you are free to change this value.
28 | |
29 | */
30 |
31 | 'compiled' => realpath(storage_path('framework/views')),
32 |
33 | ];
34 |
--------------------------------------------------------------------------------
/bootstrap/autoload.php:
--------------------------------------------------------------------------------
1 | first();
16 | if(!$code) return app()->abort(404);
17 | return $code;
18 | }
19 |
20 | /**
21 | * Update the specified resource in storage.
22 | *
23 | * @param Request $request
24 | * @param int $id
25 | * @return Response
26 | */
27 | public function update(ExchangeTokensRequest $request, $id)
28 | {
29 |
30 | $code = Code::where('token', $id)->first();
31 | if(!$code) {
32 | return response()->json(['error' => 'Not found'], 404);
33 | }
34 |
35 | $code->access_token = $request->get('access_token');
36 | $code->save();
37 |
38 | return ["success" => true];
39 |
40 | }
41 |
42 | public function destroy($id) {
43 | $code = Code::where('token', $id)->first();
44 | $code->delete();
45 | return ['success' => true];
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/app/Providers/RouteServiceProvider.php:
--------------------------------------------------------------------------------
1 | group(['namespace' => $this->namespace], function ($router) {
41 | require app_path('Http/routes.php');
42 | });
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/app/User.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Be right back.
5 |
6 |
7 |
8 |
39 |
40 |
41 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "laravel/laravel",
3 | "description": "The Laravel Framework.",
4 | "keywords": ["framework", "laravel"],
5 | "license": "MIT",
6 | "type": "project",
7 | "require": {
8 | "php": ">=5.5.9",
9 | "laravel/framework": "5.1.*"
10 | },
11 | "require-dev": {
12 | "fzaninotto/faker": "~1.4",
13 | "mockery/mockery": "0.9.*",
14 | "phpunit/phpunit": "~4.0",
15 | "phpspec/phpspec": "~2.1"
16 | },
17 | "autoload": {
18 | "classmap": [
19 | "database"
20 | ],
21 | "psr-4": {
22 | "App\\": "app/"
23 | }
24 | },
25 | "autoload-dev": {
26 | "classmap": [
27 | "tests/TestCase.php"
28 | ]
29 | },
30 | "scripts": {
31 | "post-install-cmd": [
32 | "php artisan clear-compiled",
33 | "php artisan optimize"
34 | ],
35 | "pre-update-cmd": [
36 | "php artisan clear-compiled"
37 | ],
38 | "post-update-cmd": [
39 | "php artisan optimize"
40 | ],
41 | "post-root-package-install": [
42 | "php -r \"copy('.env.example', '.env');\""
43 | ],
44 | "post-create-project-cmd": [
45 | "php artisan key:generate"
46 | ]
47 | },
48 | "config": {
49 | "preferred-install": "dist"
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/app/Exceptions/Handler.php:
--------------------------------------------------------------------------------
1 | getMessage(), $e);
47 | }
48 |
49 | return parent::render($request, $e);
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/config/broadcasting.php:
--------------------------------------------------------------------------------
1 | env('BROADCAST_DRIVER', 'pusher'),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Broadcast Connections
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may define all of the broadcast connections that will be used
24 | | to broadcast events to other systems or over websockets. Samples of
25 | | each available type of connection are provided inside this array.
26 | |
27 | */
28 |
29 | 'connections' => [
30 |
31 | 'pusher' => [
32 | 'driver' => 'pusher',
33 | 'key' => env('PUSHER_KEY'),
34 | 'secret' => env('PUSHER_SECRET'),
35 | 'app_id' => env('PUSHER_APP_ID'),
36 | ],
37 |
38 | 'redis' => [
39 | 'driver' => 'redis',
40 | 'connection' => 'default',
41 | ],
42 |
43 | 'log' => [
44 | 'driver' => 'log',
45 | ],
46 |
47 | ],
48 |
49 | ];
50 |
--------------------------------------------------------------------------------
/app/Http/Controllers/NoFetchController.php:
--------------------------------------------------------------------------------
1 | singleton(
30 | Illuminate\Contracts\Http\Kernel::class,
31 | App\Http\Kernel::class
32 | );
33 |
34 | $app->singleton(
35 | Illuminate\Contracts\Console\Kernel::class,
36 | App\Console\Kernel::class
37 | );
38 |
39 | $app->singleton(
40 | Illuminate\Contracts\Debug\ExceptionHandler::class,
41 | App\Exceptions\Handler::class
42 | );
43 |
44 | /*
45 | |--------------------------------------------------------------------------
46 | | Return The Application
47 | |--------------------------------------------------------------------------
48 | |
49 | | This script returns the application instance. The instance is given to
50 | | the calling script so we can separate the building of the instances
51 | | from the actual running of the application and sending responses.
52 | |
53 | */
54 |
55 | return $app;
56 |
--------------------------------------------------------------------------------
/artisan:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | make(Illuminate\Contracts\Console\Kernel::class);
32 |
33 | $status = $kernel->handle(
34 | $input = new Symfony\Component\Console\Input\ArgvInput,
35 | new Symfony\Component\Console\Output\ConsoleOutput
36 | );
37 |
38 | /*
39 | |--------------------------------------------------------------------------
40 | | Shutdown The Application
41 | |--------------------------------------------------------------------------
42 | |
43 | | Once Artisan has finished running. We will fire off the shutdown events
44 | | so that any final work may be done by the application before we shut
45 | | down the process. This is the last thing to happen to the request.
46 | |
47 | */
48 |
49 | $kernel->terminate($input, $status);
50 |
51 | exit($status);
52 |
--------------------------------------------------------------------------------
/public/index.php:
--------------------------------------------------------------------------------
1 |
8 | */
9 |
10 | /*
11 | |--------------------------------------------------------------------------
12 | | Register The Auto Loader
13 | |--------------------------------------------------------------------------
14 | |
15 | | Composer provides a convenient, automatically generated class loader for
16 | | our application. We just need to utilize it! We'll simply require it
17 | | into the script here so that we don't have to worry about manual
18 | | loading any of our classes later on. It feels nice to relax.
19 | |
20 | */
21 |
22 | require __DIR__.'/../bootstrap/autoload.php';
23 |
24 | /*
25 | |--------------------------------------------------------------------------
26 | | Turn On The Lights
27 | |--------------------------------------------------------------------------
28 | |
29 | | We need to illuminate PHP development, so let us turn on the lights.
30 | | This bootstraps the framework and gets it ready for use, then it
31 | | will load up this application so that we can run it and send
32 | | the responses back to the browser and delight our users.
33 | |
34 | */
35 |
36 | $app = require_once __DIR__.'/../bootstrap/app.php';
37 |
38 | /*
39 | |--------------------------------------------------------------------------
40 | | Run The Application
41 | |--------------------------------------------------------------------------
42 | |
43 | | Once we have the application, we can handle the incoming request
44 | | through the kernel, and send the associated response back to
45 | | the client's browser allowing them to enjoy the creative
46 | | and wonderful application we have prepared for them.
47 | |
48 | */
49 |
50 | $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
51 |
52 | $response = $kernel->handle(
53 | $request = Illuminate\Http\Request::capture()
54 | );
55 |
56 | $response->send();
57 |
58 | $kernel->terminate($request, $response);
59 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/AuthController.php:
--------------------------------------------------------------------------------
1 | middleware('guest', ['except' => 'getLogout']);
34 | }
35 |
36 | /**
37 | * Get a validator for an incoming registration request.
38 | *
39 | * @param array $data
40 | * @return \Illuminate\Contracts\Validation\Validator
41 | */
42 | protected function validator(array $data)
43 | {
44 | return Validator::make($data, [
45 | 'name' => 'required|max:255',
46 | 'email' => 'required|email|max:255|unique:users',
47 | 'password' => 'required|confirmed|min:6',
48 | ]);
49 | }
50 |
51 | /**
52 | * Create a new user instance after a valid registration.
53 | *
54 | * @param array $data
55 | * @return User
56 | */
57 | protected function create(array $data)
58 | {
59 | return User::create([
60 | 'name' => $data['name'],
61 | 'email' => $data['email'],
62 | 'password' => bcrypt($data['password']),
63 | ]);
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/config/cache.php:
--------------------------------------------------------------------------------
1 | env('CACHE_DRIVER', 'file'),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Cache Stores
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may define all of the cache "stores" for your application as
24 | | well as their drivers. You may even define multiple stores for the
25 | | same cache driver to group types of items stored in your caches.
26 | |
27 | */
28 |
29 | 'stores' => [
30 |
31 | 'apc' => [
32 | 'driver' => 'apc',
33 | ],
34 |
35 | 'array' => [
36 | 'driver' => 'array',
37 | ],
38 |
39 | 'database' => [
40 | 'driver' => 'database',
41 | 'table' => 'cache',
42 | 'connection' => null,
43 | ],
44 |
45 | 'file' => [
46 | 'driver' => 'file',
47 | 'path' => storage_path('framework/cache'),
48 | ],
49 |
50 | 'memcached' => [
51 | 'driver' => 'memcached',
52 | 'servers' => [
53 | [
54 | 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100,
55 | ],
56 | ],
57 | ],
58 |
59 | 'redis' => [
60 | 'driver' => 'redis',
61 | 'connection' => 'default',
62 | ],
63 |
64 | ],
65 |
66 | /*
67 | |--------------------------------------------------------------------------
68 | | Cache Key Prefix
69 | |--------------------------------------------------------------------------
70 | |
71 | | When utilizing a RAM based store such as APC or Memcached, there might
72 | | be other applications utilizing the same cache. So, we'll specify a
73 | | value to get prefixed to all our keys so we can avoid collisions.
74 | |
75 | */
76 |
77 | 'prefix' => 'laravel',
78 |
79 | ];
80 |
--------------------------------------------------------------------------------
/config/auth.php:
--------------------------------------------------------------------------------
1 | 'eloquent',
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Authentication Model
23 | |--------------------------------------------------------------------------
24 | |
25 | | When using the "Eloquent" authentication driver, we need to know which
26 | | Eloquent model should be used to retrieve your users. Of course, it
27 | | is often just the "User" model but you may use whatever you like.
28 | |
29 | */
30 |
31 | 'model' => App\User::class,
32 |
33 | /*
34 | |--------------------------------------------------------------------------
35 | | Authentication Table
36 | |--------------------------------------------------------------------------
37 | |
38 | | When using the "Database" authentication driver, we need to know which
39 | | table should be used to retrieve your users. We have chosen a basic
40 | | default value but you may easily change it to any table you like.
41 | |
42 | */
43 |
44 | 'table' => 'users',
45 |
46 | /*
47 | |--------------------------------------------------------------------------
48 | | Password Reset Settings
49 | |--------------------------------------------------------------------------
50 | |
51 | | Here you may set the options for resetting passwords including the view
52 | | that is your password reset e-mail. You can also set the name of the
53 | | table that maintains all of the reset tokens for your application.
54 | |
55 | | The expire time is the number of minutes that the reset token should be
56 | | considered valid. This security feature keeps tokens short-lived so
57 | | they have less time to be guessed. You may change this as needed.
58 | |
59 | */
60 |
61 | 'password' => [
62 | 'email' => 'emails.password',
63 | 'table' => 'password_resets',
64 | 'expire' => 60,
65 | ],
66 |
67 | ];
68 |
--------------------------------------------------------------------------------
/config/filesystems.php:
--------------------------------------------------------------------------------
1 | 'local',
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Default Cloud Filesystem Disk
23 | |--------------------------------------------------------------------------
24 | |
25 | | Many applications store files both locally and in the cloud. For this
26 | | reason, you may specify a default "cloud" driver here. This driver
27 | | will be bound as the Cloud disk implementation in the container.
28 | |
29 | */
30 |
31 | 'cloud' => 's3',
32 |
33 | /*
34 | |--------------------------------------------------------------------------
35 | | Filesystem Disks
36 | |--------------------------------------------------------------------------
37 | |
38 | | Here you may configure as many filesystem "disks" as you wish, and you
39 | | may even configure multiple disks of the same driver. Defaults have
40 | | been setup for each driver as an example of the required options.
41 | |
42 | */
43 |
44 | 'disks' => [
45 |
46 | 'local' => [
47 | 'driver' => 'local',
48 | 'root' => storage_path('app'),
49 | ],
50 |
51 | 'ftp' => [
52 | 'driver' => 'ftp',
53 | 'host' => 'ftp.example.com',
54 | 'username' => 'your-username',
55 | 'password' => 'your-password',
56 |
57 | // Optional FTP Settings...
58 | // 'port' => 21,
59 | // 'root' => '',
60 | // 'passive' => true,
61 | // 'ssl' => true,
62 | // 'timeout' => 30,
63 | ],
64 |
65 | 's3' => [
66 | 'driver' => 's3',
67 | 'key' => 'your-key',
68 | 'secret' => 'your-secret',
69 | 'region' => 'your-region',
70 | 'bucket' => 'your-bucket',
71 | ],
72 |
73 | 'rackspace' => [
74 | 'driver' => 'rackspace',
75 | 'username' => 'your-username',
76 | 'key' => 'your-key',
77 | 'container' => 'your-container',
78 | 'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/',
79 | 'region' => 'IAD',
80 | 'url_type' => 'publicURL',
81 | ],
82 |
83 | ],
84 |
85 | ];
86 |
--------------------------------------------------------------------------------
/config/queue.php:
--------------------------------------------------------------------------------
1 | env('QUEUE_DRIVER', 'sync'),
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | Queue Connections
24 | |--------------------------------------------------------------------------
25 | |
26 | | Here you may configure the connection information for each server that
27 | | is used by your application. A default configuration has been added
28 | | for each back-end shipped with Laravel. You are free to add more.
29 | |
30 | */
31 |
32 | 'connections' => [
33 |
34 | 'sync' => [
35 | 'driver' => 'sync',
36 | ],
37 |
38 | 'database' => [
39 | 'driver' => 'database',
40 | 'table' => 'jobs',
41 | 'queue' => 'default',
42 | 'expire' => 60,
43 | ],
44 |
45 | 'beanstalkd' => [
46 | 'driver' => 'beanstalkd',
47 | 'host' => 'localhost',
48 | 'queue' => 'default',
49 | 'ttr' => 60,
50 | ],
51 |
52 | 'sqs' => [
53 | 'driver' => 'sqs',
54 | 'key' => 'your-public-key',
55 | 'secret' => 'your-secret-key',
56 | 'queue' => 'your-queue-url',
57 | 'region' => 'us-east-1',
58 | ],
59 |
60 | 'iron' => [
61 | 'driver' => 'iron',
62 | 'host' => 'mq-aws-us-east-1.iron.io',
63 | 'token' => 'your-token',
64 | 'project' => 'your-project-id',
65 | 'queue' => 'your-queue-name',
66 | 'encrypt' => true,
67 | ],
68 |
69 | 'redis' => [
70 | 'driver' => 'redis',
71 | 'connection' => 'default',
72 | 'queue' => 'default',
73 | 'expire' => 60,
74 | ],
75 |
76 | ],
77 |
78 | /*
79 | |--------------------------------------------------------------------------
80 | | Failed Queue Jobs
81 | |--------------------------------------------------------------------------
82 | |
83 | | These options configure the behavior of failed queue job logging so you
84 | | can control which database and table are used to store the jobs that
85 | | have failed. You may change them to any database / table you wish.
86 | |
87 | */
88 |
89 | 'failed' => [
90 | 'database' => 'mysql', 'table' => 'failed_jobs',
91 | ],
92 |
93 | ];
94 |
--------------------------------------------------------------------------------
/config/database.php:
--------------------------------------------------------------------------------
1 | PDO::FETCH_CLASS,
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Default Database Connection Name
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may specify which of the database connections below you wish
24 | | to use as your default connection for all database work. Of course
25 | | you may use many connections at once using the Database library.
26 | |
27 | */
28 |
29 | 'default' => env('DB_CONNECTION', 'sqlite'),
30 |
31 | /*
32 | |--------------------------------------------------------------------------
33 | | Database Connections
34 | |--------------------------------------------------------------------------
35 | |
36 | | Here are each of the database connections setup for your application.
37 | | Of course, examples of configuring each database platform that is
38 | | supported by Laravel is shown below to make development simple.
39 | |
40 | |
41 | | All database work in Laravel is done through the PHP PDO facilities
42 | | so make sure you have the driver for your particular database of
43 | | choice installed on your machine before you begin development.
44 | |
45 | */
46 |
47 | 'connections' => [
48 |
49 | 'sqlite' => [
50 | 'driver' => 'sqlite',
51 | 'database' => storage_path('database.sqlite'),
52 | 'prefix' => '',
53 | ],
54 |
55 | 'mysql' => [
56 | 'driver' => 'mysql',
57 | 'host' => env('DB_HOST', 'localhost'),
58 | 'database' => env('DB_DATABASE', 'forge'),
59 | 'username' => env('DB_USERNAME', 'forge'),
60 | 'password' => env('DB_PASSWORD', ''),
61 | 'charset' => 'utf8',
62 | 'collation' => 'utf8_unicode_ci',
63 | 'prefix' => '',
64 | 'strict' => false,
65 | ],
66 |
67 | 'pgsql' => [
68 | 'driver' => 'pgsql',
69 | 'host' => env('DB_HOST', 'localhost'),
70 | 'database' => env('DB_DATABASE', 'forge'),
71 | 'username' => env('DB_USERNAME', 'forge'),
72 | 'password' => env('DB_PASSWORD', ''),
73 | 'charset' => 'utf8',
74 | 'prefix' => '',
75 | 'schema' => 'public',
76 | ],
77 |
78 | 'sqlsrv' => [
79 | 'driver' => 'sqlsrv',
80 | 'host' => env('DB_HOST', 'localhost'),
81 | 'database' => env('DB_DATABASE', 'forge'),
82 | 'username' => env('DB_USERNAME', 'forge'),
83 | 'password' => env('DB_PASSWORD', ''),
84 | 'charset' => 'utf8',
85 | 'prefix' => '',
86 | ],
87 |
88 | ],
89 |
90 | /*
91 | |--------------------------------------------------------------------------
92 | | Migration Repository Table
93 | |--------------------------------------------------------------------------
94 | |
95 | | This table keeps track of all the migrations that have already run for
96 | | your application. Using this information, we can determine which of
97 | | the migrations on disk haven't actually been run in the database.
98 | |
99 | */
100 |
101 | 'migrations' => 'migrations',
102 |
103 | /*
104 | |--------------------------------------------------------------------------
105 | | Redis Databases
106 | |--------------------------------------------------------------------------
107 | |
108 | | Redis is an open source, fast, and advanced key-value store that also
109 | | provides a richer set of commands than a typical key-value systems
110 | | such as APC or Memcached. Laravel makes it easy to dig right in.
111 | |
112 | */
113 |
114 | 'redis' => [
115 |
116 | 'cluster' => false,
117 |
118 | 'default' => [
119 | 'host' => '127.0.0.1',
120 | 'port' => 6379,
121 | 'database' => 0,
122 | ],
123 |
124 | ],
125 |
126 | ];
127 |
--------------------------------------------------------------------------------
/config/mail.php:
--------------------------------------------------------------------------------
1 | env('MAIL_DRIVER', 'smtp'),
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | SMTP Host Address
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may provide the host address of the SMTP server used by your
26 | | applications. A default option is provided that is compatible with
27 | | the Mailgun mail service which will provide reliable deliveries.
28 | |
29 | */
30 |
31 | 'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
32 |
33 | /*
34 | |--------------------------------------------------------------------------
35 | | SMTP Host Port
36 | |--------------------------------------------------------------------------
37 | |
38 | | This is the SMTP port used by your application to deliver e-mails to
39 | | users of the application. Like the host we have set this value to
40 | | stay compatible with the Mailgun e-mail application by default.
41 | |
42 | */
43 |
44 | 'port' => env('MAIL_PORT', 587),
45 |
46 | /*
47 | |--------------------------------------------------------------------------
48 | | Global "From" Address
49 | |--------------------------------------------------------------------------
50 | |
51 | | You may wish for all e-mails sent by your application to be sent from
52 | | the same address. Here, you may specify a name and address that is
53 | | used globally for all e-mails that are sent by your application.
54 | |
55 | */
56 |
57 | 'from' => ['address' => null, 'name' => null],
58 |
59 | /*
60 | |--------------------------------------------------------------------------
61 | | E-Mail Encryption Protocol
62 | |--------------------------------------------------------------------------
63 | |
64 | | Here you may specify the encryption protocol that should be used when
65 | | the application send e-mail messages. A sensible default using the
66 | | transport layer security protocol should provide great security.
67 | |
68 | */
69 |
70 | 'encryption' => env('MAIL_ENCRYPTION', 'tls'),
71 |
72 | /*
73 | |--------------------------------------------------------------------------
74 | | SMTP Server Username
75 | |--------------------------------------------------------------------------
76 | |
77 | | If your SMTP server requires a username for authentication, you should
78 | | set it here. This will get used to authenticate with your server on
79 | | connection. You may also set the "password" value below this one.
80 | |
81 | */
82 |
83 | 'username' => env('MAIL_USERNAME'),
84 |
85 | /*
86 | |--------------------------------------------------------------------------
87 | | SMTP Server Password
88 | |--------------------------------------------------------------------------
89 | |
90 | | Here you may set the password required by your SMTP server to send out
91 | | messages from your application. This will be given to the server on
92 | | connection so that the application will be able to send messages.
93 | |
94 | */
95 |
96 | 'password' => env('MAIL_PASSWORD'),
97 |
98 | /*
99 | |--------------------------------------------------------------------------
100 | | Sendmail System Path
101 | |--------------------------------------------------------------------------
102 | |
103 | | When using the "sendmail" driver to send e-mails, we will need to know
104 | | the path to where Sendmail lives on this server. A default path has
105 | | been provided here, which will work well on most of your systems.
106 | |
107 | */
108 |
109 | 'sendmail' => '/usr/sbin/sendmail -bs',
110 |
111 | /*
112 | |--------------------------------------------------------------------------
113 | | Mail "Pretend"
114 | |--------------------------------------------------------------------------
115 | |
116 | | When this option is enabled, e-mail will not actually be sent over the
117 | | web and will instead be written to your application's logs files so
118 | | you may inspect the message. This is great for local development.
119 | |
120 | */
121 |
122 | 'pretend' => false,
123 |
124 | ];
125 |
--------------------------------------------------------------------------------
/config/session.php:
--------------------------------------------------------------------------------
1 | env('SESSION_DRIVER', 'file'),
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | Session Lifetime
24 | |--------------------------------------------------------------------------
25 | |
26 | | Here you may specify the number of minutes that you wish the session
27 | | to be allowed to remain idle before it expires. If you want them
28 | | to immediately expire on the browser closing, set that option.
29 | |
30 | */
31 |
32 | 'lifetime' => 120,
33 |
34 | 'expire_on_close' => false,
35 |
36 | /*
37 | |--------------------------------------------------------------------------
38 | | Session Encryption
39 | |--------------------------------------------------------------------------
40 | |
41 | | This option allows you to easily specify that all of your session data
42 | | should be encrypted before it is stored. All encryption will be run
43 | | automatically by Laravel and you can use the Session like normal.
44 | |
45 | */
46 |
47 | 'encrypt' => false,
48 |
49 | /*
50 | |--------------------------------------------------------------------------
51 | | Session File Location
52 | |--------------------------------------------------------------------------
53 | |
54 | | When using the native session driver, we need a location where session
55 | | files may be stored. A default has been set for you but a different
56 | | location may be specified. This is only needed for file sessions.
57 | |
58 | */
59 |
60 | 'files' => storage_path('framework/sessions'),
61 |
62 | /*
63 | |--------------------------------------------------------------------------
64 | | Session Database Connection
65 | |--------------------------------------------------------------------------
66 | |
67 | | When using the "database" or "redis" session drivers, you may specify a
68 | | connection that should be used to manage these sessions. This should
69 | | correspond to a connection in your database configuration options.
70 | |
71 | */
72 |
73 | 'connection' => null,
74 |
75 | /*
76 | |--------------------------------------------------------------------------
77 | | Session Database Table
78 | |--------------------------------------------------------------------------
79 | |
80 | | When using the "database" session driver, you may specify the table we
81 | | should use to manage the sessions. Of course, a sensible default is
82 | | provided for you; however, you are free to change this as needed.
83 | |
84 | */
85 |
86 | 'table' => 'sessions',
87 |
88 | /*
89 | |--------------------------------------------------------------------------
90 | | Session Sweeping Lottery
91 | |--------------------------------------------------------------------------
92 | |
93 | | Some session drivers must manually sweep their storage location to get
94 | | rid of old sessions from storage. Here are the chances that it will
95 | | happen on a given request. By default, the odds are 2 out of 100.
96 | |
97 | */
98 |
99 | 'lottery' => [2, 100],
100 |
101 | /*
102 | |--------------------------------------------------------------------------
103 | | Session Cookie Name
104 | |--------------------------------------------------------------------------
105 | |
106 | | Here you may change the name of the cookie used to identify a session
107 | | instance by ID. The name specified here will get used every time a
108 | | new session cookie is created by the framework for every driver.
109 | |
110 | */
111 |
112 | 'cookie' => 'laravel_session',
113 |
114 | /*
115 | |--------------------------------------------------------------------------
116 | | Session Cookie Path
117 | |--------------------------------------------------------------------------
118 | |
119 | | The session cookie path determines the path for which the cookie will
120 | | be regarded as available. Typically, this will be the root path of
121 | | your application but you are free to change this when necessary.
122 | |
123 | */
124 |
125 | 'path' => '/',
126 |
127 | /*
128 | |--------------------------------------------------------------------------
129 | | Session Cookie Domain
130 | |--------------------------------------------------------------------------
131 | |
132 | | Here you may change the domain of the cookie used to identify a session
133 | | in your application. This will determine which domains the cookie is
134 | | available to in your application. A sensible default has been set.
135 | |
136 | */
137 |
138 | 'domain' => null,
139 |
140 | /*
141 | |--------------------------------------------------------------------------
142 | | HTTPS Only Cookies
143 | |--------------------------------------------------------------------------
144 | |
145 | | By setting this option to true, session cookies will only be sent back
146 | | to the server if the browser has a HTTPS connection. This will keep
147 | | the cookie from being sent to you if it can not be done securely.
148 | |
149 | */
150 |
151 | 'secure' => false,
152 |
153 | ];
154 |
--------------------------------------------------------------------------------
/resources/lang/en/validation.php:
--------------------------------------------------------------------------------
1 | 'The :attribute must be accepted.',
17 | 'active_url' => 'The :attribute is not a valid URL.',
18 | 'after' => 'The :attribute must be a date after :date.',
19 | 'alpha' => 'The :attribute may only contain letters.',
20 | 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
21 | 'alpha_num' => 'The :attribute may only contain letters and numbers.',
22 | 'array' => 'The :attribute must be an array.',
23 | 'before' => 'The :attribute must be a date before :date.',
24 | 'between' => [
25 | 'numeric' => 'The :attribute must be between :min and :max.',
26 | 'file' => 'The :attribute must be between :min and :max kilobytes.',
27 | 'string' => 'The :attribute must be between :min and :max characters.',
28 | 'array' => 'The :attribute must have between :min and :max items.',
29 | ],
30 | 'boolean' => 'The :attribute field must be true or false.',
31 | 'confirmed' => 'The :attribute confirmation does not match.',
32 | 'date' => 'The :attribute is not a valid date.',
33 | 'date_format' => 'The :attribute does not match the format :format.',
34 | 'different' => 'The :attribute and :other must be different.',
35 | 'digits' => 'The :attribute must be :digits digits.',
36 | 'digits_between' => 'The :attribute must be between :min and :max digits.',
37 | 'email' => 'The :attribute must be a valid email address.',
38 | 'exists' => 'The selected :attribute is invalid.',
39 | 'filled' => 'The :attribute field is required.',
40 | 'image' => 'The :attribute must be an image.',
41 | 'in' => 'The selected :attribute is invalid.',
42 | 'integer' => 'The :attribute must be an integer.',
43 | 'ip' => 'The :attribute must be a valid IP address.',
44 | 'json' => 'The :attribute must be a valid JSON string.',
45 | 'max' => [
46 | 'numeric' => 'The :attribute may not be greater than :max.',
47 | 'file' => 'The :attribute may not be greater than :max kilobytes.',
48 | 'string' => 'The :attribute may not be greater than :max characters.',
49 | 'array' => 'The :attribute may not have more than :max items.',
50 | ],
51 | 'mimes' => 'The :attribute must be a file of type: :values.',
52 | 'min' => [
53 | 'numeric' => 'The :attribute must be at least :min.',
54 | 'file' => 'The :attribute must be at least :min kilobytes.',
55 | 'string' => 'The :attribute must be at least :min characters.',
56 | 'array' => 'The :attribute must have at least :min items.',
57 | ],
58 | 'not_in' => 'The selected :attribute is invalid.',
59 | 'numeric' => 'The :attribute must be a number.',
60 | 'regex' => 'The :attribute format is invalid.',
61 | 'required' => 'The :attribute field is required.',
62 | 'required_if' => 'The :attribute field is required when :other is :value.',
63 | 'required_with' => 'The :attribute field is required when :values is present.',
64 | 'required_with_all' => 'The :attribute field is required when :values is present.',
65 | 'required_without' => 'The :attribute field is required when :values is not present.',
66 | 'required_without_all' => 'The :attribute field is required when none of :values are present.',
67 | 'same' => 'The :attribute and :other must match.',
68 | 'size' => [
69 | 'numeric' => 'The :attribute must be :size.',
70 | 'file' => 'The :attribute must be :size kilobytes.',
71 | 'string' => 'The :attribute must be :size characters.',
72 | 'array' => 'The :attribute must contain :size items.',
73 | ],
74 | 'string' => 'The :attribute must be a string.',
75 | 'timezone' => 'The :attribute must be a valid zone.',
76 | 'unique' => 'The :attribute has already been taken.',
77 | 'url' => 'The :attribute format is invalid.',
78 |
79 | /*
80 | |--------------------------------------------------------------------------
81 | | Custom Validation Language Lines
82 | |--------------------------------------------------------------------------
83 | |
84 | | Here you may specify custom validation messages for attributes using the
85 | | convention "attribute.rule" to name the lines. This makes it quick to
86 | | specify a specific custom language line for a given attribute rule.
87 | |
88 | */
89 |
90 | 'custom' => [
91 | 'attribute-name' => [
92 | 'rule-name' => 'custom-message',
93 | ],
94 | ],
95 |
96 | /*
97 | |--------------------------------------------------------------------------
98 | | Custom Validation Attributes
99 | |--------------------------------------------------------------------------
100 | |
101 | | The following language lines are used to swap attribute place-holders
102 | | with something more reader friendly such as E-Mail Address instead
103 | | of "email". This simply helps us make messages a little cleaner.
104 | |
105 | */
106 |
107 | 'attributes' => [],
108 |
109 | ];
110 |
--------------------------------------------------------------------------------
/config/app.php:
--------------------------------------------------------------------------------
1 | env('APP_DEBUG', false),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Application URL
21 | |--------------------------------------------------------------------------
22 | |
23 | | This URL is used by the console to properly generate URLs when using
24 | | the Artisan command line tool. You should set this to the root of
25 | | your application so that it is used when running Artisan tasks.
26 | |
27 | */
28 |
29 | 'url' => 'http://localhost',
30 |
31 | /*
32 | |--------------------------------------------------------------------------
33 | | Application Timezone
34 | |--------------------------------------------------------------------------
35 | |
36 | | Here you may specify the default timezone for your application, which
37 | | will be used by the PHP date and date-time functions. We have gone
38 | | ahead and set this to a sensible default for you out of the box.
39 | |
40 | */
41 |
42 | 'timezone' => 'UTC',
43 |
44 | /*
45 | |--------------------------------------------------------------------------
46 | | Application Locale Configuration
47 | |--------------------------------------------------------------------------
48 | |
49 | | The application locale determines the default locale that will be used
50 | | by the translation service provider. You are free to set this value
51 | | to any of the locales which will be supported by the application.
52 | |
53 | */
54 |
55 | 'locale' => 'en',
56 |
57 | /*
58 | |--------------------------------------------------------------------------
59 | | Application Fallback Locale
60 | |--------------------------------------------------------------------------
61 | |
62 | | The fallback locale determines the locale to use when the current one
63 | | is not available. You may change the value to correspond to any of
64 | | the language folders that are provided through your application.
65 | |
66 | */
67 |
68 | 'fallback_locale' => 'en',
69 |
70 | /*
71 | |--------------------------------------------------------------------------
72 | | Encryption Key
73 | |--------------------------------------------------------------------------
74 | |
75 | | This key is used by the Illuminate encrypter service and should be set
76 | | to a random, 32 character string, otherwise these encrypted strings
77 | | will not be safe. Please do this before deploying an application!
78 | |
79 | */
80 |
81 | 'key' => env('APP_KEY', 'SomeRandomString'),
82 |
83 | 'cipher' => 'AES-256-CBC',
84 |
85 | /*
86 | |--------------------------------------------------------------------------
87 | | Logging Configuration
88 | |--------------------------------------------------------------------------
89 | |
90 | | Here you may configure the log settings for your application. Out of
91 | | the box, Laravel uses the Monolog PHP logging library. This gives
92 | | you a variety of powerful log handlers / formatters to utilize.
93 | |
94 | | Available Settings: "single", "daily", "syslog", "errorlog"
95 | |
96 | */
97 |
98 | 'log' => 'single',
99 |
100 | /*
101 | |--------------------------------------------------------------------------
102 | | Autoloaded Service Providers
103 | |--------------------------------------------------------------------------
104 | |
105 | | The service providers listed here will be automatically loaded on the
106 | | request to your application. Feel free to add your own services to
107 | | this array to grant expanded functionality to your applications.
108 | |
109 | */
110 |
111 | 'providers' => [
112 |
113 | /*
114 | * Laravel Framework Service Providers...
115 | */
116 | Illuminate\Foundation\Providers\ArtisanServiceProvider::class,
117 | Illuminate\Auth\AuthServiceProvider::class,
118 | Illuminate\Broadcasting\BroadcastServiceProvider::class,
119 | Illuminate\Bus\BusServiceProvider::class,
120 | Illuminate\Cache\CacheServiceProvider::class,
121 | Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
122 | Illuminate\Routing\ControllerServiceProvider::class,
123 | Illuminate\Cookie\CookieServiceProvider::class,
124 | Illuminate\Database\DatabaseServiceProvider::class,
125 | Illuminate\Encryption\EncryptionServiceProvider::class,
126 | Illuminate\Filesystem\FilesystemServiceProvider::class,
127 | Illuminate\Foundation\Providers\FoundationServiceProvider::class,
128 | Illuminate\Hashing\HashServiceProvider::class,
129 | Illuminate\Mail\MailServiceProvider::class,
130 | Illuminate\Pagination\PaginationServiceProvider::class,
131 | Illuminate\Pipeline\PipelineServiceProvider::class,
132 | Illuminate\Queue\QueueServiceProvider::class,
133 | Illuminate\Redis\RedisServiceProvider::class,
134 | Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
135 | Illuminate\Session\SessionServiceProvider::class,
136 | Illuminate\Translation\TranslationServiceProvider::class,
137 | Illuminate\Validation\ValidationServiceProvider::class,
138 | Illuminate\View\ViewServiceProvider::class,
139 |
140 | /*
141 | * Application Service Providers...
142 | */
143 | App\Providers\AppServiceProvider::class,
144 | App\Providers\AuthServiceProvider::class,
145 | App\Providers\EventServiceProvider::class,
146 | App\Providers\RouteServiceProvider::class,
147 |
148 | ],
149 |
150 | /*
151 | |--------------------------------------------------------------------------
152 | | Class Aliases
153 | |--------------------------------------------------------------------------
154 | |
155 | | This array of class aliases will be registered when this application
156 | | is started. However, feel free to register as many as you wish as
157 | | the aliases are "lazy" loaded so they don't hinder performance.
158 | |
159 | */
160 |
161 | 'aliases' => [
162 |
163 | 'App' => Illuminate\Support\Facades\App::class,
164 | 'Artisan' => Illuminate\Support\Facades\Artisan::class,
165 | 'Auth' => Illuminate\Support\Facades\Auth::class,
166 | 'Blade' => Illuminate\Support\Facades\Blade::class,
167 | 'Bus' => Illuminate\Support\Facades\Bus::class,
168 | 'Cache' => Illuminate\Support\Facades\Cache::class,
169 | 'Config' => Illuminate\Support\Facades\Config::class,
170 | 'Cookie' => Illuminate\Support\Facades\Cookie::class,
171 | 'Crypt' => Illuminate\Support\Facades\Crypt::class,
172 | 'DB' => Illuminate\Support\Facades\DB::class,
173 | 'Eloquent' => Illuminate\Database\Eloquent\Model::class,
174 | 'Event' => Illuminate\Support\Facades\Event::class,
175 | 'File' => Illuminate\Support\Facades\File::class,
176 | 'Gate' => Illuminate\Support\Facades\Gate::class,
177 | 'Hash' => Illuminate\Support\Facades\Hash::class,
178 | 'Input' => Illuminate\Support\Facades\Input::class,
179 | 'Inspiring' => Illuminate\Foundation\Inspiring::class,
180 | 'Lang' => Illuminate\Support\Facades\Lang::class,
181 | 'Log' => Illuminate\Support\Facades\Log::class,
182 | 'Mail' => Illuminate\Support\Facades\Mail::class,
183 | 'Password' => Illuminate\Support\Facades\Password::class,
184 | 'Queue' => Illuminate\Support\Facades\Queue::class,
185 | 'Redirect' => Illuminate\Support\Facades\Redirect::class,
186 | 'Redis' => Illuminate\Support\Facades\Redis::class,
187 | 'Request' => Illuminate\Support\Facades\Request::class,
188 | 'Response' => Illuminate\Support\Facades\Response::class,
189 | 'Route' => Illuminate\Support\Facades\Route::class,
190 | 'Schema' => Illuminate\Support\Facades\Schema::class,
191 | 'Session' => Illuminate\Support\Facades\Session::class,
192 | 'Storage' => Illuminate\Support\Facades\Storage::class,
193 | 'URL' => Illuminate\Support\Facades\URL::class,
194 | 'Validator' => Illuminate\Support\Facades\Validator::class,
195 | 'View' => Illuminate\Support\Facades\View::class,
196 |
197 | ],
198 |
199 | ];
200 |
--------------------------------------------------------------------------------
/public/assets/css/style.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
2 |
3 | /**
4 | * 1. Set default font family to sans-serif.
5 | * 2. Prevent iOS text size adjust after orientation change, without disabling
6 | * user zoom.
7 | */
8 |
9 | html {
10 | font-family: sans-serif; /* 1 */
11 | -ms-text-size-adjust: 100%; /* 2 */
12 | -webkit-text-size-adjust: 100%; /* 2 */
13 | }
14 |
15 | /**
16 | * Remove default margin.
17 | */
18 |
19 | body {
20 | margin: 0;
21 | }
22 |
23 | /* HTML5 display definitions
24 | ========================================================================== */
25 |
26 | /**
27 | * Correct `block` display not defined for any HTML5 element in IE 8/9.
28 | * Correct `block` display not defined for `details` or `summary` in IE 10/11
29 | * and Firefox.
30 | * Correct `block` display not defined for `main` in IE 11.
31 | */
32 |
33 | article,
34 | aside,
35 | details,
36 | figcaption,
37 | figure,
38 | footer,
39 | header,
40 | hgroup,
41 | main,
42 | menu,
43 | nav,
44 | section,
45 | summary {
46 | display: block;
47 | }
48 |
49 | /**
50 | * 1. Correct `inline-block` display not defined in IE 8/9.
51 | * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
52 | */
53 |
54 | audio,
55 | canvas,
56 | progress,
57 | video {
58 | display: inline-block; /* 1 */
59 | vertical-align: baseline; /* 2 */
60 | }
61 |
62 | /**
63 | * Prevent modern browsers from displaying `audio` without controls.
64 | * Remove excess height in iOS 5 devices.
65 | */
66 |
67 | audio:not([controls]) {
68 | display: none;
69 | height: 0;
70 | }
71 |
72 | /**
73 | * Address `[hidden]` styling not present in IE 8/9/10.
74 | * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
75 | */
76 |
77 | [hidden],
78 | template {
79 | display: none;
80 | }
81 |
82 | /* Links
83 | ========================================================================== */
84 |
85 | /**
86 | * Remove the gray background color from active links in IE 10.
87 | */
88 |
89 | a {
90 | background-color: transparent;
91 | }
92 |
93 | /**
94 | * Improve readability when focused and also mouse hovered in all browsers.
95 | */
96 |
97 | a:active,
98 | a:hover {
99 | outline: 0;
100 | }
101 |
102 | /* Text-level semantics
103 | ========================================================================== */
104 |
105 | /**
106 | * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
107 | */
108 |
109 | abbr[title] {
110 | border-bottom: 1px dotted;
111 | }
112 |
113 | /**
114 | * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
115 | */
116 |
117 | b,
118 | strong {
119 | font-weight: bold;
120 | }
121 |
122 | /**
123 | * Address styling not present in Safari and Chrome.
124 | */
125 |
126 | dfn {
127 | font-style: italic;
128 | }
129 |
130 | /**
131 | * Address variable `h1` font-size and margin within `section` and `article`
132 | * contexts in Firefox 4+, Safari, and Chrome.
133 | */
134 |
135 | h1 {
136 | font-size: 2em;
137 | margin: 0.67em 0;
138 | }
139 |
140 | /**
141 | * Address styling not present in IE 8/9.
142 | */
143 |
144 | mark {
145 | background: #ff0;
146 | color: #000;
147 | }
148 |
149 | /**
150 | * Address inconsistent and variable font size in all browsers.
151 | */
152 |
153 | small {
154 | font-size: 80%;
155 | }
156 |
157 | /**
158 | * Prevent `sub` and `sup` affecting `line-height` in all browsers.
159 | */
160 |
161 | sub,
162 | sup {
163 | font-size: 75%;
164 | line-height: 0;
165 | position: relative;
166 | vertical-align: baseline;
167 | }
168 |
169 | sup {
170 | top: -0.5em;
171 | }
172 |
173 | sub {
174 | bottom: -0.25em;
175 | }
176 |
177 | /* Embedded content
178 | ========================================================================== */
179 |
180 | /**
181 | * Remove border when inside `a` element in IE 8/9/10.
182 | */
183 |
184 | img {
185 | border: 0;
186 | }
187 |
188 | /**
189 | * Correct overflow not hidden in IE 9/10/11.
190 | */
191 |
192 | svg:not(:root) {
193 | overflow: hidden;
194 | }
195 |
196 | /* Grouping content
197 | ========================================================================== */
198 |
199 | /**
200 | * Address margin not present in IE 8/9 and Safari.
201 | */
202 |
203 | figure {
204 | margin: 1em 40px;
205 | }
206 |
207 | /**
208 | * Address differences between Firefox and other browsers.
209 | */
210 |
211 | hr {
212 | -moz-box-sizing: content-box;
213 | box-sizing: content-box;
214 | height: 0;
215 | }
216 |
217 | /**
218 | * Contain overflow in all browsers.
219 | */
220 |
221 | pre {
222 | overflow: auto;
223 | }
224 |
225 | /**
226 | * Address odd `em`-unit font size rendering in all browsers.
227 | */
228 |
229 | code,
230 | kbd,
231 | pre,
232 | samp {
233 | font-family: monospace, monospace;
234 | font-size: 1em;
235 | }
236 |
237 | /* Forms
238 | ========================================================================== */
239 |
240 | /**
241 | * Known limitation: by default, Chrome and Safari on OS X allow very limited
242 | * styling of `select`, unless a `border` property is set.
243 | */
244 |
245 | /**
246 | * 1. Correct color not being inherited.
247 | * Known issue: affects color of disabled elements.
248 | * 2. Correct font properties not being inherited.
249 | * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
250 | */
251 |
252 | button,
253 | input,
254 | optgroup,
255 | select,
256 | textarea {
257 | color: inherit; /* 1 */
258 | font: inherit; /* 2 */
259 | margin: 0; /* 3 */
260 | }
261 |
262 | /**
263 | * Address `overflow` set to `hidden` in IE 8/9/10/11.
264 | */
265 |
266 | button {
267 | overflow: visible;
268 | }
269 |
270 | /**
271 | * Address inconsistent `text-transform` inheritance for `button` and `select`.
272 | * All other form control elements do not inherit `text-transform` values.
273 | * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
274 | * Correct `select` style inheritance in Firefox.
275 | */
276 |
277 | button,
278 | select {
279 | text-transform: none;
280 | }
281 |
282 | /**
283 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
284 | * and `video` controls.
285 | * 2. Correct inability to style clickable `input` types in iOS.
286 | * 3. Improve usability and consistency of cursor style between image-type
287 | * `input` and others.
288 | */
289 |
290 | button,
291 | html input[type="button"], /* 1 */
292 | input[type="reset"],
293 | input[type="submit"] {
294 | -webkit-appearance: button; /* 2 */
295 | cursor: pointer; /* 3 */
296 | }
297 |
298 | /**
299 | * Re-set default cursor for disabled elements.
300 | */
301 |
302 | button[disabled],
303 | html input[disabled] {
304 | cursor: default;
305 | }
306 |
307 | /**
308 | * Remove inner padding and border in Firefox 4+.
309 | */
310 |
311 | button::-moz-focus-inner,
312 | input::-moz-focus-inner {
313 | border: 0;
314 | padding: 0;
315 | }
316 |
317 | /**
318 | * Address Firefox 4+ setting `line-height` on `input` using `!important` in
319 | * the UA stylesheet.
320 | */
321 |
322 | input {
323 | line-height: normal;
324 | }
325 |
326 | /**
327 | * It's recommended that you don't attempt to style these elements.
328 | * Firefox's implementation doesn't respect box-sizing, padding, or width.
329 | *
330 | * 1. Address box sizing set to `content-box` in IE 8/9/10.
331 | * 2. Remove excess padding in IE 8/9/10.
332 | */
333 |
334 | input[type="checkbox"],
335 | input[type="radio"] {
336 | box-sizing: border-box; /* 1 */
337 | padding: 0; /* 2 */
338 | }
339 |
340 | /**
341 | * Fix the cursor style for Chrome's increment/decrement buttons. For certain
342 | * `font-size` values of the `input`, it causes the cursor style of the
343 | * decrement button to change from `default` to `text`.
344 | */
345 |
346 | input[type="number"]::-webkit-inner-spin-button,
347 | input[type="number"]::-webkit-outer-spin-button {
348 | height: auto;
349 | }
350 |
351 | /**
352 | * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
353 | * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
354 | * (include `-moz` to future-proof).
355 | */
356 |
357 | input[type="search"] {
358 | -webkit-appearance: textfield; /* 1 */
359 | -moz-box-sizing: content-box;
360 | -webkit-box-sizing: content-box; /* 2 */
361 | box-sizing: content-box;
362 | }
363 |
364 | /**
365 | * Remove inner padding and search cancel button in Safari and Chrome on OS X.
366 | * Safari (but not Chrome) clips the cancel button when the search input has
367 | * padding (and `textfield` appearance).
368 | */
369 |
370 | input[type="search"]::-webkit-search-cancel-button,
371 | input[type="search"]::-webkit-search-decoration {
372 | -webkit-appearance: none;
373 | }
374 |
375 | /**
376 | * Define consistent border, margin, and padding.
377 | */
378 |
379 | fieldset {
380 | border: 1px solid #c0c0c0;
381 | margin: 0 2px;
382 | padding: 0.35em 0.625em 0.75em;
383 | }
384 |
385 | /**
386 | * 1. Correct `color` not being inherited in IE 8/9/10/11.
387 | * 2. Remove padding so people aren't caught out if they zero out fieldsets.
388 | */
389 |
390 | legend {
391 | border: 0; /* 1 */
392 | padding: 0; /* 2 */
393 | }
394 |
395 | /**
396 | * Remove default vertical scrollbar in IE 8/9/10/11.
397 | */
398 |
399 | textarea {
400 | overflow: auto;
401 | }
402 |
403 | /**
404 | * Don't inherit the `font-weight` (applied by a rule above).
405 | * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
406 | */
407 |
408 | optgroup {
409 | font-weight: bold;
410 | }
411 |
412 | /* Tables
413 | ========================================================================== */
414 |
415 | /**
416 | * Remove most spacing between table cells.
417 | */
418 |
419 | table {
420 | border-collapse: collapse;
421 | border-spacing: 0;
422 | }
423 |
424 | td,
425 | th {
426 | padding: 0;
427 | }
428 |
429 |
430 | /* Fetch TV
431 | ========================================================================== */
432 |
433 | body {
434 | background: #FACB5E;
435 | color: #fff;
436 | text-shadow: 0 1px 2px #E5AD53;
437 | }
438 |
439 | .logo {
440 | background: url(../img/fetchtv.svg) no-repeat;
441 | width: 226px;
442 | height: 77px;
443 | background-size: 226px 77px;
444 | margin: 50px auto;
445 | }
446 |
447 | .redirecting-container {
448 | text-align: center;
449 | padding: 30px;
450 | }
451 |
452 | .redirecting-container h3 {
453 | margin: 0 0 40px;
454 | }
455 |
456 | .btn, .btn:visited {
457 | color: #fff;
458 | text-decoration: none;
459 | border: 1px solid #fff;
460 | border-radius: 5px;
461 | display: inline-block;
462 | padding: 15px;
463 | }
464 |
465 | .btn:hover{
466 | background: rgba(255,255,255,.25);
467 | }
468 |
--------------------------------------------------------------------------------
/composer.lock:
--------------------------------------------------------------------------------
1 | {
2 | "_readme": [
3 | "This file locks the dependencies of your project to a known state",
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5 | "This file is @generated automatically"
6 | ],
7 | "hash": "5c6026b96e6fa11a641b51a6ba976f5e",
8 | "packages": [
9 | {
10 | "name": "classpreloader/classpreloader",
11 | "version": "2.0.0",
12 | "source": {
13 | "type": "git",
14 | "url": "https://github.com/ClassPreloader/ClassPreloader.git",
15 | "reference": "8c3c14b10309e3b40bce833913a6c0c0b8c8f962"
16 | },
17 | "dist": {
18 | "type": "zip",
19 | "url": "https://api.github.com/repos/ClassPreloader/ClassPreloader/zipball/8c3c14b10309e3b40bce833913a6c0c0b8c8f962",
20 | "reference": "8c3c14b10309e3b40bce833913a6c0c0b8c8f962",
21 | "shasum": ""
22 | },
23 | "require": {
24 | "nikic/php-parser": "~1.3",
25 | "php": ">=5.5.9"
26 | },
27 | "require-dev": {
28 | "phpunit/phpunit": "~4.0"
29 | },
30 | "type": "library",
31 | "extra": {
32 | "branch-alias": {
33 | "dev-master": "2.0-dev"
34 | }
35 | },
36 | "autoload": {
37 | "psr-4": {
38 | "ClassPreloader\\": "src/"
39 | }
40 | },
41 | "notification-url": "https://packagist.org/downloads/",
42 | "license": [
43 | "MIT"
44 | ],
45 | "authors": [
46 | {
47 | "name": "Michael Dowling",
48 | "email": "mtdowling@gmail.com"
49 | },
50 | {
51 | "name": "Graham Campbell",
52 | "email": "graham@alt-three.com"
53 | }
54 | ],
55 | "description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case",
56 | "keywords": [
57 | "autoload",
58 | "class",
59 | "preload"
60 | ],
61 | "time": "2015-06-28 21:39:13"
62 | },
63 | {
64 | "name": "danielstjules/stringy",
65 | "version": "1.10.0",
66 | "source": {
67 | "type": "git",
68 | "url": "https://github.com/danielstjules/Stringy.git",
69 | "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b"
70 | },
71 | "dist": {
72 | "type": "zip",
73 | "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/4749c205db47ee5b32e8d1adf6d9aff8db6caf3b",
74 | "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b",
75 | "shasum": ""
76 | },
77 | "require": {
78 | "ext-mbstring": "*",
79 | "php": ">=5.3.0"
80 | },
81 | "require-dev": {
82 | "phpunit/phpunit": "~4.0"
83 | },
84 | "type": "library",
85 | "autoload": {
86 | "psr-4": {
87 | "Stringy\\": "src/"
88 | },
89 | "files": [
90 | "src/Create.php"
91 | ]
92 | },
93 | "notification-url": "https://packagist.org/downloads/",
94 | "license": [
95 | "MIT"
96 | ],
97 | "authors": [
98 | {
99 | "name": "Daniel St. Jules",
100 | "email": "danielst.jules@gmail.com",
101 | "homepage": "http://www.danielstjules.com"
102 | }
103 | ],
104 | "description": "A string manipulation library with multibyte support",
105 | "homepage": "https://github.com/danielstjules/Stringy",
106 | "keywords": [
107 | "UTF",
108 | "helpers",
109 | "manipulation",
110 | "methods",
111 | "multibyte",
112 | "string",
113 | "utf-8",
114 | "utility",
115 | "utils"
116 | ],
117 | "time": "2015-07-23 00:54:12"
118 | },
119 | {
120 | "name": "dnoegel/php-xdg-base-dir",
121 | "version": "0.1",
122 | "source": {
123 | "type": "git",
124 | "url": "https://github.com/dnoegel/php-xdg-base-dir.git",
125 | "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a"
126 | },
127 | "dist": {
128 | "type": "zip",
129 | "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a",
130 | "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a",
131 | "shasum": ""
132 | },
133 | "require": {
134 | "php": ">=5.3.2"
135 | },
136 | "require-dev": {
137 | "phpunit/phpunit": "@stable"
138 | },
139 | "type": "project",
140 | "autoload": {
141 | "psr-4": {
142 | "XdgBaseDir\\": "src/"
143 | }
144 | },
145 | "notification-url": "https://packagist.org/downloads/",
146 | "license": [
147 | "MIT"
148 | ],
149 | "description": "implementation of xdg base directory specification for php",
150 | "time": "2014-10-24 07:27:01"
151 | },
152 | {
153 | "name": "doctrine/inflector",
154 | "version": "v1.0.1",
155 | "source": {
156 | "type": "git",
157 | "url": "https://github.com/doctrine/inflector.git",
158 | "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604"
159 | },
160 | "dist": {
161 | "type": "zip",
162 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604",
163 | "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604",
164 | "shasum": ""
165 | },
166 | "require": {
167 | "php": ">=5.3.2"
168 | },
169 | "require-dev": {
170 | "phpunit/phpunit": "4.*"
171 | },
172 | "type": "library",
173 | "extra": {
174 | "branch-alias": {
175 | "dev-master": "1.0.x-dev"
176 | }
177 | },
178 | "autoload": {
179 | "psr-0": {
180 | "Doctrine\\Common\\Inflector\\": "lib/"
181 | }
182 | },
183 | "notification-url": "https://packagist.org/downloads/",
184 | "license": [
185 | "MIT"
186 | ],
187 | "authors": [
188 | {
189 | "name": "Roman Borschel",
190 | "email": "roman@code-factory.org"
191 | },
192 | {
193 | "name": "Benjamin Eberlei",
194 | "email": "kontakt@beberlei.de"
195 | },
196 | {
197 | "name": "Guilherme Blanco",
198 | "email": "guilhermeblanco@gmail.com"
199 | },
200 | {
201 | "name": "Jonathan Wage",
202 | "email": "jonwage@gmail.com"
203 | },
204 | {
205 | "name": "Johannes Schmitt",
206 | "email": "schmittjoh@gmail.com"
207 | }
208 | ],
209 | "description": "Common String Manipulations with regard to casing and singular/plural rules.",
210 | "homepage": "http://www.doctrine-project.org",
211 | "keywords": [
212 | "inflection",
213 | "pluralize",
214 | "singularize",
215 | "string"
216 | ],
217 | "time": "2014-12-20 21:24:13"
218 | },
219 | {
220 | "name": "jakub-onderka/php-console-color",
221 | "version": "0.1",
222 | "source": {
223 | "type": "git",
224 | "url": "https://github.com/JakubOnderka/PHP-Console-Color.git",
225 | "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1"
226 | },
227 | "dist": {
228 | "type": "zip",
229 | "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1",
230 | "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1",
231 | "shasum": ""
232 | },
233 | "require": {
234 | "php": ">=5.3.2"
235 | },
236 | "require-dev": {
237 | "jakub-onderka/php-code-style": "1.0",
238 | "jakub-onderka/php-parallel-lint": "0.*",
239 | "jakub-onderka/php-var-dump-check": "0.*",
240 | "phpunit/phpunit": "3.7.*",
241 | "squizlabs/php_codesniffer": "1.*"
242 | },
243 | "type": "library",
244 | "autoload": {
245 | "psr-0": {
246 | "JakubOnderka\\PhpConsoleColor": "src/"
247 | }
248 | },
249 | "notification-url": "https://packagist.org/downloads/",
250 | "license": [
251 | "BSD-2-Clause"
252 | ],
253 | "authors": [
254 | {
255 | "name": "Jakub Onderka",
256 | "email": "jakub.onderka@gmail.com",
257 | "homepage": "http://www.acci.cz"
258 | }
259 | ],
260 | "time": "2014-04-08 15:00:19"
261 | },
262 | {
263 | "name": "jakub-onderka/php-console-highlighter",
264 | "version": "v0.3.2",
265 | "source": {
266 | "type": "git",
267 | "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git",
268 | "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5"
269 | },
270 | "dist": {
271 | "type": "zip",
272 | "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5",
273 | "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5",
274 | "shasum": ""
275 | },
276 | "require": {
277 | "jakub-onderka/php-console-color": "~0.1",
278 | "php": ">=5.3.0"
279 | },
280 | "require-dev": {
281 | "jakub-onderka/php-code-style": "~1.0",
282 | "jakub-onderka/php-parallel-lint": "~0.5",
283 | "jakub-onderka/php-var-dump-check": "~0.1",
284 | "phpunit/phpunit": "~4.0",
285 | "squizlabs/php_codesniffer": "~1.5"
286 | },
287 | "type": "library",
288 | "autoload": {
289 | "psr-0": {
290 | "JakubOnderka\\PhpConsoleHighlighter": "src/"
291 | }
292 | },
293 | "notification-url": "https://packagist.org/downloads/",
294 | "license": [
295 | "MIT"
296 | ],
297 | "authors": [
298 | {
299 | "name": "Jakub Onderka",
300 | "email": "acci@acci.cz",
301 | "homepage": "http://www.acci.cz/"
302 | }
303 | ],
304 | "time": "2015-04-20 18:58:01"
305 | },
306 | {
307 | "name": "jeremeamia/SuperClosure",
308 | "version": "2.1.0",
309 | "source": {
310 | "type": "git",
311 | "url": "https://github.com/jeremeamia/super_closure.git",
312 | "reference": "b712f39c671e5ead60c7ebfe662545456aade833"
313 | },
314 | "dist": {
315 | "type": "zip",
316 | "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/b712f39c671e5ead60c7ebfe662545456aade833",
317 | "reference": "b712f39c671e5ead60c7ebfe662545456aade833",
318 | "shasum": ""
319 | },
320 | "require": {
321 | "nikic/php-parser": "~1.0",
322 | "php": ">=5.4"
323 | },
324 | "require-dev": {
325 | "codeclimate/php-test-reporter": "~0.1.2",
326 | "phpunit/phpunit": "~4.0"
327 | },
328 | "type": "library",
329 | "extra": {
330 | "branch-alias": {
331 | "dev-master": "2.1-dev"
332 | }
333 | },
334 | "autoload": {
335 | "psr-4": {
336 | "SuperClosure\\": "src/"
337 | }
338 | },
339 | "notification-url": "https://packagist.org/downloads/",
340 | "license": [
341 | "MIT"
342 | ],
343 | "authors": [
344 | {
345 | "name": "Jeremy Lindblom",
346 | "email": "jeremeamia@gmail.com",
347 | "homepage": "https://github.com/jeremeamia",
348 | "role": "Developer"
349 | }
350 | ],
351 | "description": "Serialize Closure objects, including their context and binding",
352 | "homepage": "https://github.com/jeremeamia/super_closure",
353 | "keywords": [
354 | "closure",
355 | "function",
356 | "lambda",
357 | "parser",
358 | "serializable",
359 | "serialize",
360 | "tokenizer"
361 | ],
362 | "time": "2015-03-11 20:06:43"
363 | },
364 | {
365 | "name": "laravel/framework",
366 | "version": "v5.1.16",
367 | "source": {
368 | "type": "git",
369 | "url": "https://github.com/laravel/framework.git",
370 | "reference": "e34dcc0c57e0f560248aec5128161256ff8bf4e1"
371 | },
372 | "dist": {
373 | "type": "zip",
374 | "url": "https://api.github.com/repos/laravel/framework/zipball/e34dcc0c57e0f560248aec5128161256ff8bf4e1",
375 | "reference": "e34dcc0c57e0f560248aec5128161256ff8bf4e1",
376 | "shasum": ""
377 | },
378 | "require": {
379 | "classpreloader/classpreloader": "~2.0",
380 | "danielstjules/stringy": "~1.8",
381 | "doctrine/inflector": "~1.0",
382 | "ext-mbstring": "*",
383 | "ext-openssl": "*",
384 | "jeremeamia/superclosure": "~2.0",
385 | "league/flysystem": "~1.0",
386 | "monolog/monolog": "~1.11",
387 | "mtdowling/cron-expression": "~1.0",
388 | "nesbot/carbon": "~1.19",
389 | "php": ">=5.5.9",
390 | "psy/psysh": "~0.5.1",
391 | "swiftmailer/swiftmailer": "~5.1",
392 | "symfony/console": "2.7.*",
393 | "symfony/css-selector": "2.7.*",
394 | "symfony/debug": "2.7.*",
395 | "symfony/dom-crawler": "2.7.*",
396 | "symfony/finder": "2.7.*",
397 | "symfony/http-foundation": "2.7.*",
398 | "symfony/http-kernel": "2.7.*",
399 | "symfony/process": "2.7.*",
400 | "symfony/routing": "2.7.*",
401 | "symfony/translation": "2.7.*",
402 | "symfony/var-dumper": "2.7.*",
403 | "vlucas/phpdotenv": "~1.0"
404 | },
405 | "replace": {
406 | "illuminate/auth": "self.version",
407 | "illuminate/broadcasting": "self.version",
408 | "illuminate/bus": "self.version",
409 | "illuminate/cache": "self.version",
410 | "illuminate/config": "self.version",
411 | "illuminate/console": "self.version",
412 | "illuminate/container": "self.version",
413 | "illuminate/contracts": "self.version",
414 | "illuminate/cookie": "self.version",
415 | "illuminate/database": "self.version",
416 | "illuminate/encryption": "self.version",
417 | "illuminate/events": "self.version",
418 | "illuminate/exception": "self.version",
419 | "illuminate/filesystem": "self.version",
420 | "illuminate/foundation": "self.version",
421 | "illuminate/hashing": "self.version",
422 | "illuminate/http": "self.version",
423 | "illuminate/log": "self.version",
424 | "illuminate/mail": "self.version",
425 | "illuminate/pagination": "self.version",
426 | "illuminate/pipeline": "self.version",
427 | "illuminate/queue": "self.version",
428 | "illuminate/redis": "self.version",
429 | "illuminate/routing": "self.version",
430 | "illuminate/session": "self.version",
431 | "illuminate/support": "self.version",
432 | "illuminate/translation": "self.version",
433 | "illuminate/validation": "self.version",
434 | "illuminate/view": "self.version"
435 | },
436 | "require-dev": {
437 | "aws/aws-sdk-php": "~3.0",
438 | "iron-io/iron_mq": "~2.0",
439 | "mockery/mockery": "~0.9.1",
440 | "pda/pheanstalk": "~3.0",
441 | "phpunit/phpunit": "~4.0",
442 | "predis/predis": "~1.0"
443 | },
444 | "suggest": {
445 | "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).",
446 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).",
447 | "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).",
448 | "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers (~5.3|~6.0).",
449 | "iron-io/iron_mq": "Required to use the iron queue driver (~2.0).",
450 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).",
451 | "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).",
452 | "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).",
453 | "predis/predis": "Required to use the redis cache and queue drivers (~1.0).",
454 | "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0)."
455 | },
456 | "type": "library",
457 | "extra": {
458 | "branch-alias": {
459 | "dev-master": "5.1-dev"
460 | }
461 | },
462 | "autoload": {
463 | "classmap": [
464 | "src/Illuminate/Queue/IlluminateQueueClosure.php"
465 | ],
466 | "files": [
467 | "src/Illuminate/Foundation/helpers.php",
468 | "src/Illuminate/Support/helpers.php"
469 | ],
470 | "psr-4": {
471 | "Illuminate\\": "src/Illuminate/"
472 | }
473 | },
474 | "notification-url": "https://packagist.org/downloads/",
475 | "license": [
476 | "MIT"
477 | ],
478 | "authors": [
479 | {
480 | "name": "Taylor Otwell",
481 | "email": "taylorotwell@gmail.com"
482 | }
483 | ],
484 | "description": "The Laravel Framework.",
485 | "homepage": "http://laravel.com",
486 | "keywords": [
487 | "framework",
488 | "laravel"
489 | ],
490 | "time": "2015-09-04 12:46:14"
491 | },
492 | {
493 | "name": "league/flysystem",
494 | "version": "1.0.12",
495 | "source": {
496 | "type": "git",
497 | "url": "https://github.com/thephpleague/flysystem.git",
498 | "reference": "7323424a9d39c24e597ed3f2144419dfbb52e086"
499 | },
500 | "dist": {
501 | "type": "zip",
502 | "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/7323424a9d39c24e597ed3f2144419dfbb52e086",
503 | "reference": "7323424a9d39c24e597ed3f2144419dfbb52e086",
504 | "shasum": ""
505 | },
506 | "require": {
507 | "php": ">=5.4.0"
508 | },
509 | "require-dev": {
510 | "ext-fileinfo": "*",
511 | "mockery/mockery": "~0.9",
512 | "phpspec/phpspec": "^2.2",
513 | "phpspec/prophecy-phpunit": "~1.0",
514 | "phpunit/phpunit": "~4.1"
515 | },
516 | "suggest": {
517 | "ext-fileinfo": "Required for MimeType",
518 | "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
519 | "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
520 | "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
521 | "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
522 | "league/flysystem-copy": "Allows you to use Copy.com storage",
523 | "league/flysystem-dropbox": "Allows you to use Dropbox storage",
524 | "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
525 | "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
526 | "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
527 | "league/flysystem-webdav": "Allows you to use WebDAV storage",
528 | "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter"
529 | },
530 | "type": "library",
531 | "extra": {
532 | "branch-alias": {
533 | "dev-master": "1.1-dev"
534 | }
535 | },
536 | "autoload": {
537 | "psr-4": {
538 | "League\\Flysystem\\": "src/"
539 | }
540 | },
541 | "notification-url": "https://packagist.org/downloads/",
542 | "license": [
543 | "MIT"
544 | ],
545 | "authors": [
546 | {
547 | "name": "Frank de Jonge",
548 | "email": "info@frenky.net"
549 | }
550 | ],
551 | "description": "Filesystem abstraction: Many filesystems, one API.",
552 | "keywords": [
553 | "Cloud Files",
554 | "WebDAV",
555 | "abstraction",
556 | "aws",
557 | "cloud",
558 | "copy.com",
559 | "dropbox",
560 | "file systems",
561 | "files",
562 | "filesystem",
563 | "filesystems",
564 | "ftp",
565 | "rackspace",
566 | "remote",
567 | "s3",
568 | "sftp",
569 | "storage"
570 | ],
571 | "time": "2015-09-05 12:06:41"
572 | },
573 | {
574 | "name": "monolog/monolog",
575 | "version": "1.17.1",
576 | "source": {
577 | "type": "git",
578 | "url": "https://github.com/Seldaek/monolog.git",
579 | "reference": "0524c87587ab85bc4c2d6f5b41253ccb930a5422"
580 | },
581 | "dist": {
582 | "type": "zip",
583 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/0524c87587ab85bc4c2d6f5b41253ccb930a5422",
584 | "reference": "0524c87587ab85bc4c2d6f5b41253ccb930a5422",
585 | "shasum": ""
586 | },
587 | "require": {
588 | "php": ">=5.3.0",
589 | "psr/log": "~1.0"
590 | },
591 | "provide": {
592 | "psr/log-implementation": "1.0.0"
593 | },
594 | "require-dev": {
595 | "aws/aws-sdk-php": "^2.4.9",
596 | "doctrine/couchdb": "~1.0@dev",
597 | "graylog2/gelf-php": "~1.0",
598 | "php-console/php-console": "^3.1.3",
599 | "phpunit/phpunit": "~4.5",
600 | "phpunit/phpunit-mock-objects": "2.3.0",
601 | "raven/raven": "~0.11",
602 | "ruflin/elastica": ">=0.90 <3.0",
603 | "swiftmailer/swiftmailer": "~5.3",
604 | "videlalvaro/php-amqplib": "~2.4"
605 | },
606 | "suggest": {
607 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
608 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
609 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
610 | "ext-mongo": "Allow sending log messages to a MongoDB server",
611 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
612 | "php-console/php-console": "Allow sending log messages to Google Chrome",
613 | "raven/raven": "Allow sending log messages to a Sentry server",
614 | "rollbar/rollbar": "Allow sending log messages to Rollbar",
615 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
616 | "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib"
617 | },
618 | "type": "library",
619 | "extra": {
620 | "branch-alias": {
621 | "dev-master": "1.16.x-dev"
622 | }
623 | },
624 | "autoload": {
625 | "psr-4": {
626 | "Monolog\\": "src/Monolog"
627 | }
628 | },
629 | "notification-url": "https://packagist.org/downloads/",
630 | "license": [
631 | "MIT"
632 | ],
633 | "authors": [
634 | {
635 | "name": "Jordi Boggiano",
636 | "email": "j.boggiano@seld.be",
637 | "homepage": "http://seld.be"
638 | }
639 | ],
640 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
641 | "homepage": "http://github.com/Seldaek/monolog",
642 | "keywords": [
643 | "log",
644 | "logging",
645 | "psr-3"
646 | ],
647 | "time": "2015-08-31 09:17:37"
648 | },
649 | {
650 | "name": "mtdowling/cron-expression",
651 | "version": "v1.0.4",
652 | "source": {
653 | "type": "git",
654 | "url": "https://github.com/mtdowling/cron-expression.git",
655 | "reference": "fd92e883195e5dfa77720b1868cf084b08be4412"
656 | },
657 | "dist": {
658 | "type": "zip",
659 | "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/fd92e883195e5dfa77720b1868cf084b08be4412",
660 | "reference": "fd92e883195e5dfa77720b1868cf084b08be4412",
661 | "shasum": ""
662 | },
663 | "require": {
664 | "php": ">=5.3.2"
665 | },
666 | "require-dev": {
667 | "phpunit/phpunit": "4.*"
668 | },
669 | "type": "library",
670 | "autoload": {
671 | "psr-0": {
672 | "Cron": "src/"
673 | }
674 | },
675 | "notification-url": "https://packagist.org/downloads/",
676 | "license": [
677 | "MIT"
678 | ],
679 | "authors": [
680 | {
681 | "name": "Michael Dowling",
682 | "email": "mtdowling@gmail.com",
683 | "homepage": "https://github.com/mtdowling"
684 | }
685 | ],
686 | "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
687 | "keywords": [
688 | "cron",
689 | "schedule"
690 | ],
691 | "time": "2015-01-11 23:07:46"
692 | },
693 | {
694 | "name": "nesbot/carbon",
695 | "version": "1.20.0",
696 | "source": {
697 | "type": "git",
698 | "url": "https://github.com/briannesbitt/Carbon.git",
699 | "reference": "bfd3eaba109c9a2405c92174c8e17f20c2b9caf3"
700 | },
701 | "dist": {
702 | "type": "zip",
703 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bfd3eaba109c9a2405c92174c8e17f20c2b9caf3",
704 | "reference": "bfd3eaba109c9a2405c92174c8e17f20c2b9caf3",
705 | "shasum": ""
706 | },
707 | "require": {
708 | "php": ">=5.3.0",
709 | "symfony/translation": "~2.6|~3.0"
710 | },
711 | "require-dev": {
712 | "phpunit/phpunit": "~4.0"
713 | },
714 | "type": "library",
715 | "autoload": {
716 | "psr-0": {
717 | "Carbon": "src"
718 | }
719 | },
720 | "notification-url": "https://packagist.org/downloads/",
721 | "license": [
722 | "MIT"
723 | ],
724 | "authors": [
725 | {
726 | "name": "Brian Nesbitt",
727 | "email": "brian@nesbot.com",
728 | "homepage": "http://nesbot.com"
729 | }
730 | ],
731 | "description": "A simple API extension for DateTime.",
732 | "homepage": "http://carbon.nesbot.com",
733 | "keywords": [
734 | "date",
735 | "datetime",
736 | "time"
737 | ],
738 | "time": "2015-06-25 04:19:39"
739 | },
740 | {
741 | "name": "nikic/php-parser",
742 | "version": "v1.4.0",
743 | "source": {
744 | "type": "git",
745 | "url": "https://github.com/nikic/PHP-Parser.git",
746 | "reference": "196f177cfefa0f1f7166c0a05d8255889be12418"
747 | },
748 | "dist": {
749 | "type": "zip",
750 | "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/196f177cfefa0f1f7166c0a05d8255889be12418",
751 | "reference": "196f177cfefa0f1f7166c0a05d8255889be12418",
752 | "shasum": ""
753 | },
754 | "require": {
755 | "ext-tokenizer": "*",
756 | "php": ">=5.3"
757 | },
758 | "type": "library",
759 | "extra": {
760 | "branch-alias": {
761 | "dev-master": "1.4-dev"
762 | }
763 | },
764 | "autoload": {
765 | "files": [
766 | "lib/bootstrap.php"
767 | ]
768 | },
769 | "notification-url": "https://packagist.org/downloads/",
770 | "license": [
771 | "BSD-3-Clause"
772 | ],
773 | "authors": [
774 | {
775 | "name": "Nikita Popov"
776 | }
777 | ],
778 | "description": "A PHP parser written in PHP",
779 | "keywords": [
780 | "parser",
781 | "php"
782 | ],
783 | "time": "2015-07-14 17:31:05"
784 | },
785 | {
786 | "name": "psr/log",
787 | "version": "1.0.0",
788 | "source": {
789 | "type": "git",
790 | "url": "https://github.com/php-fig/log.git",
791 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
792 | },
793 | "dist": {
794 | "type": "zip",
795 | "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
796 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
797 | "shasum": ""
798 | },
799 | "type": "library",
800 | "autoload": {
801 | "psr-0": {
802 | "Psr\\Log\\": ""
803 | }
804 | },
805 | "notification-url": "https://packagist.org/downloads/",
806 | "license": [
807 | "MIT"
808 | ],
809 | "authors": [
810 | {
811 | "name": "PHP-FIG",
812 | "homepage": "http://www.php-fig.org/"
813 | }
814 | ],
815 | "description": "Common interface for logging libraries",
816 | "keywords": [
817 | "log",
818 | "psr",
819 | "psr-3"
820 | ],
821 | "time": "2012-12-21 11:40:51"
822 | },
823 | {
824 | "name": "psy/psysh",
825 | "version": "v0.5.2",
826 | "source": {
827 | "type": "git",
828 | "url": "https://github.com/bobthecow/psysh.git",
829 | "reference": "aaf8772ade08b5f0f6830774a5d5c2f800415975"
830 | },
831 | "dist": {
832 | "type": "zip",
833 | "url": "https://api.github.com/repos/bobthecow/psysh/zipball/aaf8772ade08b5f0f6830774a5d5c2f800415975",
834 | "reference": "aaf8772ade08b5f0f6830774a5d5c2f800415975",
835 | "shasum": ""
836 | },
837 | "require": {
838 | "dnoegel/php-xdg-base-dir": "0.1",
839 | "jakub-onderka/php-console-highlighter": "0.3.*",
840 | "nikic/php-parser": "^1.2.1",
841 | "php": ">=5.3.9",
842 | "symfony/console": "~2.3.10|^2.4.2|~3.0",
843 | "symfony/var-dumper": "~2.7|~3.0"
844 | },
845 | "require-dev": {
846 | "fabpot/php-cs-fixer": "~1.5",
847 | "phpunit/phpunit": "~3.7|~4.0",
848 | "squizlabs/php_codesniffer": "~2.0",
849 | "symfony/finder": "~2.1|~3.0"
850 | },
851 | "suggest": {
852 | "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
853 | "ext-pdo-sqlite": "The doc command requires SQLite to work.",
854 | "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.",
855 | "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history."
856 | },
857 | "bin": [
858 | "bin/psysh"
859 | ],
860 | "type": "library",
861 | "extra": {
862 | "branch-alias": {
863 | "dev-develop": "0.6.x-dev"
864 | }
865 | },
866 | "autoload": {
867 | "files": [
868 | "src/Psy/functions.php"
869 | ],
870 | "psr-0": {
871 | "Psy\\": "src/"
872 | }
873 | },
874 | "notification-url": "https://packagist.org/downloads/",
875 | "license": [
876 | "MIT"
877 | ],
878 | "authors": [
879 | {
880 | "name": "Justin Hileman",
881 | "email": "justin@justinhileman.info",
882 | "homepage": "http://justinhileman.com"
883 | }
884 | ],
885 | "description": "An interactive shell for modern PHP.",
886 | "homepage": "http://psysh.org",
887 | "keywords": [
888 | "REPL",
889 | "console",
890 | "interactive",
891 | "shell"
892 | ],
893 | "time": "2015-07-16 15:26:57"
894 | },
895 | {
896 | "name": "swiftmailer/swiftmailer",
897 | "version": "v5.4.1",
898 | "source": {
899 | "type": "git",
900 | "url": "https://github.com/swiftmailer/swiftmailer.git",
901 | "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421"
902 | },
903 | "dist": {
904 | "type": "zip",
905 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/0697e6aa65c83edf97bb0f23d8763f94e3f11421",
906 | "reference": "0697e6aa65c83edf97bb0f23d8763f94e3f11421",
907 | "shasum": ""
908 | },
909 | "require": {
910 | "php": ">=5.3.3"
911 | },
912 | "require-dev": {
913 | "mockery/mockery": "~0.9.1,<0.9.4"
914 | },
915 | "type": "library",
916 | "extra": {
917 | "branch-alias": {
918 | "dev-master": "5.4-dev"
919 | }
920 | },
921 | "autoload": {
922 | "files": [
923 | "lib/swift_required.php"
924 | ]
925 | },
926 | "notification-url": "https://packagist.org/downloads/",
927 | "license": [
928 | "MIT"
929 | ],
930 | "authors": [
931 | {
932 | "name": "Chris Corbyn"
933 | },
934 | {
935 | "name": "Fabien Potencier",
936 | "email": "fabien@symfony.com"
937 | }
938 | ],
939 | "description": "Swiftmailer, free feature-rich PHP mailer",
940 | "homepage": "http://swiftmailer.org",
941 | "keywords": [
942 | "email",
943 | "mail",
944 | "mailer"
945 | ],
946 | "time": "2015-06-06 14:19:39"
947 | },
948 | {
949 | "name": "symfony/console",
950 | "version": "v2.7.4",
951 | "source": {
952 | "type": "git",
953 | "url": "https://github.com/symfony/Console.git",
954 | "reference": "9ff9032151186bd66ecee727d728f1319f52d1d8"
955 | },
956 | "dist": {
957 | "type": "zip",
958 | "url": "https://api.github.com/repos/symfony/Console/zipball/9ff9032151186bd66ecee727d728f1319f52d1d8",
959 | "reference": "9ff9032151186bd66ecee727d728f1319f52d1d8",
960 | "shasum": ""
961 | },
962 | "require": {
963 | "php": ">=5.3.9"
964 | },
965 | "require-dev": {
966 | "psr/log": "~1.0",
967 | "symfony/event-dispatcher": "~2.1",
968 | "symfony/phpunit-bridge": "~2.7",
969 | "symfony/process": "~2.1"
970 | },
971 | "suggest": {
972 | "psr/log": "For using the console logger",
973 | "symfony/event-dispatcher": "",
974 | "symfony/process": ""
975 | },
976 | "type": "library",
977 | "extra": {
978 | "branch-alias": {
979 | "dev-master": "2.7-dev"
980 | }
981 | },
982 | "autoload": {
983 | "psr-4": {
984 | "Symfony\\Component\\Console\\": ""
985 | }
986 | },
987 | "notification-url": "https://packagist.org/downloads/",
988 | "license": [
989 | "MIT"
990 | ],
991 | "authors": [
992 | {
993 | "name": "Fabien Potencier",
994 | "email": "fabien@symfony.com"
995 | },
996 | {
997 | "name": "Symfony Community",
998 | "homepage": "https://symfony.com/contributors"
999 | }
1000 | ],
1001 | "description": "Symfony Console Component",
1002 | "homepage": "https://symfony.com",
1003 | "time": "2015-09-03 11:40:38"
1004 | },
1005 | {
1006 | "name": "symfony/css-selector",
1007 | "version": "v2.7.4",
1008 | "source": {
1009 | "type": "git",
1010 | "url": "https://github.com/symfony/CssSelector.git",
1011 | "reference": "ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad"
1012 | },
1013 | "dist": {
1014 | "type": "zip",
1015 | "url": "https://api.github.com/repos/symfony/CssSelector/zipball/ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad",
1016 | "reference": "ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad",
1017 | "shasum": ""
1018 | },
1019 | "require": {
1020 | "php": ">=5.3.9"
1021 | },
1022 | "require-dev": {
1023 | "symfony/phpunit-bridge": "~2.7"
1024 | },
1025 | "type": "library",
1026 | "extra": {
1027 | "branch-alias": {
1028 | "dev-master": "2.7-dev"
1029 | }
1030 | },
1031 | "autoload": {
1032 | "psr-4": {
1033 | "Symfony\\Component\\CssSelector\\": ""
1034 | }
1035 | },
1036 | "notification-url": "https://packagist.org/downloads/",
1037 | "license": [
1038 | "MIT"
1039 | ],
1040 | "authors": [
1041 | {
1042 | "name": "Jean-François Simon",
1043 | "email": "jeanfrancois.simon@sensiolabs.com"
1044 | },
1045 | {
1046 | "name": "Fabien Potencier",
1047 | "email": "fabien@symfony.com"
1048 | },
1049 | {
1050 | "name": "Symfony Community",
1051 | "homepage": "https://symfony.com/contributors"
1052 | }
1053 | ],
1054 | "description": "Symfony CssSelector Component",
1055 | "homepage": "https://symfony.com",
1056 | "time": "2015-08-24 07:13:45"
1057 | },
1058 | {
1059 | "name": "symfony/debug",
1060 | "version": "v2.7.4",
1061 | "source": {
1062 | "type": "git",
1063 | "url": "https://github.com/symfony/Debug.git",
1064 | "reference": "726bf9651d29f53243281d0b6418cfaa5e318281"
1065 | },
1066 | "dist": {
1067 | "type": "zip",
1068 | "url": "https://api.github.com/repos/symfony/Debug/zipball/726bf9651d29f53243281d0b6418cfaa5e318281",
1069 | "reference": "726bf9651d29f53243281d0b6418cfaa5e318281",
1070 | "shasum": ""
1071 | },
1072 | "require": {
1073 | "php": ">=5.3.9",
1074 | "psr/log": "~1.0"
1075 | },
1076 | "conflict": {
1077 | "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
1078 | },
1079 | "require-dev": {
1080 | "symfony/class-loader": "~2.2",
1081 | "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2",
1082 | "symfony/phpunit-bridge": "~2.7"
1083 | },
1084 | "type": "library",
1085 | "extra": {
1086 | "branch-alias": {
1087 | "dev-master": "2.7-dev"
1088 | }
1089 | },
1090 | "autoload": {
1091 | "psr-4": {
1092 | "Symfony\\Component\\Debug\\": ""
1093 | }
1094 | },
1095 | "notification-url": "https://packagist.org/downloads/",
1096 | "license": [
1097 | "MIT"
1098 | ],
1099 | "authors": [
1100 | {
1101 | "name": "Fabien Potencier",
1102 | "email": "fabien@symfony.com"
1103 | },
1104 | {
1105 | "name": "Symfony Community",
1106 | "homepage": "https://symfony.com/contributors"
1107 | }
1108 | ],
1109 | "description": "Symfony Debug Component",
1110 | "homepage": "https://symfony.com",
1111 | "time": "2015-08-29 11:12:16"
1112 | },
1113 | {
1114 | "name": "symfony/dom-crawler",
1115 | "version": "v2.7.4",
1116 | "source": {
1117 | "type": "git",
1118 | "url": "https://github.com/symfony/DomCrawler.git",
1119 | "reference": "2a161e4ee2b2f33d4153be58df4f6f2a5506936e"
1120 | },
1121 | "dist": {
1122 | "type": "zip",
1123 | "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/2a161e4ee2b2f33d4153be58df4f6f2a5506936e",
1124 | "reference": "2a161e4ee2b2f33d4153be58df4f6f2a5506936e",
1125 | "shasum": ""
1126 | },
1127 | "require": {
1128 | "php": ">=5.3.9"
1129 | },
1130 | "require-dev": {
1131 | "symfony/css-selector": "~2.3",
1132 | "symfony/phpunit-bridge": "~2.7"
1133 | },
1134 | "suggest": {
1135 | "symfony/css-selector": ""
1136 | },
1137 | "type": "library",
1138 | "extra": {
1139 | "branch-alias": {
1140 | "dev-master": "2.7-dev"
1141 | }
1142 | },
1143 | "autoload": {
1144 | "psr-4": {
1145 | "Symfony\\Component\\DomCrawler\\": ""
1146 | }
1147 | },
1148 | "notification-url": "https://packagist.org/downloads/",
1149 | "license": [
1150 | "MIT"
1151 | ],
1152 | "authors": [
1153 | {
1154 | "name": "Fabien Potencier",
1155 | "email": "fabien@symfony.com"
1156 | },
1157 | {
1158 | "name": "Symfony Community",
1159 | "homepage": "https://symfony.com/contributors"
1160 | }
1161 | ],
1162 | "description": "Symfony DomCrawler Component",
1163 | "homepage": "https://symfony.com",
1164 | "time": "2015-08-26 10:48:03"
1165 | },
1166 | {
1167 | "name": "symfony/event-dispatcher",
1168 | "version": "v2.7.4",
1169 | "source": {
1170 | "type": "git",
1171 | "url": "https://github.com/symfony/EventDispatcher.git",
1172 | "reference": "b58c916f1db03a611b72dd702564f30ad8fe83fa"
1173 | },
1174 | "dist": {
1175 | "type": "zip",
1176 | "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/b58c916f1db03a611b72dd702564f30ad8fe83fa",
1177 | "reference": "b58c916f1db03a611b72dd702564f30ad8fe83fa",
1178 | "shasum": ""
1179 | },
1180 | "require": {
1181 | "php": ">=5.3.9"
1182 | },
1183 | "require-dev": {
1184 | "psr/log": "~1.0",
1185 | "symfony/config": "~2.0,>=2.0.5",
1186 | "symfony/dependency-injection": "~2.6",
1187 | "symfony/expression-language": "~2.6",
1188 | "symfony/phpunit-bridge": "~2.7",
1189 | "symfony/stopwatch": "~2.3"
1190 | },
1191 | "suggest": {
1192 | "symfony/dependency-injection": "",
1193 | "symfony/http-kernel": ""
1194 | },
1195 | "type": "library",
1196 | "extra": {
1197 | "branch-alias": {
1198 | "dev-master": "2.7-dev"
1199 | }
1200 | },
1201 | "autoload": {
1202 | "psr-4": {
1203 | "Symfony\\Component\\EventDispatcher\\": ""
1204 | }
1205 | },
1206 | "notification-url": "https://packagist.org/downloads/",
1207 | "license": [
1208 | "MIT"
1209 | ],
1210 | "authors": [
1211 | {
1212 | "name": "Fabien Potencier",
1213 | "email": "fabien@symfony.com"
1214 | },
1215 | {
1216 | "name": "Symfony Community",
1217 | "homepage": "https://symfony.com/contributors"
1218 | }
1219 | ],
1220 | "description": "Symfony EventDispatcher Component",
1221 | "homepage": "https://symfony.com",
1222 | "time": "2015-08-24 07:13:45"
1223 | },
1224 | {
1225 | "name": "symfony/finder",
1226 | "version": "v2.7.4",
1227 | "source": {
1228 | "type": "git",
1229 | "url": "https://github.com/symfony/Finder.git",
1230 | "reference": "fff4b0c362640a0ab7355e2647b3d461608e9065"
1231 | },
1232 | "dist": {
1233 | "type": "zip",
1234 | "url": "https://api.github.com/repos/symfony/Finder/zipball/fff4b0c362640a0ab7355e2647b3d461608e9065",
1235 | "reference": "fff4b0c362640a0ab7355e2647b3d461608e9065",
1236 | "shasum": ""
1237 | },
1238 | "require": {
1239 | "php": ">=5.3.9"
1240 | },
1241 | "require-dev": {
1242 | "symfony/phpunit-bridge": "~2.7"
1243 | },
1244 | "type": "library",
1245 | "extra": {
1246 | "branch-alias": {
1247 | "dev-master": "2.7-dev"
1248 | }
1249 | },
1250 | "autoload": {
1251 | "psr-4": {
1252 | "Symfony\\Component\\Finder\\": ""
1253 | }
1254 | },
1255 | "notification-url": "https://packagist.org/downloads/",
1256 | "license": [
1257 | "MIT"
1258 | ],
1259 | "authors": [
1260 | {
1261 | "name": "Fabien Potencier",
1262 | "email": "fabien@symfony.com"
1263 | },
1264 | {
1265 | "name": "Symfony Community",
1266 | "homepage": "https://symfony.com/contributors"
1267 | }
1268 | ],
1269 | "description": "Symfony Finder Component",
1270 | "homepage": "https://symfony.com",
1271 | "time": "2015-08-26 17:56:37"
1272 | },
1273 | {
1274 | "name": "symfony/http-foundation",
1275 | "version": "v2.7.4",
1276 | "source": {
1277 | "type": "git",
1278 | "url": "https://github.com/symfony/HttpFoundation.git",
1279 | "reference": "7253c2041652353e71560bbd300d6256d170ddaf"
1280 | },
1281 | "dist": {
1282 | "type": "zip",
1283 | "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/7253c2041652353e71560bbd300d6256d170ddaf",
1284 | "reference": "7253c2041652353e71560bbd300d6256d170ddaf",
1285 | "shasum": ""
1286 | },
1287 | "require": {
1288 | "php": ">=5.3.9"
1289 | },
1290 | "require-dev": {
1291 | "symfony/expression-language": "~2.4",
1292 | "symfony/phpunit-bridge": "~2.7"
1293 | },
1294 | "type": "library",
1295 | "extra": {
1296 | "branch-alias": {
1297 | "dev-master": "2.7-dev"
1298 | }
1299 | },
1300 | "autoload": {
1301 | "psr-4": {
1302 | "Symfony\\Component\\HttpFoundation\\": ""
1303 | },
1304 | "classmap": [
1305 | "Resources/stubs"
1306 | ]
1307 | },
1308 | "notification-url": "https://packagist.org/downloads/",
1309 | "license": [
1310 | "MIT"
1311 | ],
1312 | "authors": [
1313 | {
1314 | "name": "Fabien Potencier",
1315 | "email": "fabien@symfony.com"
1316 | },
1317 | {
1318 | "name": "Symfony Community",
1319 | "homepage": "https://symfony.com/contributors"
1320 | }
1321 | ],
1322 | "description": "Symfony HttpFoundation Component",
1323 | "homepage": "https://symfony.com",
1324 | "time": "2015-08-27 06:45:45"
1325 | },
1326 | {
1327 | "name": "symfony/http-kernel",
1328 | "version": "v2.7.4",
1329 | "source": {
1330 | "type": "git",
1331 | "url": "https://github.com/symfony/HttpKernel.git",
1332 | "reference": "fd9c7af92c9e3ade1327cc3af10b17731eebc4a7"
1333 | },
1334 | "dist": {
1335 | "type": "zip",
1336 | "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/fd9c7af92c9e3ade1327cc3af10b17731eebc4a7",
1337 | "reference": "fd9c7af92c9e3ade1327cc3af10b17731eebc4a7",
1338 | "shasum": ""
1339 | },
1340 | "require": {
1341 | "php": ">=5.3.9",
1342 | "psr/log": "~1.0",
1343 | "symfony/debug": "~2.6,>=2.6.2",
1344 | "symfony/event-dispatcher": "~2.6,>=2.6.7",
1345 | "symfony/http-foundation": "~2.5,>=2.5.4"
1346 | },
1347 | "conflict": {
1348 | "symfony/config": "<2.7"
1349 | },
1350 | "require-dev": {
1351 | "symfony/browser-kit": "~2.3",
1352 | "symfony/class-loader": "~2.1",
1353 | "symfony/config": "~2.7",
1354 | "symfony/console": "~2.3",
1355 | "symfony/css-selector": "~2.0,>=2.0.5",
1356 | "symfony/dependency-injection": "~2.2",
1357 | "symfony/dom-crawler": "~2.0,>=2.0.5",
1358 | "symfony/expression-language": "~2.4",
1359 | "symfony/finder": "~2.0,>=2.0.5",
1360 | "symfony/phpunit-bridge": "~2.7",
1361 | "symfony/process": "~2.0,>=2.0.5",
1362 | "symfony/routing": "~2.2",
1363 | "symfony/stopwatch": "~2.3",
1364 | "symfony/templating": "~2.2",
1365 | "symfony/translation": "~2.0,>=2.0.5",
1366 | "symfony/var-dumper": "~2.6"
1367 | },
1368 | "suggest": {
1369 | "symfony/browser-kit": "",
1370 | "symfony/class-loader": "",
1371 | "symfony/config": "",
1372 | "symfony/console": "",
1373 | "symfony/dependency-injection": "",
1374 | "symfony/finder": "",
1375 | "symfony/var-dumper": ""
1376 | },
1377 | "type": "library",
1378 | "extra": {
1379 | "branch-alias": {
1380 | "dev-master": "2.7-dev"
1381 | }
1382 | },
1383 | "autoload": {
1384 | "psr-4": {
1385 | "Symfony\\Component\\HttpKernel\\": ""
1386 | }
1387 | },
1388 | "notification-url": "https://packagist.org/downloads/",
1389 | "license": [
1390 | "MIT"
1391 | ],
1392 | "authors": [
1393 | {
1394 | "name": "Fabien Potencier",
1395 | "email": "fabien@symfony.com"
1396 | },
1397 | {
1398 | "name": "Symfony Community",
1399 | "homepage": "https://symfony.com/contributors"
1400 | }
1401 | ],
1402 | "description": "Symfony HttpKernel Component",
1403 | "homepage": "https://symfony.com",
1404 | "time": "2015-09-08 14:26:39"
1405 | },
1406 | {
1407 | "name": "symfony/process",
1408 | "version": "v2.7.4",
1409 | "source": {
1410 | "type": "git",
1411 | "url": "https://github.com/symfony/Process.git",
1412 | "reference": "f7b3f73f70a7f8f49a1c838dc3debbf054732d8e"
1413 | },
1414 | "dist": {
1415 | "type": "zip",
1416 | "url": "https://api.github.com/repos/symfony/Process/zipball/f7b3f73f70a7f8f49a1c838dc3debbf054732d8e",
1417 | "reference": "f7b3f73f70a7f8f49a1c838dc3debbf054732d8e",
1418 | "shasum": ""
1419 | },
1420 | "require": {
1421 | "php": ">=5.3.9"
1422 | },
1423 | "require-dev": {
1424 | "symfony/phpunit-bridge": "~2.7"
1425 | },
1426 | "type": "library",
1427 | "extra": {
1428 | "branch-alias": {
1429 | "dev-master": "2.7-dev"
1430 | }
1431 | },
1432 | "autoload": {
1433 | "psr-4": {
1434 | "Symfony\\Component\\Process\\": ""
1435 | }
1436 | },
1437 | "notification-url": "https://packagist.org/downloads/",
1438 | "license": [
1439 | "MIT"
1440 | ],
1441 | "authors": [
1442 | {
1443 | "name": "Fabien Potencier",
1444 | "email": "fabien@symfony.com"
1445 | },
1446 | {
1447 | "name": "Symfony Community",
1448 | "homepage": "https://symfony.com/contributors"
1449 | }
1450 | ],
1451 | "description": "Symfony Process Component",
1452 | "homepage": "https://symfony.com",
1453 | "time": "2015-08-27 06:45:45"
1454 | },
1455 | {
1456 | "name": "symfony/routing",
1457 | "version": "v2.7.4",
1458 | "source": {
1459 | "type": "git",
1460 | "url": "https://github.com/symfony/Routing.git",
1461 | "reference": "20b1378cb6efffb77ea0608232f18c8f0dd25109"
1462 | },
1463 | "dist": {
1464 | "type": "zip",
1465 | "url": "https://api.github.com/repos/symfony/Routing/zipball/20b1378cb6efffb77ea0608232f18c8f0dd25109",
1466 | "reference": "20b1378cb6efffb77ea0608232f18c8f0dd25109",
1467 | "shasum": ""
1468 | },
1469 | "require": {
1470 | "php": ">=5.3.9"
1471 | },
1472 | "conflict": {
1473 | "symfony/config": "<2.7"
1474 | },
1475 | "require-dev": {
1476 | "doctrine/annotations": "~1.0",
1477 | "doctrine/common": "~2.2",
1478 | "psr/log": "~1.0",
1479 | "symfony/config": "~2.7",
1480 | "symfony/expression-language": "~2.4",
1481 | "symfony/http-foundation": "~2.3",
1482 | "symfony/phpunit-bridge": "~2.7",
1483 | "symfony/yaml": "~2.0,>=2.0.5"
1484 | },
1485 | "suggest": {
1486 | "doctrine/annotations": "For using the annotation loader",
1487 | "symfony/config": "For using the all-in-one router or any loader",
1488 | "symfony/expression-language": "For using expression matching",
1489 | "symfony/yaml": "For using the YAML loader"
1490 | },
1491 | "type": "library",
1492 | "extra": {
1493 | "branch-alias": {
1494 | "dev-master": "2.7-dev"
1495 | }
1496 | },
1497 | "autoload": {
1498 | "psr-4": {
1499 | "Symfony\\Component\\Routing\\": ""
1500 | }
1501 | },
1502 | "notification-url": "https://packagist.org/downloads/",
1503 | "license": [
1504 | "MIT"
1505 | ],
1506 | "authors": [
1507 | {
1508 | "name": "Fabien Potencier",
1509 | "email": "fabien@symfony.com"
1510 | },
1511 | {
1512 | "name": "Symfony Community",
1513 | "homepage": "https://symfony.com/contributors"
1514 | }
1515 | ],
1516 | "description": "Symfony Routing Component",
1517 | "homepage": "https://symfony.com",
1518 | "keywords": [
1519 | "router",
1520 | "routing",
1521 | "uri",
1522 | "url"
1523 | ],
1524 | "time": "2015-08-24 07:13:45"
1525 | },
1526 | {
1527 | "name": "symfony/translation",
1528 | "version": "v2.7.4",
1529 | "source": {
1530 | "type": "git",
1531 | "url": "https://github.com/symfony/Translation.git",
1532 | "reference": "485877661835e188cd78345c6d4eef1290d17571"
1533 | },
1534 | "dist": {
1535 | "type": "zip",
1536 | "url": "https://api.github.com/repos/symfony/Translation/zipball/485877661835e188cd78345c6d4eef1290d17571",
1537 | "reference": "485877661835e188cd78345c6d4eef1290d17571",
1538 | "shasum": ""
1539 | },
1540 | "require": {
1541 | "php": ">=5.3.9"
1542 | },
1543 | "conflict": {
1544 | "symfony/config": "<2.7"
1545 | },
1546 | "require-dev": {
1547 | "psr/log": "~1.0",
1548 | "symfony/config": "~2.7",
1549 | "symfony/intl": "~2.4",
1550 | "symfony/phpunit-bridge": "~2.7",
1551 | "symfony/yaml": "~2.2"
1552 | },
1553 | "suggest": {
1554 | "psr/log": "To use logging capability in translator",
1555 | "symfony/config": "",
1556 | "symfony/yaml": ""
1557 | },
1558 | "type": "library",
1559 | "extra": {
1560 | "branch-alias": {
1561 | "dev-master": "2.7-dev"
1562 | }
1563 | },
1564 | "autoload": {
1565 | "psr-4": {
1566 | "Symfony\\Component\\Translation\\": ""
1567 | }
1568 | },
1569 | "notification-url": "https://packagist.org/downloads/",
1570 | "license": [
1571 | "MIT"
1572 | ],
1573 | "authors": [
1574 | {
1575 | "name": "Fabien Potencier",
1576 | "email": "fabien@symfony.com"
1577 | },
1578 | {
1579 | "name": "Symfony Community",
1580 | "homepage": "https://symfony.com/contributors"
1581 | }
1582 | ],
1583 | "description": "Symfony Translation Component",
1584 | "homepage": "https://symfony.com",
1585 | "time": "2015-09-06 08:36:38"
1586 | },
1587 | {
1588 | "name": "symfony/var-dumper",
1589 | "version": "v2.7.4",
1590 | "source": {
1591 | "type": "git",
1592 | "url": "https://github.com/symfony/var-dumper.git",
1593 | "reference": "b39221998ff5fc26ba63f96d2b833dfddc233d57"
1594 | },
1595 | "dist": {
1596 | "type": "zip",
1597 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b39221998ff5fc26ba63f96d2b833dfddc233d57",
1598 | "reference": "b39221998ff5fc26ba63f96d2b833dfddc233d57",
1599 | "shasum": ""
1600 | },
1601 | "require": {
1602 | "php": ">=5.3.9"
1603 | },
1604 | "require-dev": {
1605 | "symfony/phpunit-bridge": "~2.7"
1606 | },
1607 | "suggest": {
1608 | "ext-symfony_debug": ""
1609 | },
1610 | "type": "library",
1611 | "extra": {
1612 | "branch-alias": {
1613 | "dev-master": "2.7-dev"
1614 | }
1615 | },
1616 | "autoload": {
1617 | "files": [
1618 | "Resources/functions/dump.php"
1619 | ],
1620 | "psr-4": {
1621 | "Symfony\\Component\\VarDumper\\": ""
1622 | }
1623 | },
1624 | "notification-url": "https://packagist.org/downloads/",
1625 | "license": [
1626 | "MIT"
1627 | ],
1628 | "authors": [
1629 | {
1630 | "name": "Nicolas Grekas",
1631 | "email": "p@tchwork.com"
1632 | },
1633 | {
1634 | "name": "Symfony Community",
1635 | "homepage": "https://symfony.com/contributors"
1636 | }
1637 | ],
1638 | "description": "Symfony mechanism for exploring and dumping PHP variables",
1639 | "homepage": "https://symfony.com",
1640 | "keywords": [
1641 | "debug",
1642 | "dump"
1643 | ],
1644 | "time": "2015-08-31 12:28:11"
1645 | },
1646 | {
1647 | "name": "vlucas/phpdotenv",
1648 | "version": "v1.1.1",
1649 | "source": {
1650 | "type": "git",
1651 | "url": "https://github.com/vlucas/phpdotenv.git",
1652 | "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa"
1653 | },
1654 | "dist": {
1655 | "type": "zip",
1656 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa",
1657 | "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa",
1658 | "shasum": ""
1659 | },
1660 | "require": {
1661 | "php": ">=5.3.2"
1662 | },
1663 | "require-dev": {
1664 | "phpunit/phpunit": "~4.0"
1665 | },
1666 | "type": "library",
1667 | "autoload": {
1668 | "psr-0": {
1669 | "Dotenv": "src/"
1670 | }
1671 | },
1672 | "notification-url": "https://packagist.org/downloads/",
1673 | "license": [
1674 | "BSD"
1675 | ],
1676 | "authors": [
1677 | {
1678 | "name": "Vance Lucas",
1679 | "email": "vance@vancelucas.com",
1680 | "homepage": "http://www.vancelucas.com"
1681 | }
1682 | ],
1683 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
1684 | "homepage": "http://github.com/vlucas/phpdotenv",
1685 | "keywords": [
1686 | "dotenv",
1687 | "env",
1688 | "environment"
1689 | ],
1690 | "time": "2015-05-30 15:59:26"
1691 | }
1692 | ],
1693 | "packages-dev": [
1694 | {
1695 | "name": "doctrine/instantiator",
1696 | "version": "1.0.5",
1697 | "source": {
1698 | "type": "git",
1699 | "url": "https://github.com/doctrine/instantiator.git",
1700 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
1701 | },
1702 | "dist": {
1703 | "type": "zip",
1704 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
1705 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
1706 | "shasum": ""
1707 | },
1708 | "require": {
1709 | "php": ">=5.3,<8.0-DEV"
1710 | },
1711 | "require-dev": {
1712 | "athletic/athletic": "~0.1.8",
1713 | "ext-pdo": "*",
1714 | "ext-phar": "*",
1715 | "phpunit/phpunit": "~4.0",
1716 | "squizlabs/php_codesniffer": "~2.0"
1717 | },
1718 | "type": "library",
1719 | "extra": {
1720 | "branch-alias": {
1721 | "dev-master": "1.0.x-dev"
1722 | }
1723 | },
1724 | "autoload": {
1725 | "psr-4": {
1726 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
1727 | }
1728 | },
1729 | "notification-url": "https://packagist.org/downloads/",
1730 | "license": [
1731 | "MIT"
1732 | ],
1733 | "authors": [
1734 | {
1735 | "name": "Marco Pivetta",
1736 | "email": "ocramius@gmail.com",
1737 | "homepage": "http://ocramius.github.com/"
1738 | }
1739 | ],
1740 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
1741 | "homepage": "https://github.com/doctrine/instantiator",
1742 | "keywords": [
1743 | "constructor",
1744 | "instantiate"
1745 | ],
1746 | "time": "2015-06-14 21:17:01"
1747 | },
1748 | {
1749 | "name": "fzaninotto/faker",
1750 | "version": "v1.5.0",
1751 | "source": {
1752 | "type": "git",
1753 | "url": "https://github.com/fzaninotto/Faker.git",
1754 | "reference": "d0190b156bcca848d401fb80f31f504f37141c8d"
1755 | },
1756 | "dist": {
1757 | "type": "zip",
1758 | "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d0190b156bcca848d401fb80f31f504f37141c8d",
1759 | "reference": "d0190b156bcca848d401fb80f31f504f37141c8d",
1760 | "shasum": ""
1761 | },
1762 | "require": {
1763 | "php": ">=5.3.3"
1764 | },
1765 | "require-dev": {
1766 | "phpunit/phpunit": "~4.0",
1767 | "squizlabs/php_codesniffer": "~1.5"
1768 | },
1769 | "suggest": {
1770 | "ext-intl": "*"
1771 | },
1772 | "type": "library",
1773 | "extra": {
1774 | "branch-alias": {
1775 | "dev-master": "1.5.x-dev"
1776 | }
1777 | },
1778 | "autoload": {
1779 | "psr-4": {
1780 | "Faker\\": "src/Faker/"
1781 | }
1782 | },
1783 | "notification-url": "https://packagist.org/downloads/",
1784 | "license": [
1785 | "MIT"
1786 | ],
1787 | "authors": [
1788 | {
1789 | "name": "François Zaninotto"
1790 | }
1791 | ],
1792 | "description": "Faker is a PHP library that generates fake data for you.",
1793 | "keywords": [
1794 | "data",
1795 | "faker",
1796 | "fixtures"
1797 | ],
1798 | "time": "2015-05-29 06:29:14"
1799 | },
1800 | {
1801 | "name": "hamcrest/hamcrest-php",
1802 | "version": "v1.2.2",
1803 | "source": {
1804 | "type": "git",
1805 | "url": "https://github.com/hamcrest/hamcrest-php.git",
1806 | "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c"
1807 | },
1808 | "dist": {
1809 | "type": "zip",
1810 | "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c",
1811 | "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c",
1812 | "shasum": ""
1813 | },
1814 | "require": {
1815 | "php": ">=5.3.2"
1816 | },
1817 | "replace": {
1818 | "cordoval/hamcrest-php": "*",
1819 | "davedevelopment/hamcrest-php": "*",
1820 | "kodova/hamcrest-php": "*"
1821 | },
1822 | "require-dev": {
1823 | "phpunit/php-file-iterator": "1.3.3",
1824 | "satooshi/php-coveralls": "dev-master"
1825 | },
1826 | "type": "library",
1827 | "autoload": {
1828 | "classmap": [
1829 | "hamcrest"
1830 | ],
1831 | "files": [
1832 | "hamcrest/Hamcrest.php"
1833 | ]
1834 | },
1835 | "notification-url": "https://packagist.org/downloads/",
1836 | "license": [
1837 | "BSD"
1838 | ],
1839 | "description": "This is the PHP port of Hamcrest Matchers",
1840 | "keywords": [
1841 | "test"
1842 | ],
1843 | "time": "2015-05-11 14:41:42"
1844 | },
1845 | {
1846 | "name": "mockery/mockery",
1847 | "version": "0.9.4",
1848 | "source": {
1849 | "type": "git",
1850 | "url": "https://github.com/padraic/mockery.git",
1851 | "reference": "70bba85e4aabc9449626651f48b9018ede04f86b"
1852 | },
1853 | "dist": {
1854 | "type": "zip",
1855 | "url": "https://api.github.com/repos/padraic/mockery/zipball/70bba85e4aabc9449626651f48b9018ede04f86b",
1856 | "reference": "70bba85e4aabc9449626651f48b9018ede04f86b",
1857 | "shasum": ""
1858 | },
1859 | "require": {
1860 | "hamcrest/hamcrest-php": "~1.1",
1861 | "lib-pcre": ">=7.0",
1862 | "php": ">=5.3.2"
1863 | },
1864 | "require-dev": {
1865 | "phpunit/phpunit": "~4.0"
1866 | },
1867 | "type": "library",
1868 | "extra": {
1869 | "branch-alias": {
1870 | "dev-master": "0.9.x-dev"
1871 | }
1872 | },
1873 | "autoload": {
1874 | "psr-0": {
1875 | "Mockery": "library/"
1876 | }
1877 | },
1878 | "notification-url": "https://packagist.org/downloads/",
1879 | "license": [
1880 | "BSD-3-Clause"
1881 | ],
1882 | "authors": [
1883 | {
1884 | "name": "Pádraic Brady",
1885 | "email": "padraic.brady@gmail.com",
1886 | "homepage": "http://blog.astrumfutura.com"
1887 | },
1888 | {
1889 | "name": "Dave Marshall",
1890 | "email": "dave.marshall@atstsolutions.co.uk",
1891 | "homepage": "http://davedevelopment.co.uk"
1892 | }
1893 | ],
1894 | "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.",
1895 | "homepage": "http://github.com/padraic/mockery",
1896 | "keywords": [
1897 | "BDD",
1898 | "TDD",
1899 | "library",
1900 | "mock",
1901 | "mock objects",
1902 | "mockery",
1903 | "stub",
1904 | "test",
1905 | "test double",
1906 | "testing"
1907 | ],
1908 | "time": "2015-04-02 19:54:00"
1909 | },
1910 | {
1911 | "name": "phpdocumentor/reflection-docblock",
1912 | "version": "2.0.4",
1913 | "source": {
1914 | "type": "git",
1915 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
1916 | "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
1917 | },
1918 | "dist": {
1919 | "type": "zip",
1920 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
1921 | "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
1922 | "shasum": ""
1923 | },
1924 | "require": {
1925 | "php": ">=5.3.3"
1926 | },
1927 | "require-dev": {
1928 | "phpunit/phpunit": "~4.0"
1929 | },
1930 | "suggest": {
1931 | "dflydev/markdown": "~1.0",
1932 | "erusev/parsedown": "~1.0"
1933 | },
1934 | "type": "library",
1935 | "extra": {
1936 | "branch-alias": {
1937 | "dev-master": "2.0.x-dev"
1938 | }
1939 | },
1940 | "autoload": {
1941 | "psr-0": {
1942 | "phpDocumentor": [
1943 | "src/"
1944 | ]
1945 | }
1946 | },
1947 | "notification-url": "https://packagist.org/downloads/",
1948 | "license": [
1949 | "MIT"
1950 | ],
1951 | "authors": [
1952 | {
1953 | "name": "Mike van Riel",
1954 | "email": "mike.vanriel@naenius.com"
1955 | }
1956 | ],
1957 | "time": "2015-02-03 12:10:50"
1958 | },
1959 | {
1960 | "name": "phpspec/php-diff",
1961 | "version": "v1.0.2",
1962 | "source": {
1963 | "type": "git",
1964 | "url": "https://github.com/phpspec/php-diff.git",
1965 | "reference": "30e103d19519fe678ae64a60d77884ef3d71b28a"
1966 | },
1967 | "dist": {
1968 | "type": "zip",
1969 | "url": "https://api.github.com/repos/phpspec/php-diff/zipball/30e103d19519fe678ae64a60d77884ef3d71b28a",
1970 | "reference": "30e103d19519fe678ae64a60d77884ef3d71b28a",
1971 | "shasum": ""
1972 | },
1973 | "type": "library",
1974 | "autoload": {
1975 | "psr-0": {
1976 | "Diff": "lib/"
1977 | }
1978 | },
1979 | "notification-url": "https://packagist.org/downloads/",
1980 | "license": [
1981 | "BSD-3-Clause"
1982 | ],
1983 | "authors": [
1984 | {
1985 | "name": "Chris Boulton",
1986 | "homepage": "http://github.com/chrisboulton",
1987 | "role": "Original developer"
1988 | }
1989 | ],
1990 | "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).",
1991 | "time": "2013-11-01 13:02:21"
1992 | },
1993 | {
1994 | "name": "phpspec/phpspec",
1995 | "version": "2.3.0",
1996 | "source": {
1997 | "type": "git",
1998 | "url": "https://github.com/phpspec/phpspec.git",
1999 | "reference": "36635a903bdeb54899d7407bc95610501fd98559"
2000 | },
2001 | "dist": {
2002 | "type": "zip",
2003 | "url": "https://api.github.com/repos/phpspec/phpspec/zipball/36635a903bdeb54899d7407bc95610501fd98559",
2004 | "reference": "36635a903bdeb54899d7407bc95610501fd98559",
2005 | "shasum": ""
2006 | },
2007 | "require": {
2008 | "doctrine/instantiator": "^1.0.1",
2009 | "php": ">=5.3.3",
2010 | "phpspec/php-diff": "~1.0.0",
2011 | "phpspec/prophecy": "~1.4",
2012 | "sebastian/exporter": "~1.0",
2013 | "symfony/console": "~2.3",
2014 | "symfony/event-dispatcher": "~2.1",
2015 | "symfony/finder": "~2.1",
2016 | "symfony/process": "^2.6",
2017 | "symfony/yaml": "~2.1"
2018 | },
2019 | "require-dev": {
2020 | "behat/behat": "^3.0.11",
2021 | "bossa/phpspec2-expect": "~1.0",
2022 | "phpunit/phpunit": "~4.4",
2023 | "symfony/filesystem": "~2.1"
2024 | },
2025 | "suggest": {
2026 | "phpspec/nyan-formatters": "~1.0 – Adds Nyan formatters"
2027 | },
2028 | "bin": [
2029 | "bin/phpspec"
2030 | ],
2031 | "type": "library",
2032 | "extra": {
2033 | "branch-alias": {
2034 | "dev-master": "2.2.x-dev"
2035 | }
2036 | },
2037 | "autoload": {
2038 | "psr-0": {
2039 | "PhpSpec": "src/"
2040 | }
2041 | },
2042 | "notification-url": "https://packagist.org/downloads/",
2043 | "license": [
2044 | "MIT"
2045 | ],
2046 | "authors": [
2047 | {
2048 | "name": "Konstantin Kudryashov",
2049 | "email": "ever.zet@gmail.com",
2050 | "homepage": "http://everzet.com"
2051 | },
2052 | {
2053 | "name": "Marcello Duarte",
2054 | "homepage": "http://marcelloduarte.net/"
2055 | }
2056 | ],
2057 | "description": "Specification-oriented BDD framework for PHP 5.3+",
2058 | "homepage": "http://phpspec.net/",
2059 | "keywords": [
2060 | "BDD",
2061 | "SpecBDD",
2062 | "TDD",
2063 | "spec",
2064 | "specification",
2065 | "testing",
2066 | "tests"
2067 | ],
2068 | "time": "2015-09-07 07:07:37"
2069 | },
2070 | {
2071 | "name": "phpspec/prophecy",
2072 | "version": "v1.5.0",
2073 | "source": {
2074 | "type": "git",
2075 | "url": "https://github.com/phpspec/prophecy.git",
2076 | "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7"
2077 | },
2078 | "dist": {
2079 | "type": "zip",
2080 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7",
2081 | "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7",
2082 | "shasum": ""
2083 | },
2084 | "require": {
2085 | "doctrine/instantiator": "^1.0.2",
2086 | "phpdocumentor/reflection-docblock": "~2.0",
2087 | "sebastian/comparator": "~1.1"
2088 | },
2089 | "require-dev": {
2090 | "phpspec/phpspec": "~2.0"
2091 | },
2092 | "type": "library",
2093 | "extra": {
2094 | "branch-alias": {
2095 | "dev-master": "1.4.x-dev"
2096 | }
2097 | },
2098 | "autoload": {
2099 | "psr-0": {
2100 | "Prophecy\\": "src/"
2101 | }
2102 | },
2103 | "notification-url": "https://packagist.org/downloads/",
2104 | "license": [
2105 | "MIT"
2106 | ],
2107 | "authors": [
2108 | {
2109 | "name": "Konstantin Kudryashov",
2110 | "email": "ever.zet@gmail.com",
2111 | "homepage": "http://everzet.com"
2112 | },
2113 | {
2114 | "name": "Marcello Duarte",
2115 | "email": "marcello.duarte@gmail.com"
2116 | }
2117 | ],
2118 | "description": "Highly opinionated mocking framework for PHP 5.3+",
2119 | "homepage": "https://github.com/phpspec/prophecy",
2120 | "keywords": [
2121 | "Double",
2122 | "Dummy",
2123 | "fake",
2124 | "mock",
2125 | "spy",
2126 | "stub"
2127 | ],
2128 | "time": "2015-08-13 10:07:40"
2129 | },
2130 | {
2131 | "name": "phpunit/php-code-coverage",
2132 | "version": "2.2.2",
2133 | "source": {
2134 | "type": "git",
2135 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
2136 | "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c"
2137 | },
2138 | "dist": {
2139 | "type": "zip",
2140 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2d7c03c0e4e080901b8f33b2897b0577be18a13c",
2141 | "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c",
2142 | "shasum": ""
2143 | },
2144 | "require": {
2145 | "php": ">=5.3.3",
2146 | "phpunit/php-file-iterator": "~1.3",
2147 | "phpunit/php-text-template": "~1.2",
2148 | "phpunit/php-token-stream": "~1.3",
2149 | "sebastian/environment": "^1.3.2",
2150 | "sebastian/version": "~1.0"
2151 | },
2152 | "require-dev": {
2153 | "ext-xdebug": ">=2.1.4",
2154 | "phpunit/phpunit": "~4"
2155 | },
2156 | "suggest": {
2157 | "ext-dom": "*",
2158 | "ext-xdebug": ">=2.2.1",
2159 | "ext-xmlwriter": "*"
2160 | },
2161 | "type": "library",
2162 | "extra": {
2163 | "branch-alias": {
2164 | "dev-master": "2.2.x-dev"
2165 | }
2166 | },
2167 | "autoload": {
2168 | "classmap": [
2169 | "src/"
2170 | ]
2171 | },
2172 | "notification-url": "https://packagist.org/downloads/",
2173 | "license": [
2174 | "BSD-3-Clause"
2175 | ],
2176 | "authors": [
2177 | {
2178 | "name": "Sebastian Bergmann",
2179 | "email": "sb@sebastian-bergmann.de",
2180 | "role": "lead"
2181 | }
2182 | ],
2183 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
2184 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
2185 | "keywords": [
2186 | "coverage",
2187 | "testing",
2188 | "xunit"
2189 | ],
2190 | "time": "2015-08-04 03:42:39"
2191 | },
2192 | {
2193 | "name": "phpunit/php-file-iterator",
2194 | "version": "1.4.1",
2195 | "source": {
2196 | "type": "git",
2197 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
2198 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
2199 | },
2200 | "dist": {
2201 | "type": "zip",
2202 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
2203 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
2204 | "shasum": ""
2205 | },
2206 | "require": {
2207 | "php": ">=5.3.3"
2208 | },
2209 | "type": "library",
2210 | "extra": {
2211 | "branch-alias": {
2212 | "dev-master": "1.4.x-dev"
2213 | }
2214 | },
2215 | "autoload": {
2216 | "classmap": [
2217 | "src/"
2218 | ]
2219 | },
2220 | "notification-url": "https://packagist.org/downloads/",
2221 | "license": [
2222 | "BSD-3-Clause"
2223 | ],
2224 | "authors": [
2225 | {
2226 | "name": "Sebastian Bergmann",
2227 | "email": "sb@sebastian-bergmann.de",
2228 | "role": "lead"
2229 | }
2230 | ],
2231 | "description": "FilterIterator implementation that filters files based on a list of suffixes.",
2232 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
2233 | "keywords": [
2234 | "filesystem",
2235 | "iterator"
2236 | ],
2237 | "time": "2015-06-21 13:08:43"
2238 | },
2239 | {
2240 | "name": "phpunit/php-text-template",
2241 | "version": "1.2.1",
2242 | "source": {
2243 | "type": "git",
2244 | "url": "https://github.com/sebastianbergmann/php-text-template.git",
2245 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
2246 | },
2247 | "dist": {
2248 | "type": "zip",
2249 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
2250 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
2251 | "shasum": ""
2252 | },
2253 | "require": {
2254 | "php": ">=5.3.3"
2255 | },
2256 | "type": "library",
2257 | "autoload": {
2258 | "classmap": [
2259 | "src/"
2260 | ]
2261 | },
2262 | "notification-url": "https://packagist.org/downloads/",
2263 | "license": [
2264 | "BSD-3-Clause"
2265 | ],
2266 | "authors": [
2267 | {
2268 | "name": "Sebastian Bergmann",
2269 | "email": "sebastian@phpunit.de",
2270 | "role": "lead"
2271 | }
2272 | ],
2273 | "description": "Simple template engine.",
2274 | "homepage": "https://github.com/sebastianbergmann/php-text-template/",
2275 | "keywords": [
2276 | "template"
2277 | ],
2278 | "time": "2015-06-21 13:50:34"
2279 | },
2280 | {
2281 | "name": "phpunit/php-timer",
2282 | "version": "1.0.7",
2283 | "source": {
2284 | "type": "git",
2285 | "url": "https://github.com/sebastianbergmann/php-timer.git",
2286 | "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b"
2287 | },
2288 | "dist": {
2289 | "type": "zip",
2290 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
2291 | "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
2292 | "shasum": ""
2293 | },
2294 | "require": {
2295 | "php": ">=5.3.3"
2296 | },
2297 | "type": "library",
2298 | "autoload": {
2299 | "classmap": [
2300 | "src/"
2301 | ]
2302 | },
2303 | "notification-url": "https://packagist.org/downloads/",
2304 | "license": [
2305 | "BSD-3-Clause"
2306 | ],
2307 | "authors": [
2308 | {
2309 | "name": "Sebastian Bergmann",
2310 | "email": "sb@sebastian-bergmann.de",
2311 | "role": "lead"
2312 | }
2313 | ],
2314 | "description": "Utility class for timing",
2315 | "homepage": "https://github.com/sebastianbergmann/php-timer/",
2316 | "keywords": [
2317 | "timer"
2318 | ],
2319 | "time": "2015-06-21 08:01:12"
2320 | },
2321 | {
2322 | "name": "phpunit/php-token-stream",
2323 | "version": "1.4.6",
2324 | "source": {
2325 | "type": "git",
2326 | "url": "https://github.com/sebastianbergmann/php-token-stream.git",
2327 | "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b"
2328 | },
2329 | "dist": {
2330 | "type": "zip",
2331 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3ab72c62e550370a6cd5dc873e1a04ab57562f5b",
2332 | "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b",
2333 | "shasum": ""
2334 | },
2335 | "require": {
2336 | "ext-tokenizer": "*",
2337 | "php": ">=5.3.3"
2338 | },
2339 | "require-dev": {
2340 | "phpunit/phpunit": "~4.2"
2341 | },
2342 | "type": "library",
2343 | "extra": {
2344 | "branch-alias": {
2345 | "dev-master": "1.4-dev"
2346 | }
2347 | },
2348 | "autoload": {
2349 | "classmap": [
2350 | "src/"
2351 | ]
2352 | },
2353 | "notification-url": "https://packagist.org/downloads/",
2354 | "license": [
2355 | "BSD-3-Clause"
2356 | ],
2357 | "authors": [
2358 | {
2359 | "name": "Sebastian Bergmann",
2360 | "email": "sebastian@phpunit.de"
2361 | }
2362 | ],
2363 | "description": "Wrapper around PHP's tokenizer extension.",
2364 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
2365 | "keywords": [
2366 | "tokenizer"
2367 | ],
2368 | "time": "2015-08-16 08:51:00"
2369 | },
2370 | {
2371 | "name": "phpunit/phpunit",
2372 | "version": "4.8.6",
2373 | "source": {
2374 | "type": "git",
2375 | "url": "https://github.com/sebastianbergmann/phpunit.git",
2376 | "reference": "2246830f4a1a551c67933e4171bf2126dc29d357"
2377 | },
2378 | "dist": {
2379 | "type": "zip",
2380 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2246830f4a1a551c67933e4171bf2126dc29d357",
2381 | "reference": "2246830f4a1a551c67933e4171bf2126dc29d357",
2382 | "shasum": ""
2383 | },
2384 | "require": {
2385 | "ext-dom": "*",
2386 | "ext-json": "*",
2387 | "ext-pcre": "*",
2388 | "ext-reflection": "*",
2389 | "ext-spl": "*",
2390 | "php": ">=5.3.3",
2391 | "phpspec/prophecy": "^1.3.1",
2392 | "phpunit/php-code-coverage": "~2.1",
2393 | "phpunit/php-file-iterator": "~1.4",
2394 | "phpunit/php-text-template": "~1.2",
2395 | "phpunit/php-timer": ">=1.0.6",
2396 | "phpunit/phpunit-mock-objects": "~2.3",
2397 | "sebastian/comparator": "~1.1",
2398 | "sebastian/diff": "~1.2",
2399 | "sebastian/environment": "~1.3",
2400 | "sebastian/exporter": "~1.2",
2401 | "sebastian/global-state": "~1.0",
2402 | "sebastian/version": "~1.0",
2403 | "symfony/yaml": "~2.1|~3.0"
2404 | },
2405 | "suggest": {
2406 | "phpunit/php-invoker": "~1.1"
2407 | },
2408 | "bin": [
2409 | "phpunit"
2410 | ],
2411 | "type": "library",
2412 | "extra": {
2413 | "branch-alias": {
2414 | "dev-master": "4.8.x-dev"
2415 | }
2416 | },
2417 | "autoload": {
2418 | "classmap": [
2419 | "src/"
2420 | ]
2421 | },
2422 | "notification-url": "https://packagist.org/downloads/",
2423 | "license": [
2424 | "BSD-3-Clause"
2425 | ],
2426 | "authors": [
2427 | {
2428 | "name": "Sebastian Bergmann",
2429 | "email": "sebastian@phpunit.de",
2430 | "role": "lead"
2431 | }
2432 | ],
2433 | "description": "The PHP Unit Testing framework.",
2434 | "homepage": "https://phpunit.de/",
2435 | "keywords": [
2436 | "phpunit",
2437 | "testing",
2438 | "xunit"
2439 | ],
2440 | "time": "2015-08-24 04:09:38"
2441 | },
2442 | {
2443 | "name": "phpunit/phpunit-mock-objects",
2444 | "version": "2.3.7",
2445 | "source": {
2446 | "type": "git",
2447 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
2448 | "reference": "5e2645ad49d196e020b85598d7c97e482725786a"
2449 | },
2450 | "dist": {
2451 | "type": "zip",
2452 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/5e2645ad49d196e020b85598d7c97e482725786a",
2453 | "reference": "5e2645ad49d196e020b85598d7c97e482725786a",
2454 | "shasum": ""
2455 | },
2456 | "require": {
2457 | "doctrine/instantiator": "^1.0.2",
2458 | "php": ">=5.3.3",
2459 | "phpunit/php-text-template": "~1.2",
2460 | "sebastian/exporter": "~1.2"
2461 | },
2462 | "require-dev": {
2463 | "phpunit/phpunit": "~4.4"
2464 | },
2465 | "suggest": {
2466 | "ext-soap": "*"
2467 | },
2468 | "type": "library",
2469 | "extra": {
2470 | "branch-alias": {
2471 | "dev-master": "2.3.x-dev"
2472 | }
2473 | },
2474 | "autoload": {
2475 | "classmap": [
2476 | "src/"
2477 | ]
2478 | },
2479 | "notification-url": "https://packagist.org/downloads/",
2480 | "license": [
2481 | "BSD-3-Clause"
2482 | ],
2483 | "authors": [
2484 | {
2485 | "name": "Sebastian Bergmann",
2486 | "email": "sb@sebastian-bergmann.de",
2487 | "role": "lead"
2488 | }
2489 | ],
2490 | "description": "Mock Object library for PHPUnit",
2491 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
2492 | "keywords": [
2493 | "mock",
2494 | "xunit"
2495 | ],
2496 | "time": "2015-08-19 09:14:08"
2497 | },
2498 | {
2499 | "name": "sebastian/comparator",
2500 | "version": "1.2.0",
2501 | "source": {
2502 | "type": "git",
2503 | "url": "https://github.com/sebastianbergmann/comparator.git",
2504 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
2505 | },
2506 | "dist": {
2507 | "type": "zip",
2508 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
2509 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
2510 | "shasum": ""
2511 | },
2512 | "require": {
2513 | "php": ">=5.3.3",
2514 | "sebastian/diff": "~1.2",
2515 | "sebastian/exporter": "~1.2"
2516 | },
2517 | "require-dev": {
2518 | "phpunit/phpunit": "~4.4"
2519 | },
2520 | "type": "library",
2521 | "extra": {
2522 | "branch-alias": {
2523 | "dev-master": "1.2.x-dev"
2524 | }
2525 | },
2526 | "autoload": {
2527 | "classmap": [
2528 | "src/"
2529 | ]
2530 | },
2531 | "notification-url": "https://packagist.org/downloads/",
2532 | "license": [
2533 | "BSD-3-Clause"
2534 | ],
2535 | "authors": [
2536 | {
2537 | "name": "Jeff Welch",
2538 | "email": "whatthejeff@gmail.com"
2539 | },
2540 | {
2541 | "name": "Volker Dusch",
2542 | "email": "github@wallbash.com"
2543 | },
2544 | {
2545 | "name": "Bernhard Schussek",
2546 | "email": "bschussek@2bepublished.at"
2547 | },
2548 | {
2549 | "name": "Sebastian Bergmann",
2550 | "email": "sebastian@phpunit.de"
2551 | }
2552 | ],
2553 | "description": "Provides the functionality to compare PHP values for equality",
2554 | "homepage": "http://www.github.com/sebastianbergmann/comparator",
2555 | "keywords": [
2556 | "comparator",
2557 | "compare",
2558 | "equality"
2559 | ],
2560 | "time": "2015-07-26 15:48:44"
2561 | },
2562 | {
2563 | "name": "sebastian/diff",
2564 | "version": "1.3.0",
2565 | "source": {
2566 | "type": "git",
2567 | "url": "https://github.com/sebastianbergmann/diff.git",
2568 | "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3"
2569 | },
2570 | "dist": {
2571 | "type": "zip",
2572 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3",
2573 | "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3",
2574 | "shasum": ""
2575 | },
2576 | "require": {
2577 | "php": ">=5.3.3"
2578 | },
2579 | "require-dev": {
2580 | "phpunit/phpunit": "~4.2"
2581 | },
2582 | "type": "library",
2583 | "extra": {
2584 | "branch-alias": {
2585 | "dev-master": "1.3-dev"
2586 | }
2587 | },
2588 | "autoload": {
2589 | "classmap": [
2590 | "src/"
2591 | ]
2592 | },
2593 | "notification-url": "https://packagist.org/downloads/",
2594 | "license": [
2595 | "BSD-3-Clause"
2596 | ],
2597 | "authors": [
2598 | {
2599 | "name": "Kore Nordmann",
2600 | "email": "mail@kore-nordmann.de"
2601 | },
2602 | {
2603 | "name": "Sebastian Bergmann",
2604 | "email": "sebastian@phpunit.de"
2605 | }
2606 | ],
2607 | "description": "Diff implementation",
2608 | "homepage": "http://www.github.com/sebastianbergmann/diff",
2609 | "keywords": [
2610 | "diff"
2611 | ],
2612 | "time": "2015-02-22 15:13:53"
2613 | },
2614 | {
2615 | "name": "sebastian/environment",
2616 | "version": "1.3.2",
2617 | "source": {
2618 | "type": "git",
2619 | "url": "https://github.com/sebastianbergmann/environment.git",
2620 | "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44"
2621 | },
2622 | "dist": {
2623 | "type": "zip",
2624 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44",
2625 | "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44",
2626 | "shasum": ""
2627 | },
2628 | "require": {
2629 | "php": ">=5.3.3"
2630 | },
2631 | "require-dev": {
2632 | "phpunit/phpunit": "~4.4"
2633 | },
2634 | "type": "library",
2635 | "extra": {
2636 | "branch-alias": {
2637 | "dev-master": "1.3.x-dev"
2638 | }
2639 | },
2640 | "autoload": {
2641 | "classmap": [
2642 | "src/"
2643 | ]
2644 | },
2645 | "notification-url": "https://packagist.org/downloads/",
2646 | "license": [
2647 | "BSD-3-Clause"
2648 | ],
2649 | "authors": [
2650 | {
2651 | "name": "Sebastian Bergmann",
2652 | "email": "sebastian@phpunit.de"
2653 | }
2654 | ],
2655 | "description": "Provides functionality to handle HHVM/PHP environments",
2656 | "homepage": "http://www.github.com/sebastianbergmann/environment",
2657 | "keywords": [
2658 | "Xdebug",
2659 | "environment",
2660 | "hhvm"
2661 | ],
2662 | "time": "2015-08-03 06:14:51"
2663 | },
2664 | {
2665 | "name": "sebastian/exporter",
2666 | "version": "1.2.1",
2667 | "source": {
2668 | "type": "git",
2669 | "url": "https://github.com/sebastianbergmann/exporter.git",
2670 | "reference": "7ae5513327cb536431847bcc0c10edba2701064e"
2671 | },
2672 | "dist": {
2673 | "type": "zip",
2674 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e",
2675 | "reference": "7ae5513327cb536431847bcc0c10edba2701064e",
2676 | "shasum": ""
2677 | },
2678 | "require": {
2679 | "php": ">=5.3.3",
2680 | "sebastian/recursion-context": "~1.0"
2681 | },
2682 | "require-dev": {
2683 | "phpunit/phpunit": "~4.4"
2684 | },
2685 | "type": "library",
2686 | "extra": {
2687 | "branch-alias": {
2688 | "dev-master": "1.2.x-dev"
2689 | }
2690 | },
2691 | "autoload": {
2692 | "classmap": [
2693 | "src/"
2694 | ]
2695 | },
2696 | "notification-url": "https://packagist.org/downloads/",
2697 | "license": [
2698 | "BSD-3-Clause"
2699 | ],
2700 | "authors": [
2701 | {
2702 | "name": "Jeff Welch",
2703 | "email": "whatthejeff@gmail.com"
2704 | },
2705 | {
2706 | "name": "Volker Dusch",
2707 | "email": "github@wallbash.com"
2708 | },
2709 | {
2710 | "name": "Bernhard Schussek",
2711 | "email": "bschussek@2bepublished.at"
2712 | },
2713 | {
2714 | "name": "Sebastian Bergmann",
2715 | "email": "sebastian@phpunit.de"
2716 | },
2717 | {
2718 | "name": "Adam Harvey",
2719 | "email": "aharvey@php.net"
2720 | }
2721 | ],
2722 | "description": "Provides the functionality to export PHP variables for visualization",
2723 | "homepage": "http://www.github.com/sebastianbergmann/exporter",
2724 | "keywords": [
2725 | "export",
2726 | "exporter"
2727 | ],
2728 | "time": "2015-06-21 07:55:53"
2729 | },
2730 | {
2731 | "name": "sebastian/global-state",
2732 | "version": "1.0.0",
2733 | "source": {
2734 | "type": "git",
2735 | "url": "https://github.com/sebastianbergmann/global-state.git",
2736 | "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01"
2737 | },
2738 | "dist": {
2739 | "type": "zip",
2740 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
2741 | "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
2742 | "shasum": ""
2743 | },
2744 | "require": {
2745 | "php": ">=5.3.3"
2746 | },
2747 | "require-dev": {
2748 | "phpunit/phpunit": "~4.2"
2749 | },
2750 | "suggest": {
2751 | "ext-uopz": "*"
2752 | },
2753 | "type": "library",
2754 | "extra": {
2755 | "branch-alias": {
2756 | "dev-master": "1.0-dev"
2757 | }
2758 | },
2759 | "autoload": {
2760 | "classmap": [
2761 | "src/"
2762 | ]
2763 | },
2764 | "notification-url": "https://packagist.org/downloads/",
2765 | "license": [
2766 | "BSD-3-Clause"
2767 | ],
2768 | "authors": [
2769 | {
2770 | "name": "Sebastian Bergmann",
2771 | "email": "sebastian@phpunit.de"
2772 | }
2773 | ],
2774 | "description": "Snapshotting of global state",
2775 | "homepage": "http://www.github.com/sebastianbergmann/global-state",
2776 | "keywords": [
2777 | "global state"
2778 | ],
2779 | "time": "2014-10-06 09:23:50"
2780 | },
2781 | {
2782 | "name": "sebastian/recursion-context",
2783 | "version": "1.0.1",
2784 | "source": {
2785 | "type": "git",
2786 | "url": "https://github.com/sebastianbergmann/recursion-context.git",
2787 | "reference": "994d4a811bafe801fb06dccbee797863ba2792ba"
2788 | },
2789 | "dist": {
2790 | "type": "zip",
2791 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba",
2792 | "reference": "994d4a811bafe801fb06dccbee797863ba2792ba",
2793 | "shasum": ""
2794 | },
2795 | "require": {
2796 | "php": ">=5.3.3"
2797 | },
2798 | "require-dev": {
2799 | "phpunit/phpunit": "~4.4"
2800 | },
2801 | "type": "library",
2802 | "extra": {
2803 | "branch-alias": {
2804 | "dev-master": "1.0.x-dev"
2805 | }
2806 | },
2807 | "autoload": {
2808 | "classmap": [
2809 | "src/"
2810 | ]
2811 | },
2812 | "notification-url": "https://packagist.org/downloads/",
2813 | "license": [
2814 | "BSD-3-Clause"
2815 | ],
2816 | "authors": [
2817 | {
2818 | "name": "Jeff Welch",
2819 | "email": "whatthejeff@gmail.com"
2820 | },
2821 | {
2822 | "name": "Sebastian Bergmann",
2823 | "email": "sebastian@phpunit.de"
2824 | },
2825 | {
2826 | "name": "Adam Harvey",
2827 | "email": "aharvey@php.net"
2828 | }
2829 | ],
2830 | "description": "Provides functionality to recursively process PHP variables",
2831 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
2832 | "time": "2015-06-21 08:04:50"
2833 | },
2834 | {
2835 | "name": "sebastian/version",
2836 | "version": "1.0.6",
2837 | "source": {
2838 | "type": "git",
2839 | "url": "https://github.com/sebastianbergmann/version.git",
2840 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
2841 | },
2842 | "dist": {
2843 | "type": "zip",
2844 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
2845 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
2846 | "shasum": ""
2847 | },
2848 | "type": "library",
2849 | "autoload": {
2850 | "classmap": [
2851 | "src/"
2852 | ]
2853 | },
2854 | "notification-url": "https://packagist.org/downloads/",
2855 | "license": [
2856 | "BSD-3-Clause"
2857 | ],
2858 | "authors": [
2859 | {
2860 | "name": "Sebastian Bergmann",
2861 | "email": "sebastian@phpunit.de",
2862 | "role": "lead"
2863 | }
2864 | ],
2865 | "description": "Library that helps with managing the version number of Git-hosted PHP projects",
2866 | "homepage": "https://github.com/sebastianbergmann/version",
2867 | "time": "2015-06-21 13:59:46"
2868 | },
2869 | {
2870 | "name": "symfony/yaml",
2871 | "version": "v2.7.4",
2872 | "source": {
2873 | "type": "git",
2874 | "url": "https://github.com/symfony/Yaml.git",
2875 | "reference": "2dc7b06c065df96cc686c66da2705e5e18aef661"
2876 | },
2877 | "dist": {
2878 | "type": "zip",
2879 | "url": "https://api.github.com/repos/symfony/Yaml/zipball/2dc7b06c065df96cc686c66da2705e5e18aef661",
2880 | "reference": "2dc7b06c065df96cc686c66da2705e5e18aef661",
2881 | "shasum": ""
2882 | },
2883 | "require": {
2884 | "php": ">=5.3.9"
2885 | },
2886 | "require-dev": {
2887 | "symfony/phpunit-bridge": "~2.7"
2888 | },
2889 | "type": "library",
2890 | "extra": {
2891 | "branch-alias": {
2892 | "dev-master": "2.7-dev"
2893 | }
2894 | },
2895 | "autoload": {
2896 | "psr-4": {
2897 | "Symfony\\Component\\Yaml\\": ""
2898 | }
2899 | },
2900 | "notification-url": "https://packagist.org/downloads/",
2901 | "license": [
2902 | "MIT"
2903 | ],
2904 | "authors": [
2905 | {
2906 | "name": "Fabien Potencier",
2907 | "email": "fabien@symfony.com"
2908 | },
2909 | {
2910 | "name": "Symfony Community",
2911 | "homepage": "https://symfony.com/contributors"
2912 | }
2913 | ],
2914 | "description": "Symfony Yaml Component",
2915 | "homepage": "https://symfony.com",
2916 | "time": "2015-08-24 07:13:45"
2917 | }
2918 | ],
2919 | "aliases": [],
2920 | "minimum-stability": "stable",
2921 | "stability-flags": [],
2922 | "prefer-stable": false,
2923 | "prefer-lowest": false,
2924 | "platform": {
2925 | "php": ">=5.5.9"
2926 | },
2927 | "platform-dev": []
2928 | }
2929 |
--------------------------------------------------------------------------------