├── database ├── migrations │ ├── .gitkeep │ └── 2016_04_24_071439_create_numbers_table.php ├── seeds │ └── DatabaseSeeder.php └── factories │ └── ModelFactory.php ├── resources └── views │ ├── .gitkeep │ └── home.php ├── app ├── Console │ ├── Commands │ │ ├── .gitkeep │ │ └── TwilioSetup.php │ └── Kernel.php ├── Events │ ├── Event.php │ ├── ExampleEvent.php │ ├── LongPolling.php │ ├── NumberVerified.php │ ├── AbstractNumberEvent.php │ └── ServerSentEvents.php ├── Http │ ├── Controllers │ │ ├── Controller.php │ │ └── ExampleController.php │ ├── Middleware │ │ ├── ExampleMiddleware.php │ │ └── Authenticate.php │ └── routes.php ├── Providers │ ├── AppServiceProvider.php │ ├── EventServiceProvider.php │ └── AuthServiceProvider.php ├── Jobs │ ├── ExampleJob.php │ └── Job.php ├── Models │ └── TwilioNumber.php ├── Listeners │ ├── ExampleListener.php │ ├── SendVerifiedStatus.php │ └── ExpiredVerification.php ├── GeoIp.php ├── TwilioStatus.php ├── Exceptions │ └── Handler.php └── PhoneValidation.php ├── storage ├── app │ └── .gitignore ├── logs │ └── .gitignore └── framework │ └── views │ └── .gitignore ├── .gitignore ├── .env.example ├── public ├── app │ ├── main.ts │ └── app.component.ts ├── typings.json ├── tsconfig.json ├── .htaccess ├── package.json ├── index.php └── style.css ├── tests ├── TestCase.php └── ExampleTest.php ├── composer.json ├── phpunit.xml ├── artisan ├── readme.md ├── bootstrap └── app.php └── composer.lock /database/migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/views/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/Console/Commands/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | .env 3 | /node_modules 4 | /public/typings 5 | /public/etc 6 | /public/node_modules 7 | /public/app/*.js 8 | /public/app/*.js.map 9 | /database/*.sqlite -------------------------------------------------------------------------------- /app/Events/Event.php: -------------------------------------------------------------------------------- 1 | call('UserTableSeeder'); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/Events/LongPolling.php: -------------------------------------------------------------------------------- 1 | number; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/Events/NumberVerified.php: -------------------------------------------------------------------------------- 1 | get('/'); 15 | 16 | $this->assertEquals( 17 | $this->response->getContent(), $this->app->version() 18 | ); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/Jobs/ExampleJob.php: -------------------------------------------------------------------------------- 1 | lists('number')->all(); 17 | return $numbers[array_rand($numbers)]; 18 | } 19 | } -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /app/Events/AbstractNumberEvent.php: -------------------------------------------------------------------------------- 1 | number = $number; 19 | } 20 | 21 | /** 22 | * Get the broadcast event name. 23 | * 24 | * @return string 25 | */ 26 | abstract public function broadcastAs(); 27 | } 28 | -------------------------------------------------------------------------------- /app/Listeners/ExampleListener.php: -------------------------------------------------------------------------------- 1 | define(App\User::class, function ($faker) { 15 | return [ 16 | 'name' => $faker->name, 17 | 'email' => $faker->email, 18 | ]; 19 | }); 20 | -------------------------------------------------------------------------------- /app/Providers/EventServiceProvider.php: -------------------------------------------------------------------------------- 1 | [ 16 | 'App\Listeners\EventListener', 17 | ], 18 | 'App\Events\NumberVerified' => [ 19 | 'App\Listeners\SendVerifiedStatus', 20 | ], 21 | 'App\Events\LongPolling' => [ 22 | 'App\Listeners\ExpiredVerification' 23 | ] 24 | ]; 25 | } 26 | -------------------------------------------------------------------------------- /app/Console/Kernel.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('number'); 19 | $table->string('sid'); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::drop('TwilioNumber'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /public/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dial2verify-twilio", 3 | "version": "1.0.0", 4 | "scripts": { 5 | "start": "tsc && concurrently \"npm run tsc:w\" ", 6 | "postinstall": "typings install", 7 | "tsc": "tsc", 8 | "tsc:w": "tsc -w", 9 | "typings": "typings" 10 | }, 11 | "license": "ISC", 12 | "dependencies": { 13 | "angular2": "2.0.0-beta.16", 14 | "systemjs": "0.19.26", 15 | "es6-shim": "^0.35.0", 16 | "reflect-metadata": "0.1.2", 17 | "rxjs": "5.0.0-beta.2", 18 | "zone.js": "0.6.12", 19 | "sweetalert2": "~1.3.2", 20 | "event-source-polyfill": "~0.0.7", 21 | "csshake": "~1.5" 22 | }, 23 | "devDependencies": { 24 | "concurrently": "^2.0.0", 25 | "typescript": "^1.8.10", 26 | "typings":"^0.8.1" 27 | } 28 | } -------------------------------------------------------------------------------- /app/Jobs/Job.php: -------------------------------------------------------------------------------- 1 | number; 32 | 33 | $sse = new ServerSentEvents($number); 34 | $sse->send('', 'verified'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/GeoIp.php: -------------------------------------------------------------------------------- 1 | getValidIpAddress())) { 17 | $ip = $clientAddress; 18 | } 19 | 20 | $this->ip = $ip; 21 | } 22 | 23 | public function getCountryCode() 24 | { 25 | if(!$this->isValid()) 26 | return null; 27 | 28 | $client = new Client(['base_uri' => 'https://freegeoip.lwan.ws/json/']); 29 | $response = $client->request('GET', $this->ip); 30 | 31 | $data = json_decode($response->getBody()); 32 | return $data->country_code; 33 | } 34 | 35 | public function isValid() 36 | { 37 | return strpos('192.168.', $this->ip) === FALSE; 38 | } 39 | } -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "laravel/lumen", 3 | "description": "The Laravel Lumen Framework.", 4 | "keywords": ["framework", "laravel", "lumen"], 5 | "license": "MIT", 6 | "type": "project", 7 | "require": { 8 | "php": ">=5.5.9", 9 | "laravel/lumen-framework": "5.2.*", 10 | "vlucas/phpdotenv": "~2.2", 11 | "guzzlehttp/guzzle": "~6.0", 12 | "giggsey/libphonenumber-for-php": "^7.3", 13 | "igorw/event-source": "1.0.*", 14 | "vectorface/whip": "^0.3.1" 15 | }, 16 | "require-dev": { 17 | "fzaninotto/faker": "~1.4", 18 | "phpunit/phpunit": "~4.0" 19 | }, 20 | "autoload": { 21 | "psr-4": { 22 | "App\\": "app/" 23 | } 24 | }, 25 | "autoload-dev": { 26 | "classmap": [ 27 | "tests/", 28 | "database/" 29 | ] 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/ 15 | 16 | 17 | 18 | 19 | app/ 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/Listeners/ExpiredVerification.php: -------------------------------------------------------------------------------- 1 | number; 32 | 33 | if(!Cache::tags($number)->has('verifying')) { 34 | 35 | $sse = new ServerSentEvents($number); 36 | $sse->send('', 'expired'); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/TwilioStatus.php: -------------------------------------------------------------------------------- 1 | instance()->request->all(); 15 | $signature = $request->header('X-Twilio-Signature'); 16 | $url = $request->fullUrl(); 17 | 18 | ksort($data); 19 | foreach($data as $key => $value) 20 | $url .= $key.$value; 21 | 22 | $sha1 = hash_hmac('sha1', $url, $this->getTwilioToken(), true); 23 | $generated_sig = base64_encode($sha1); 24 | 25 | if($generated_sig !== $signature) 26 | throw new Exception("NOT_AUTHORIZED", 401); 27 | 28 | $this->data = $data; 29 | } 30 | 31 | public function getTwilioToken() 32 | { 33 | return getenv('TWILIO_TOKEN'); 34 | } 35 | 36 | public function verifyNumber() 37 | { 38 | PhoneValidation::triggerVerified($this->data['From'], $this->data['To']); 39 | } 40 | } -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | run(); 29 | -------------------------------------------------------------------------------- /app/Events/ServerSentEvents.php: -------------------------------------------------------------------------------- 1 | number = $number; 17 | } 18 | 19 | public function send($message, $event = null) 20 | { 21 | if($event) 22 | Cache::tags($this->number)->put('sse-event', $event, $this->ttl); 23 | 24 | Cache::tags($this->number)->put('sse-message', $message, $this->ttl); 25 | } 26 | 27 | public function output() 28 | { 29 | foreach (Stream::getHeaders() as $name => $value) 30 | { 31 | header("$name: $value"); 32 | } 33 | 34 | $stream = new Stream; 35 | $stream = $stream->event(); 36 | 37 | if(Cache::tags($this->number)->has('sse-event')) 38 | $stream = $stream->setEvent(Cache::tags($this->number)->pull('sse-event')); 39 | 40 | if(Cache::tags($this->number)->has('sse-message')) 41 | $stream->setData(Cache::tags($this->number)->pull('sse-message'))->end()->flush(); 42 | } 43 | } -------------------------------------------------------------------------------- /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 | * @param string|null $guard 34 | * @return mixed 35 | */ 36 | public function handle($request, Closure $next, $guard = null) 37 | { 38 | if ($this->auth->guard($guard)->guest()) { 39 | return response('Unauthorized.', 401); 40 | } 41 | 42 | return $next($request); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /app/Providers/AuthServiceProvider.php: -------------------------------------------------------------------------------- 1 | input('api_token')) { 36 | return User::where('api_token', $request->input('api_token'))->first(); 37 | } 38 | }); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /artisan: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | make( 32 | 'Illuminate\Contracts\Console\Kernel' 33 | ); 34 | 35 | exit($kernel->handle(new ArgvInput, new ConsoleOutput)); 36 | -------------------------------------------------------------------------------- /app/Exceptions/Handler.php: -------------------------------------------------------------------------------- 1 | getCountryCode(); 23 | $phoneUtil = PhoneNumberUtil::getInstance(); 24 | $number_proto = $phoneUtil->parse($number, $country_code); 25 | 26 | $this->number = $number; 27 | $this->phone_util = $phoneUtil; 28 | $this->number_proto = $number_proto; 29 | } 30 | 31 | public function isValid() 32 | { 33 | return $this->phone_util->isValidNumber($this->number_proto); 34 | } 35 | 36 | public function isMobile() 37 | { 38 | return $this->phone_util->getNumberType($this->number_proto) == PhoneNumberType::MOBILE; 39 | } 40 | 41 | public function getValidNumber() 42 | { 43 | return $this->phone_util->format($this->number_proto, PhoneNumberFormat::E164); 44 | } 45 | 46 | public function validate() 47 | { 48 | return $this->isValid() && ((env('MOBILE_ONLY') && $this->isMobile()) || !env('MOBILE_ONLY')); 49 | } 50 | 51 | public function verify($ttl = 1.5) 52 | { 53 | if(!$this->validate()) 54 | throw new Exception("WRONG-FORMAT", 400); 55 | 56 | $valid_number = $this->getValidNumber(); 57 | if(!Cache::tags($valid_number)->has('verifying')) { 58 | 59 | $number_to_dial = TwilioNumber::getRandomNumber(); 60 | Cache::tags($valid_number)->put('verifying', $number_to_dial, $ttl); 61 | 62 | return $number_to_dial; 63 | } 64 | 65 | return Cache::tags($valid_number)->get('verifying'); 66 | } 67 | 68 | public static function triggerVerified($number, $number_to_dial) 69 | { 70 | if(Cache::tags($number)->get('verifying') == $number_to_dial) 71 | Event::fire(new NumberVerified($number)); 72 | } 73 | } -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | ![maintenance-status](https://img.shields.io/badge/maintenance-deprecated-red.svg) 2 | 3 | ### Go to [Version 2.0](https://github.com/natsu90/dial2verify-twilio-2) 4 | 5 | 6 | ## Dial2Verify Twilio 7 | 8 | Phone verification at no cost! 9 | 10 | Well, not really. You still have to pay Twilio for the phone numbers ($1 per month each). 11 | 12 | [![Featured on Hacker News](https://hackerbadge.now.sh/api?id=11652454)](https://news.ycombinator.com/item?id=11652454) 13 | 14 | ### Warning 15 | 16 | A lot of peoples have pointed out that phone number can be spoofed, so this can't be used as a form of secure authentication. More discussions here: https://news.ycombinator.com/item?id=11652454 17 | 18 | ### Idea 19 | 20 | I stumbled this [page](https://www.twilio.com/docs/api/twiml/reject) in Twilio API documentation while working on some other idea. 21 | 22 | > The `` verb rejects an incoming call to your Twilio number without billing you. This is very useful for blocking unwanted calls. 23 | 24 | ![itsfreememe](https://i.kym-cdn.com/entries/icons/original/000/005/169/Screenshot_67.png "It's Free!") 25 | 26 | Noted that Twilio will trigger webhook for any incoming phone call if you set the **Status Callback URL**. So I thought this can be used for phone verification, with no additional cost. 27 | 28 | ### Missed Call Verification 29 | 30 | 1. User send phone number from a web form 31 | 2. We will return a phone number for user to dial 32 | 3. User have to dial the number within 90 seconds, otherwise verification will expired 33 | 34 | ### Demo 35 | 36 | http://dial2verify-twilio.sulai.mn/ 37 | 38 | ### Dependencies 39 | 40 | - PHP >= 5.5.9 41 | - SQLite 42 | - Memcached 43 | 44 | ### Installation 45 | 46 | 1. Copy `.env.sample` content to `.env` 47 | 2. Set the following details, 48 | ``` 49 | TWILIO_SID= 50 | TWILIO_TOKEN= 51 | MOBILE_ONLY=false # set to true if you want to accept verification from mobile number only 52 | APP_URL=http://your-site.com 53 | ``` 54 | 3. `composer install` 55 | 4. `php artisan migrate && php artisan twilio:setup` 56 | 5. `cd public/ && npm install && npm run tsc` 57 | 58 | ### License 59 | 60 | Licensed under the [MIT license](http://opensource.org/licenses/MIT) 61 | -------------------------------------------------------------------------------- /app/Http/routes.php: -------------------------------------------------------------------------------- 1 | get('/', function () use ($app) { 22 | 23 | return view('home', ['version' => $app->version()]); 24 | }); 25 | 26 | // twiml 27 | $app->get('/twiml', function() { 28 | 29 | return response('') 30 | ->header('Content-Type', 'application/xml'); 31 | }); 32 | 33 | // twilio status webhook 34 | $app->post('/status', function(Request $request) { 35 | 36 | try { 37 | 38 | $status = new TwilioStatus($request); 39 | $status->verifyNumber(); 40 | 41 | return response('OK', 200); 42 | 43 | } catch(Exception $e) { 44 | 45 | return response($e->getMessage(), $e->getCode()); 46 | } 47 | }); 48 | 49 | // post number to verify 50 | $app->post('/verify', function(Request $request) { 51 | 52 | $this->validate($request, [ 53 | 54 | 'number' => 'required' 55 | ]); 56 | 57 | $geoip = new GeoIp($request->ip()); 58 | 59 | try { 60 | 61 | $phone_validation = new PhoneValidation($request->input('number'), $geoip); 62 | $number_to_dial = $phone_validation->verify(); 63 | $valid_number = $phone_validation->getValidNumber(); 64 | return response()->json(compact('number_to_dial', 'valid_number')); 65 | 66 | } catch(Exception $e) { 67 | 68 | return response($e->getMessage(), $e->getCode() ?: 400); 69 | } 70 | }); 71 | 72 | // server sent event 73 | $app->get('/events/{number}', function($number) { 74 | 75 | event(new LongPolling($number)); 76 | 77 | $sse = new ServerSentEvents($number); 78 | $sse->output(); 79 | }); 80 | -------------------------------------------------------------------------------- /app/Console/Commands/TwilioSetup.php: -------------------------------------------------------------------------------- 1 | info('Configuring Twilio..'); 45 | 46 | $client = new Client([ 47 | 'base_uri' => sprintf('https://api.twilio.com/2010-04-01/Accounts/%s/', getenv('TWILIO_SID')), 48 | 'auth' => [getenv('TWILIO_SID'), getenv('TWILIO_TOKEN')] 49 | ]); 50 | 51 | $response = $client->request('GET', 'IncomingPhoneNumbers.json'); 52 | 53 | $body = json_decode($response->getBody()); 54 | 55 | TwilioNumber::truncate(); 56 | foreach($body->incoming_phone_numbers as $number) 57 | { 58 | // save to db 59 | TwilioNumber::create([ 60 | 'sid' => $number->sid, 61 | 'number' => $number->phone_number 62 | ]); 63 | 64 | // update twilio 65 | $response = $client->request('POST', sprintf('IncomingPhoneNumbers/%s.json', $number->sid), 66 | [ 67 | 'form_params' => [ 68 | 'VoiceUrl' => getenv('APP_URL') . '/twiml', 69 | 'VoiceMethod' => 'GET', 70 | 'StatusCallback' => getenv('APP_URL') . '/status', 71 | 'StatusCallbackMethod' => 'POST' 72 | ] 73 | ]); 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /public/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import {Component, OnInit} from 'angular2/core'; 2 | import {Http, Headers} from 'angular2/http'; 3 | import 'rxjs/add/operator/map'; 4 | 5 | declare var swal: any; 6 | declare var EventSource: any; 7 | 8 | @Component({ 9 | selector: 'my-app', 10 | template: `
11 |
12 |
13 | 14 |
15 |
16 |
17 |

18 | Verify 19 |

` 20 | }) 21 | 22 | export class AppComponent implements OnInit { 23 | 24 | isError = false; 25 | isVerifyingInput = false; 26 | number = ''; 27 | 28 | constructor(public http: Http) {} 29 | 30 | ngOnInit() { 31 | console.log('ngOnInit'); 32 | } 33 | 34 | verifyNumber() { 35 | 36 | if(!this.number) 37 | return false; 38 | 39 | this.isVerifyingInput = true; 40 | 41 | var headers = new Headers(); 42 | headers.append('Content-Type', 'application/x-www-form-urlencoded'); 43 | this.http.post('/verify', 'number=' + encodeURIComponent(this.number), {headers: headers}) 44 | .map(res => res.json()) 45 | .subscribe( 46 | data => this.onVerifying(data), 47 | err => this.onError(), 48 | () => console.log('What is it doing here?') 49 | ); 50 | } 51 | 52 | onVerifying(data) { 53 | this.isVerifyingInput = false; 54 | this.number = data.valid_number; 55 | this.subscribeEvents(); 56 | swal({ 57 | title: data.number_to_dial, 58 | text: "Dial this number within 90 secs from now to verify", 59 | type: "info", 60 | allowOutsideClick: false, 61 | showConfirmButton: false, 62 | timer: 1.6 * 60 * 1000 63 | }); 64 | } 65 | 66 | onError() { 67 | this.isVerifyingInput = false; 68 | this.isError = true; 69 | var that = this; 70 | setTimeout(function(){ that.isError = false; that.number = ''; }, 500); 71 | } 72 | 73 | subscribeEvents() { 74 | var stream = new EventSource("events/" + this.number); 75 | 76 | stream.addEventListener("message", function(event) { 77 | console.log(event); 78 | }); 79 | 80 | stream.addEventListener("expired", function foo(event) { 81 | swal("Too late..", "Your verification process is expired", "error"); 82 | this.removeEventListener("expired", foo); 83 | stream.close(); 84 | }); 85 | 86 | stream.addEventListener("verified", function foo(event) { 87 | swal("Verified!", "It's seems your number is correct", "success"); 88 | this.removeEventListener("verified", foo); 89 | stream.close(); 90 | }); 91 | } 92 | 93 | onVerified() { 94 | 95 | } 96 | 97 | onExpired() { 98 | 99 | } 100 | } -------------------------------------------------------------------------------- /bootstrap/app.php: -------------------------------------------------------------------------------- 1 | load(); 7 | } catch (Dotenv\Exception\InvalidPathException $e) { 8 | // 9 | } 10 | 11 | /* 12 | |-------------------------------------------------------------------------- 13 | | Create The Application 14 | |-------------------------------------------------------------------------- 15 | | 16 | | Here we will load the environment and create the application instance 17 | | that serves as the central piece of this framework. We'll use this 18 | | application as an "IoC" container and router for this framework. 19 | | 20 | */ 21 | 22 | $app = new Laravel\Lumen\Application( 23 | realpath(__DIR__.'/../') 24 | ); 25 | 26 | $app->withFacades(); 27 | 28 | $app->withEloquent(); 29 | 30 | /* 31 | |-------------------------------------------------------------------------- 32 | | Register Container Bindings 33 | |-------------------------------------------------------------------------- 34 | | 35 | | Now we will register a few bindings in the service container. We will 36 | | register the exception handler and the console kernel. You may add 37 | | your own bindings here if you like or you can make another file. 38 | | 39 | */ 40 | 41 | $app->singleton( 42 | Illuminate\Contracts\Debug\ExceptionHandler::class, 43 | App\Exceptions\Handler::class 44 | ); 45 | 46 | $app->singleton( 47 | Illuminate\Contracts\Console\Kernel::class, 48 | App\Console\Kernel::class 49 | ); 50 | 51 | /* 52 | |-------------------------------------------------------------------------- 53 | | Register Middleware 54 | |-------------------------------------------------------------------------- 55 | | 56 | | Next, we will register the middleware with the application. These can 57 | | be global middleware that run before and after each request into a 58 | | route or middleware that'll be assigned to some specific routes. 59 | | 60 | */ 61 | 62 | // $app->middleware([ 63 | // App\Http\Middleware\ExampleMiddleware::class 64 | // ]); 65 | 66 | // $app->routeMiddleware([ 67 | // 'auth' => App\Http\Middleware\Authenticate::class, 68 | // ]); 69 | 70 | /* 71 | |-------------------------------------------------------------------------- 72 | | Register Service Providers 73 | |-------------------------------------------------------------------------- 74 | | 75 | | Here we will register all of the application's service providers which 76 | | are used to bind services into the container. Service providers are 77 | | totally optional, so you are not required to uncomment this line. 78 | | 79 | */ 80 | 81 | // $app->register(App\Providers\AppServiceProvider::class); 82 | // $app->register(App\Providers\AuthServiceProvider::class); 83 | $app->register(App\Providers\EventServiceProvider::class); 84 | // $app->register('Illuminate\Redis\RedisServiceProvider'); 85 | 86 | if ($app->config->get('database.default') === 'sqlite') { 87 | $path = $app->config->get('database.connections.sqlite.database'); 88 | if (!file_exists($path) && is_dir(dirname($path))) { 89 | touch($path); 90 | } 91 | } 92 | /* 93 | |-------------------------------------------------------------------------- 94 | | Load The Application Routes 95 | |-------------------------------------------------------------------------- 96 | | 97 | | Next we will include the routes file so that they can all be added to 98 | | the application. This will provide all of the URLs the application 99 | | can respond to, as well as the controllers that may handle them. 100 | | 101 | */ 102 | 103 | $app->group(['namespace' => 'App\Http\Controllers'], function ($app) { 104 | require __DIR__.'/../app/Http/routes.php'; 105 | }); 106 | 107 | return $app; 108 | -------------------------------------------------------------------------------- /public/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | -webkit-box-sizing: border-box; 3 | -moz-box-sizing: border-box; 4 | box-sizing: border-box; 5 | } 6 | 7 | /* 8 | * -- BASE STYLES -- 9 | * Most of these are inherited from Base, but I want to change a few. 10 | */ 11 | body { 12 | line-height: 1.7em; 13 | color: #7f8c8d; 14 | font-size: 13px; 15 | } 16 | 17 | h1, 18 | h2, 19 | h3, 20 | h4, 21 | h5, 22 | h6, 23 | label { 24 | color: #34495e; 25 | } 26 | 27 | .pure-img-responsive { 28 | max-width: 100%; 29 | height: auto; 30 | } 31 | 32 | /* 33 | * -- LAYOUT STYLES -- 34 | * These are some useful classes which I will need 35 | */ 36 | .l-box { 37 | padding: 1em; 38 | } 39 | 40 | .l-box-lrg { 41 | padding: 2em; 42 | border-bottom: 1px solid rgba(0,0,0,0.1); 43 | } 44 | 45 | .is-center { 46 | text-align: center; 47 | } 48 | 49 | 50 | 51 | /* 52 | * -- PURE FORM STYLES -- 53 | * Style the form inputs and labels 54 | */ 55 | .pure-form label { 56 | margin: 1em 0 0; 57 | font-weight: bold; 58 | font-size: 100%; 59 | } 60 | 61 | .pure-form input[type] { 62 | border: 2px solid #ddd; 63 | box-shadow: none; 64 | font-size: 100%; 65 | width: 100%; 66 | margin-bottom: 1em; 67 | } 68 | 69 | /* 70 | * -- PURE BUTTON STYLES -- 71 | * I want my pure-button elements to look a little different 72 | */ 73 | .pure-button { 74 | background-color: #1f8dd6; 75 | color: white; 76 | padding: 0.5em 2em; 77 | border-radius: 5px; 78 | } 79 | 80 | a.pure-button-primary { 81 | background: white; 82 | color: #1f8dd6; 83 | border-radius: 5px; 84 | font-size: 120%; 85 | } 86 | 87 | 88 | /* 89 | * -- MENU STYLES -- 90 | * I want to customize how my .pure-menu looks at the top of the page 91 | */ 92 | 93 | .home-menu { 94 | padding: 0.5em; 95 | text-align: center; 96 | box-shadow: 0 1px 1px rgba(0,0,0, 0.10); 97 | } 98 | .home-menu { 99 | background: #2d3e50; 100 | } 101 | .pure-menu.pure-menu-fixed { 102 | /* Fixed menus normally have a border at the bottom. */ 103 | border-bottom: none; 104 | /* I need a higher z-index here because of the scroll-over effect. */ 105 | z-index: 4; 106 | } 107 | 108 | .home-menu .pure-menu-heading { 109 | color: white; 110 | font-weight: 400; 111 | font-size: 120%; 112 | } 113 | 114 | .home-menu .pure-menu-selected a { 115 | color: white; 116 | } 117 | 118 | .home-menu a { 119 | color: #6FBEF3; 120 | } 121 | .home-menu li a:hover, 122 | .home-menu li a:focus { 123 | background: none; 124 | border: none; 125 | color: #AECFE5; 126 | } 127 | 128 | 129 | /* 130 | * -- SPLASH STYLES -- 131 | * This is the blue top section that appears on the page. 132 | */ 133 | 134 | .splash-container { 135 | background: #1f8dd6; 136 | z-index: 1; 137 | overflow: hidden; 138 | /* The following styles are required for the "scroll-over" effect */ 139 | width: 100%; 140 | height: 88%; 141 | top: 0; 142 | left: 0; 143 | position: fixed !important; 144 | } 145 | 146 | .splash { 147 | /* absolute center .splash within .splash-container */ 148 | width: 80%; 149 | height: 50%; 150 | margin: auto; 151 | position: absolute; 152 | top: 100px; left: 0; bottom: 0; right: 0; 153 | text-align: center; 154 | text-transform: uppercase; 155 | } 156 | 157 | /* This is the main heading that appears on the blue section */ 158 | .splash-head { 159 | font-size: 20px; 160 | font-weight: bold; 161 | color: white; 162 | border: 3px solid white; 163 | padding: 1em 1.6em; 164 | font-weight: 100; 165 | border-radius: 5px; 166 | line-height: 1em; 167 | } 168 | 169 | /* This is the subheading that appears on the blue section */ 170 | .splash-subhead { 171 | color: white; 172 | letter-spacing: 0.05em; 173 | opacity: 0.8; 174 | } 175 | 176 | /* 177 | * -- CONTENT STYLES -- 178 | * This represents the content area (everything below the blue section) 179 | */ 180 | .content-wrapper { 181 | /* These styles are required for the "scroll-over" effect */ 182 | position: absolute; 183 | top: 87%; 184 | width: 100%; 185 | min-height: 12%; 186 | z-index: 2; 187 | background: white; 188 | 189 | } 190 | 191 | /* We want to give the content area some more padding */ 192 | .content { 193 | padding: 1em 1em 3em; 194 | } 195 | 196 | /* This is the class used for the main content headers (

) */ 197 | .content-head { 198 | font-weight: 400; 199 | text-transform: uppercase; 200 | letter-spacing: 0.1em; 201 | margin: 2em 0 1em; 202 | } 203 | 204 | /* This is a modifier class used when the content-head is inside a ribbon */ 205 | .content-head-ribbon { 206 | color: white; 207 | } 208 | 209 | /* This is the class used for the content sub-headers (

) */ 210 | .content-subhead { 211 | color: #1f8dd6; 212 | } 213 | .content-subhead i { 214 | margin-right: 7px; 215 | } 216 | 217 | /* This is the class used for the dark-background areas. */ 218 | .ribbon { 219 | background: #2d3e50; 220 | color: #aaa; 221 | } 222 | 223 | /* This is the class used for the footer */ 224 | .footer { 225 | background: #111; 226 | position: fixed; 227 | bottom: 0; 228 | width: 100%; 229 | } 230 | 231 | /* 232 | * -- TABLET (AND UP) MEDIA QUERIES -- 233 | * On tablets and other medium-sized devices, we want to customize some 234 | * of the mobile styles. 235 | */ 236 | @media (min-width: 48em) { 237 | 238 | /* We increase the body font size */ 239 | body { 240 | font-size: 16px; 241 | } 242 | 243 | /* We can align the menu header to the left, but float the 244 | menu items to the right. */ 245 | .home-menu { 246 | text-align: left; 247 | } 248 | .home-menu ul { 249 | float: right; 250 | } 251 | 252 | /* We increase the height of the splash-container */ 253 | /* .splash-container { 254 | height: 500px; 255 | }*/ 256 | 257 | /* We decrease the width of the .splash, since we have more width 258 | to work with */ 259 | .splash { 260 | width: 50%; 261 | height: 50%; 262 | } 263 | 264 | .splash-head { 265 | font-size: 250%; 266 | } 267 | 268 | 269 | /* We remove the border-separator assigned to .l-box-lrg */ 270 | .l-box-lrg { 271 | border: none; 272 | } 273 | 274 | } 275 | 276 | /* 277 | * -- DESKTOP (AND UP) MEDIA QUERIES -- 278 | * On desktops and other large devices, we want to over-ride some 279 | * of the mobile and tablet styles. 280 | */ 281 | @media (min-width: 78em) { 282 | /* We increase the header font size even more */ 283 | .splash-head { 284 | font-size: 300%; 285 | } 286 | } -------------------------------------------------------------------------------- /resources/views/home.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Dial2Verify-Twilio 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 |
41 |
42 | Dial2Verify-Twilio 43 |
44 |
45 | 46 |
47 |
48 | 49 | 50 |

51 | Phone verification at no cost! 52 |

53 | 54 | Loading... 55 |
56 |
57 | 58 |
59 | 62 | 63 |
64 | 65 | Fork me on GitHub 66 | 67 | 80 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /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": "ae960af1f2b1bb01e74ec10622e5812d", 8 | "content-hash": "68adc4658974d9216cd6d530c1d279f2", 9 | "packages": [ 10 | { 11 | "name": "doctrine/inflector", 12 | "version": "v1.1.0", 13 | "source": { 14 | "type": "git", 15 | "url": "https://github.com/doctrine/inflector.git", 16 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" 17 | }, 18 | "dist": { 19 | "type": "zip", 20 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", 21 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", 22 | "shasum": "" 23 | }, 24 | "require": { 25 | "php": ">=5.3.2" 26 | }, 27 | "require-dev": { 28 | "phpunit/phpunit": "4.*" 29 | }, 30 | "type": "library", 31 | "extra": { 32 | "branch-alias": { 33 | "dev-master": "1.1.x-dev" 34 | } 35 | }, 36 | "autoload": { 37 | "psr-0": { 38 | "Doctrine\\Common\\Inflector\\": "lib/" 39 | } 40 | }, 41 | "notification-url": "https://packagist.org/downloads/", 42 | "license": [ 43 | "MIT" 44 | ], 45 | "authors": [ 46 | { 47 | "name": "Roman Borschel", 48 | "email": "roman@code-factory.org" 49 | }, 50 | { 51 | "name": "Benjamin Eberlei", 52 | "email": "kontakt@beberlei.de" 53 | }, 54 | { 55 | "name": "Guilherme Blanco", 56 | "email": "guilhermeblanco@gmail.com" 57 | }, 58 | { 59 | "name": "Jonathan Wage", 60 | "email": "jonwage@gmail.com" 61 | }, 62 | { 63 | "name": "Johannes Schmitt", 64 | "email": "schmittjoh@gmail.com" 65 | } 66 | ], 67 | "description": "Common String Manipulations with regard to casing and singular/plural rules.", 68 | "homepage": "http://www.doctrine-project.org", 69 | "keywords": [ 70 | "inflection", 71 | "pluralize", 72 | "singularize", 73 | "string" 74 | ], 75 | "time": "2015-11-06 14:35:42" 76 | }, 77 | { 78 | "name": "giggsey/libphonenumber-for-php", 79 | "version": "7.3.2", 80 | "source": { 81 | "type": "git", 82 | "url": "https://github.com/giggsey/libphonenumber-for-php.git", 83 | "reference": "0681962d2feba35935d1bd06d3088b548801b76a" 84 | }, 85 | "dist": { 86 | "type": "zip", 87 | "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/0681962d2feba35935d1bd06d3088b548801b76a", 88 | "reference": "0681962d2feba35935d1bd06d3088b548801b76a", 89 | "shasum": "" 90 | }, 91 | "require": { 92 | "ext-mbstring": "*" 93 | }, 94 | "require-dev": { 95 | "pear/pear-core-minimal": "^1.9", 96 | "pear/pear_exception": "^1.0", 97 | "pear/versioncontrol_git": "dev-master", 98 | "phing/phing": "~2.7", 99 | "phpunit/phpunit": "~4.0", 100 | "satooshi/php-coveralls": "~0.6", 101 | "symfony/console": "^2.5" 102 | }, 103 | "suggest": { 104 | "ext-intl": "To use the geocoder and carrier mapping" 105 | }, 106 | "type": "library", 107 | "extra": { 108 | "branch-alias": { 109 | "dev-master": "7.x-dev" 110 | } 111 | }, 112 | "autoload": { 113 | "psr-0": { 114 | "libphonenumber": "src/" 115 | } 116 | }, 117 | "notification-url": "https://packagist.org/downloads/", 118 | "license": [ 119 | "Apache-2.0" 120 | ], 121 | "authors": [ 122 | { 123 | "name": "Joshua Gigg", 124 | "email": "giggsey@gmail.com", 125 | "homepage": "http://giggsey.com/" 126 | } 127 | ], 128 | "description": "PHP Port of Google's libphonenumber", 129 | "homepage": "https://github.com/giggsey/libphonenumber-for-php", 130 | "keywords": [ 131 | "geocoding", 132 | "geolocation", 133 | "libphonenumber", 134 | "mobile", 135 | "phonenumber", 136 | "validation" 137 | ], 138 | "time": "2016-05-04 08:29:21" 139 | }, 140 | { 141 | "name": "guzzlehttp/guzzle", 142 | "version": "6.2.0", 143 | "source": { 144 | "type": "git", 145 | "url": "https://github.com/guzzle/guzzle.git", 146 | "reference": "d094e337976dff9d8e2424e8485872194e768662" 147 | }, 148 | "dist": { 149 | "type": "zip", 150 | "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d094e337976dff9d8e2424e8485872194e768662", 151 | "reference": "d094e337976dff9d8e2424e8485872194e768662", 152 | "shasum": "" 153 | }, 154 | "require": { 155 | "guzzlehttp/promises": "~1.0", 156 | "guzzlehttp/psr7": "~1.1", 157 | "php": ">=5.5.0" 158 | }, 159 | "require-dev": { 160 | "ext-curl": "*", 161 | "phpunit/phpunit": "~4.0", 162 | "psr/log": "~1.0" 163 | }, 164 | "type": "library", 165 | "extra": { 166 | "branch-alias": { 167 | "dev-master": "6.2-dev" 168 | } 169 | }, 170 | "autoload": { 171 | "files": [ 172 | "src/functions_include.php" 173 | ], 174 | "psr-4": { 175 | "GuzzleHttp\\": "src/" 176 | } 177 | }, 178 | "notification-url": "https://packagist.org/downloads/", 179 | "license": [ 180 | "MIT" 181 | ], 182 | "authors": [ 183 | { 184 | "name": "Michael Dowling", 185 | "email": "mtdowling@gmail.com", 186 | "homepage": "https://github.com/mtdowling" 187 | } 188 | ], 189 | "description": "Guzzle is a PHP HTTP client library", 190 | "homepage": "http://guzzlephp.org/", 191 | "keywords": [ 192 | "client", 193 | "curl", 194 | "framework", 195 | "http", 196 | "http client", 197 | "rest", 198 | "web service" 199 | ], 200 | "time": "2016-03-21 20:02:09" 201 | }, 202 | { 203 | "name": "guzzlehttp/promises", 204 | "version": "1.1.0", 205 | "source": { 206 | "type": "git", 207 | "url": "https://github.com/guzzle/promises.git", 208 | "reference": "bb9024c526b22f3fe6ae55a561fd70653d470aa8" 209 | }, 210 | "dist": { 211 | "type": "zip", 212 | "url": "https://api.github.com/repos/guzzle/promises/zipball/bb9024c526b22f3fe6ae55a561fd70653d470aa8", 213 | "reference": "bb9024c526b22f3fe6ae55a561fd70653d470aa8", 214 | "shasum": "" 215 | }, 216 | "require": { 217 | "php": ">=5.5.0" 218 | }, 219 | "require-dev": { 220 | "phpunit/phpunit": "~4.0" 221 | }, 222 | "type": "library", 223 | "extra": { 224 | "branch-alias": { 225 | "dev-master": "1.0-dev" 226 | } 227 | }, 228 | "autoload": { 229 | "psr-4": { 230 | "GuzzleHttp\\Promise\\": "src/" 231 | }, 232 | "files": [ 233 | "src/functions_include.php" 234 | ] 235 | }, 236 | "notification-url": "https://packagist.org/downloads/", 237 | "license": [ 238 | "MIT" 239 | ], 240 | "authors": [ 241 | { 242 | "name": "Michael Dowling", 243 | "email": "mtdowling@gmail.com", 244 | "homepage": "https://github.com/mtdowling" 245 | } 246 | ], 247 | "description": "Guzzle promises library", 248 | "keywords": [ 249 | "promise" 250 | ], 251 | "time": "2016-03-08 01:15:46" 252 | }, 253 | { 254 | "name": "guzzlehttp/psr7", 255 | "version": "1.3.0", 256 | "source": { 257 | "type": "git", 258 | "url": "https://github.com/guzzle/psr7.git", 259 | "reference": "31382fef2889136415751badebbd1cb022a4ed72" 260 | }, 261 | "dist": { 262 | "type": "zip", 263 | "url": "https://api.github.com/repos/guzzle/psr7/zipball/31382fef2889136415751badebbd1cb022a4ed72", 264 | "reference": "31382fef2889136415751badebbd1cb022a4ed72", 265 | "shasum": "" 266 | }, 267 | "require": { 268 | "php": ">=5.4.0", 269 | "psr/http-message": "~1.0" 270 | }, 271 | "provide": { 272 | "psr/http-message-implementation": "1.0" 273 | }, 274 | "require-dev": { 275 | "phpunit/phpunit": "~4.0" 276 | }, 277 | "type": "library", 278 | "extra": { 279 | "branch-alias": { 280 | "dev-master": "1.0-dev" 281 | } 282 | }, 283 | "autoload": { 284 | "psr-4": { 285 | "GuzzleHttp\\Psr7\\": "src/" 286 | }, 287 | "files": [ 288 | "src/functions_include.php" 289 | ] 290 | }, 291 | "notification-url": "https://packagist.org/downloads/", 292 | "license": [ 293 | "MIT" 294 | ], 295 | "authors": [ 296 | { 297 | "name": "Michael Dowling", 298 | "email": "mtdowling@gmail.com", 299 | "homepage": "https://github.com/mtdowling" 300 | } 301 | ], 302 | "description": "PSR-7 message implementation", 303 | "keywords": [ 304 | "http", 305 | "message", 306 | "stream", 307 | "uri" 308 | ], 309 | "time": "2016-04-13 19:56:01" 310 | }, 311 | { 312 | "name": "igorw/event-source", 313 | "version": "v1.0.0", 314 | "source": { 315 | "type": "git", 316 | "url": "https://github.com/igorw/EventSource.git", 317 | "reference": "753dad1f5b49058e87e2a76029d3c9cc9151fdf8" 318 | }, 319 | "dist": { 320 | "type": "zip", 321 | "url": "https://api.github.com/repos/igorw/EventSource/zipball/753dad1f5b49058e87e2a76029d3c9cc9151fdf8", 322 | "reference": "753dad1f5b49058e87e2a76029d3c9cc9151fdf8", 323 | "shasum": "" 324 | }, 325 | "require": { 326 | "php": ">=5.3.0" 327 | }, 328 | "type": "library", 329 | "autoload": { 330 | "psr-0": { 331 | "Igorw\\EventSource": "src" 332 | } 333 | }, 334 | "notification-url": "https://packagist.org/downloads/", 335 | "license": [ 336 | "MIT" 337 | ], 338 | "authors": [ 339 | { 340 | "name": "Igor Wiedler", 341 | "email": "igor@wiedler.ch", 342 | "homepage": "http://wiedler.ch/igor/" 343 | } 344 | ], 345 | "description": "A PHP 5.3 library for creating an EventSource stream.", 346 | "keywords": [ 347 | "event-source", 348 | "real-time", 349 | "server-sent-events" 350 | ], 351 | "time": "2012-07-14 00:02:15" 352 | }, 353 | { 354 | "name": "illuminate/auth", 355 | "version": "v5.2.31", 356 | "source": { 357 | "type": "git", 358 | "url": "https://github.com/illuminate/auth.git", 359 | "reference": "5cfccc709827a1075e643f34e7316835cef29f85" 360 | }, 361 | "dist": { 362 | "type": "zip", 363 | "url": "https://api.github.com/repos/illuminate/auth/zipball/5cfccc709827a1075e643f34e7316835cef29f85", 364 | "reference": "5cfccc709827a1075e643f34e7316835cef29f85", 365 | "shasum": "" 366 | }, 367 | "require": { 368 | "illuminate/contracts": "5.2.*", 369 | "illuminate/http": "5.2.*", 370 | "illuminate/support": "5.2.*", 371 | "nesbot/carbon": "~1.20", 372 | "php": ">=5.5.9" 373 | }, 374 | "suggest": { 375 | "illuminate/console": "Required to use the auth:clear-resets command (5.2.*).", 376 | "illuminate/session": "Required to use the session based guard (5.2.*)" 377 | }, 378 | "type": "library", 379 | "extra": { 380 | "branch-alias": { 381 | "dev-master": "5.2-dev" 382 | } 383 | }, 384 | "autoload": { 385 | "psr-4": { 386 | "Illuminate\\Auth\\": "" 387 | } 388 | }, 389 | "notification-url": "https://packagist.org/downloads/", 390 | "license": [ 391 | "MIT" 392 | ], 393 | "authors": [ 394 | { 395 | "name": "Taylor Otwell", 396 | "email": "taylorotwell@gmail.com" 397 | } 398 | ], 399 | "description": "The Illuminate Auth package.", 400 | "homepage": "http://laravel.com", 401 | "time": "2016-04-22 14:16:36" 402 | }, 403 | { 404 | "name": "illuminate/broadcasting", 405 | "version": "v5.2.31", 406 | "source": { 407 | "type": "git", 408 | "url": "https://github.com/illuminate/broadcasting.git", 409 | "reference": "d7eb39ed7802473094bc75029c4fed55a38d1d24" 410 | }, 411 | "dist": { 412 | "type": "zip", 413 | "url": "https://api.github.com/repos/illuminate/broadcasting/zipball/d7eb39ed7802473094bc75029c4fed55a38d1d24", 414 | "reference": "d7eb39ed7802473094bc75029c4fed55a38d1d24", 415 | "shasum": "" 416 | }, 417 | "require": { 418 | "illuminate/contracts": "5.2.*", 419 | "illuminate/support": "5.2.*", 420 | "php": ">=5.5.9" 421 | }, 422 | "suggest": { 423 | "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0)." 424 | }, 425 | "type": "library", 426 | "extra": { 427 | "branch-alias": { 428 | "dev-master": "5.2-dev" 429 | } 430 | }, 431 | "autoload": { 432 | "psr-4": { 433 | "Illuminate\\Broadcasting\\": "" 434 | } 435 | }, 436 | "notification-url": "https://packagist.org/downloads/", 437 | "license": [ 438 | "MIT" 439 | ], 440 | "authors": [ 441 | { 442 | "name": "Taylor Otwell", 443 | "email": "taylorotwell@gmail.com" 444 | } 445 | ], 446 | "description": "The Illuminate Broadcasting package.", 447 | "homepage": "http://laravel.com", 448 | "time": "2015-12-24 14:23:14" 449 | }, 450 | { 451 | "name": "illuminate/bus", 452 | "version": "v5.2.31", 453 | "source": { 454 | "type": "git", 455 | "url": "https://github.com/illuminate/bus.git", 456 | "reference": "4c45efed0f93e107cd0357d02ac1bbb220b36ba4" 457 | }, 458 | "dist": { 459 | "type": "zip", 460 | "url": "https://api.github.com/repos/illuminate/bus/zipball/4c45efed0f93e107cd0357d02ac1bbb220b36ba4", 461 | "reference": "4c45efed0f93e107cd0357d02ac1bbb220b36ba4", 462 | "shasum": "" 463 | }, 464 | "require": { 465 | "illuminate/contracts": "5.2.*", 466 | "illuminate/pipeline": "5.2.*", 467 | "illuminate/support": "5.2.*", 468 | "php": ">=5.5.9" 469 | }, 470 | "type": "library", 471 | "extra": { 472 | "branch-alias": { 473 | "dev-master": "5.2-dev" 474 | } 475 | }, 476 | "autoload": { 477 | "psr-4": { 478 | "Illuminate\\Bus\\": "" 479 | } 480 | }, 481 | "notification-url": "https://packagist.org/downloads/", 482 | "license": [ 483 | "MIT" 484 | ], 485 | "authors": [ 486 | { 487 | "name": "Taylor Otwell", 488 | "email": "taylorotwell@gmail.com" 489 | } 490 | ], 491 | "description": "The Illuminate Bus package.", 492 | "homepage": "http://laravel.com", 493 | "time": "2015-12-05 22:11:33" 494 | }, 495 | { 496 | "name": "illuminate/cache", 497 | "version": "v5.2.31", 498 | "source": { 499 | "type": "git", 500 | "url": "https://github.com/illuminate/cache.git", 501 | "reference": "82b37c66bc237e461e4a0039c8c6de3d328fc32a" 502 | }, 503 | "dist": { 504 | "type": "zip", 505 | "url": "https://api.github.com/repos/illuminate/cache/zipball/82b37c66bc237e461e4a0039c8c6de3d328fc32a", 506 | "reference": "82b37c66bc237e461e4a0039c8c6de3d328fc32a", 507 | "shasum": "" 508 | }, 509 | "require": { 510 | "illuminate/contracts": "5.2.*", 511 | "illuminate/support": "5.2.*", 512 | "nesbot/carbon": "~1.20", 513 | "php": ">=5.5.9" 514 | }, 515 | "suggest": { 516 | "illuminate/database": "Required to use the database cache driver (5.2.*).", 517 | "illuminate/filesystem": "Required to use the file cache driver (5.2.*).", 518 | "illuminate/redis": "Required to use the redis cache driver (5.2.*)." 519 | }, 520 | "type": "library", 521 | "extra": { 522 | "branch-alias": { 523 | "dev-master": "5.2-dev" 524 | } 525 | }, 526 | "autoload": { 527 | "psr-4": { 528 | "Illuminate\\Cache\\": "" 529 | } 530 | }, 531 | "notification-url": "https://packagist.org/downloads/", 532 | "license": [ 533 | "MIT" 534 | ], 535 | "authors": [ 536 | { 537 | "name": "Taylor Otwell", 538 | "email": "taylorotwell@gmail.com" 539 | } 540 | ], 541 | "description": "The Illuminate Cache package.", 542 | "homepage": "http://laravel.com", 543 | "time": "2016-04-25 01:12:38" 544 | }, 545 | { 546 | "name": "illuminate/config", 547 | "version": "v5.2.31", 548 | "source": { 549 | "type": "git", 550 | "url": "https://github.com/illuminate/config.git", 551 | "reference": "29d25fa086eac092a54859b3cbf7580299fc101e" 552 | }, 553 | "dist": { 554 | "type": "zip", 555 | "url": "https://api.github.com/repos/illuminate/config/zipball/29d25fa086eac092a54859b3cbf7580299fc101e", 556 | "reference": "29d25fa086eac092a54859b3cbf7580299fc101e", 557 | "shasum": "" 558 | }, 559 | "require": { 560 | "illuminate/contracts": "5.2.*", 561 | "illuminate/filesystem": "5.2.*", 562 | "illuminate/support": "5.2.*", 563 | "php": ">=5.5.9" 564 | }, 565 | "type": "library", 566 | "extra": { 567 | "branch-alias": { 568 | "dev-master": "5.2-dev" 569 | } 570 | }, 571 | "autoload": { 572 | "psr-4": { 573 | "Illuminate\\Config\\": "" 574 | } 575 | }, 576 | "notification-url": "https://packagist.org/downloads/", 577 | "license": [ 578 | "MIT" 579 | ], 580 | "authors": [ 581 | { 582 | "name": "Taylor Otwell", 583 | "email": "taylorotwell@gmail.com" 584 | } 585 | ], 586 | "description": "The Illuminate Config package.", 587 | "homepage": "http://laravel.com", 588 | "time": "2015-06-22 20:36:58" 589 | }, 590 | { 591 | "name": "illuminate/console", 592 | "version": "v5.2.31", 593 | "source": { 594 | "type": "git", 595 | "url": "https://github.com/illuminate/console.git", 596 | "reference": "f7b875b4ec04890a892d7889a334b5d0a91bda86" 597 | }, 598 | "dist": { 599 | "type": "zip", 600 | "url": "https://api.github.com/repos/illuminate/console/zipball/f7b875b4ec04890a892d7889a334b5d0a91bda86", 601 | "reference": "f7b875b4ec04890a892d7889a334b5d0a91bda86", 602 | "shasum": "" 603 | }, 604 | "require": { 605 | "illuminate/contracts": "5.2.*", 606 | "illuminate/support": "5.2.*", 607 | "nesbot/carbon": "~1.20", 608 | "php": ">=5.5.9", 609 | "symfony/console": "2.8.*|3.0.*" 610 | }, 611 | "suggest": { 612 | "guzzlehttp/guzzle": "Required to use the ping methods on schedules (~5.3|~6.0).", 613 | "mtdowling/cron-expression": "Required to use scheduling component (~1.0).", 614 | "symfony/process": "Required to use scheduling component (2.8.*|3.0.*)." 615 | }, 616 | "type": "library", 617 | "extra": { 618 | "branch-alias": { 619 | "dev-master": "5.2-dev" 620 | } 621 | }, 622 | "autoload": { 623 | "psr-4": { 624 | "Illuminate\\Console\\": "" 625 | } 626 | }, 627 | "notification-url": "https://packagist.org/downloads/", 628 | "license": [ 629 | "MIT" 630 | ], 631 | "authors": [ 632 | { 633 | "name": "Taylor Otwell", 634 | "email": "taylorotwell@gmail.com" 635 | } 636 | ], 637 | "description": "The Illuminate Console package.", 638 | "homepage": "http://laravel.com", 639 | "time": "2016-04-19 19:11:52" 640 | }, 641 | { 642 | "name": "illuminate/container", 643 | "version": "v5.2.31", 644 | "source": { 645 | "type": "git", 646 | "url": "https://github.com/illuminate/container.git", 647 | "reference": "1e156f8017490f5583ab161030bf839c77c95e54" 648 | }, 649 | "dist": { 650 | "type": "zip", 651 | "url": "https://api.github.com/repos/illuminate/container/zipball/1e156f8017490f5583ab161030bf839c77c95e54", 652 | "reference": "1e156f8017490f5583ab161030bf839c77c95e54", 653 | "shasum": "" 654 | }, 655 | "require": { 656 | "illuminate/contracts": "5.2.*", 657 | "php": ">=5.5.9" 658 | }, 659 | "type": "library", 660 | "extra": { 661 | "branch-alias": { 662 | "dev-master": "5.2-dev" 663 | } 664 | }, 665 | "autoload": { 666 | "psr-4": { 667 | "Illuminate\\Container\\": "" 668 | } 669 | }, 670 | "notification-url": "https://packagist.org/downloads/", 671 | "license": [ 672 | "MIT" 673 | ], 674 | "authors": [ 675 | { 676 | "name": "Taylor Otwell", 677 | "email": "taylorotwell@gmail.com" 678 | } 679 | ], 680 | "description": "The Illuminate Container package.", 681 | "homepage": "http://laravel.com", 682 | "time": "2016-03-16 17:19:17" 683 | }, 684 | { 685 | "name": "illuminate/contracts", 686 | "version": "v5.2.31", 687 | "source": { 688 | "type": "git", 689 | "url": "https://github.com/illuminate/contracts.git", 690 | "reference": "411b851962c211078ade7664a6976e77a78cd2a5" 691 | }, 692 | "dist": { 693 | "type": "zip", 694 | "url": "https://api.github.com/repos/illuminate/contracts/zipball/411b851962c211078ade7664a6976e77a78cd2a5", 695 | "reference": "411b851962c211078ade7664a6976e77a78cd2a5", 696 | "shasum": "" 697 | }, 698 | "require": { 699 | "php": ">=5.5.9" 700 | }, 701 | "type": "library", 702 | "extra": { 703 | "branch-alias": { 704 | "dev-master": "5.2-dev" 705 | } 706 | }, 707 | "autoload": { 708 | "psr-4": { 709 | "Illuminate\\Contracts\\": "" 710 | } 711 | }, 712 | "notification-url": "https://packagist.org/downloads/", 713 | "license": [ 714 | "MIT" 715 | ], 716 | "authors": [ 717 | { 718 | "name": "Taylor Otwell", 719 | "email": "taylorotwell@gmail.com" 720 | } 721 | ], 722 | "description": "The Illuminate Contracts package.", 723 | "homepage": "http://laravel.com", 724 | "time": "2016-03-07 20:37:17" 725 | }, 726 | { 727 | "name": "illuminate/database", 728 | "version": "v5.2.31", 729 | "source": { 730 | "type": "git", 731 | "url": "https://github.com/illuminate/database.git", 732 | "reference": "becc003759a0b028a237a8c5d2aeb550077d42fd" 733 | }, 734 | "dist": { 735 | "type": "zip", 736 | "url": "https://api.github.com/repos/illuminate/database/zipball/becc003759a0b028a237a8c5d2aeb550077d42fd", 737 | "reference": "becc003759a0b028a237a8c5d2aeb550077d42fd", 738 | "shasum": "" 739 | }, 740 | "require": { 741 | "illuminate/container": "5.2.*", 742 | "illuminate/contracts": "5.2.*", 743 | "illuminate/support": "5.2.*", 744 | "nesbot/carbon": "~1.20", 745 | "php": ">=5.5.9" 746 | }, 747 | "suggest": { 748 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).", 749 | "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).", 750 | "illuminate/console": "Required to use the database commands (5.2.*).", 751 | "illuminate/events": "Required to use the observers with Eloquent (5.2.*).", 752 | "illuminate/filesystem": "Required to use the migrations (5.2.*).", 753 | "illuminate/pagination": "Required to paginate the result set (5.2.*)." 754 | }, 755 | "type": "library", 756 | "extra": { 757 | "branch-alias": { 758 | "dev-master": "5.2-dev" 759 | } 760 | }, 761 | "autoload": { 762 | "psr-4": { 763 | "Illuminate\\Database\\": "" 764 | } 765 | }, 766 | "notification-url": "https://packagist.org/downloads/", 767 | "license": [ 768 | "MIT" 769 | ], 770 | "authors": [ 771 | { 772 | "name": "Taylor Otwell", 773 | "email": "taylorotwell@gmail.com" 774 | } 775 | ], 776 | "description": "The Illuminate Database package.", 777 | "homepage": "http://laravel.com", 778 | "keywords": [ 779 | "database", 780 | "laravel", 781 | "orm", 782 | "sql" 783 | ], 784 | "time": "2016-04-27 12:59:09" 785 | }, 786 | { 787 | "name": "illuminate/encryption", 788 | "version": "v5.2.31", 789 | "source": { 790 | "type": "git", 791 | "url": "https://github.com/illuminate/encryption.git", 792 | "reference": "bd76d4c6b5a2cddbd47ae0b70518613086b2f410" 793 | }, 794 | "dist": { 795 | "type": "zip", 796 | "url": "https://api.github.com/repos/illuminate/encryption/zipball/bd76d4c6b5a2cddbd47ae0b70518613086b2f410", 797 | "reference": "bd76d4c6b5a2cddbd47ae0b70518613086b2f410", 798 | "shasum": "" 799 | }, 800 | "require": { 801 | "ext-mbstring": "*", 802 | "ext-openssl": "*", 803 | "illuminate/contracts": "5.2.*", 804 | "illuminate/support": "5.2.*", 805 | "paragonie/random_compat": "~1.4", 806 | "php": ">=5.5.9" 807 | }, 808 | "type": "library", 809 | "extra": { 810 | "branch-alias": { 811 | "dev-master": "5.2-dev" 812 | } 813 | }, 814 | "autoload": { 815 | "psr-4": { 816 | "Illuminate\\Encryption\\": "" 817 | } 818 | }, 819 | "notification-url": "https://packagist.org/downloads/", 820 | "license": [ 821 | "MIT" 822 | ], 823 | "authors": [ 824 | { 825 | "name": "Taylor Otwell", 826 | "email": "taylorotwell@gmail.com" 827 | } 828 | ], 829 | "description": "The Illuminate Encryption package.", 830 | "homepage": "http://laravel.com", 831 | "time": "2016-04-25 01:08:38" 832 | }, 833 | { 834 | "name": "illuminate/events", 835 | "version": "v5.2.31", 836 | "source": { 837 | "type": "git", 838 | "url": "https://github.com/illuminate/events.git", 839 | "reference": "5a5e5d72bf3a2d01d8b15e89440026a60bc4a81b" 840 | }, 841 | "dist": { 842 | "type": "zip", 843 | "url": "https://api.github.com/repos/illuminate/events/zipball/5a5e5d72bf3a2d01d8b15e89440026a60bc4a81b", 844 | "reference": "5a5e5d72bf3a2d01d8b15e89440026a60bc4a81b", 845 | "shasum": "" 846 | }, 847 | "require": { 848 | "illuminate/container": "5.2.*", 849 | "illuminate/contracts": "5.2.*", 850 | "illuminate/support": "5.2.*", 851 | "php": ">=5.5.9" 852 | }, 853 | "type": "library", 854 | "extra": { 855 | "branch-alias": { 856 | "dev-master": "5.2-dev" 857 | } 858 | }, 859 | "autoload": { 860 | "psr-4": { 861 | "Illuminate\\Events\\": "" 862 | } 863 | }, 864 | "notification-url": "https://packagist.org/downloads/", 865 | "license": [ 866 | "MIT" 867 | ], 868 | "authors": [ 869 | { 870 | "name": "Taylor Otwell", 871 | "email": "taylorotwell@gmail.com" 872 | } 873 | ], 874 | "description": "The Illuminate Events package.", 875 | "homepage": "http://laravel.com", 876 | "time": "2016-01-01 01:00:19" 877 | }, 878 | { 879 | "name": "illuminate/filesystem", 880 | "version": "v5.2.31", 881 | "source": { 882 | "type": "git", 883 | "url": "https://github.com/illuminate/filesystem.git", 884 | "reference": "d525dc659f24e943dc1d0fecc713825039ec2f67" 885 | }, 886 | "dist": { 887 | "type": "zip", 888 | "url": "https://api.github.com/repos/illuminate/filesystem/zipball/d525dc659f24e943dc1d0fecc713825039ec2f67", 889 | "reference": "d525dc659f24e943dc1d0fecc713825039ec2f67", 890 | "shasum": "" 891 | }, 892 | "require": { 893 | "illuminate/contracts": "5.2.*", 894 | "illuminate/support": "5.2.*", 895 | "php": ">=5.5.9", 896 | "symfony/finder": "2.8.*|3.0.*" 897 | }, 898 | "suggest": { 899 | "league/flysystem": "Required to use the Flysystem local and FTP drivers (~1.0).", 900 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).", 901 | "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0)." 902 | }, 903 | "type": "library", 904 | "extra": { 905 | "branch-alias": { 906 | "dev-master": "5.2-dev" 907 | } 908 | }, 909 | "autoload": { 910 | "psr-4": { 911 | "Illuminate\\Filesystem\\": "" 912 | } 913 | }, 914 | "notification-url": "https://packagist.org/downloads/", 915 | "license": [ 916 | "MIT" 917 | ], 918 | "authors": [ 919 | { 920 | "name": "Taylor Otwell", 921 | "email": "taylorotwell@gmail.com" 922 | } 923 | ], 924 | "description": "The Illuminate Filesystem package.", 925 | "homepage": "http://laravel.com", 926 | "time": "2016-04-11 13:54:32" 927 | }, 928 | { 929 | "name": "illuminate/hashing", 930 | "version": "v5.2.31", 931 | "source": { 932 | "type": "git", 933 | "url": "https://github.com/illuminate/hashing.git", 934 | "reference": "be191f14432c801d15a4865a52c70f30aeb0212c" 935 | }, 936 | "dist": { 937 | "type": "zip", 938 | "url": "https://api.github.com/repos/illuminate/hashing/zipball/be191f14432c801d15a4865a52c70f30aeb0212c", 939 | "reference": "be191f14432c801d15a4865a52c70f30aeb0212c", 940 | "shasum": "" 941 | }, 942 | "require": { 943 | "illuminate/contracts": "5.2.*", 944 | "illuminate/support": "5.2.*", 945 | "php": ">=5.5.9" 946 | }, 947 | "type": "library", 948 | "extra": { 949 | "branch-alias": { 950 | "dev-master": "5.2-dev" 951 | } 952 | }, 953 | "autoload": { 954 | "psr-4": { 955 | "Illuminate\\Hashing\\": "" 956 | } 957 | }, 958 | "notification-url": "https://packagist.org/downloads/", 959 | "license": [ 960 | "MIT" 961 | ], 962 | "authors": [ 963 | { 964 | "name": "Taylor Otwell", 965 | "email": "taylorotwell@gmail.com" 966 | } 967 | ], 968 | "description": "The Illuminate Hashing package.", 969 | "homepage": "http://laravel.com", 970 | "time": "2015-11-30 19:26:21" 971 | }, 972 | { 973 | "name": "illuminate/http", 974 | "version": "v5.2.31", 975 | "source": { 976 | "type": "git", 977 | "url": "https://github.com/illuminate/http.git", 978 | "reference": "32a36e6ac2f411a923a11d79bb4ecb5339c8e56d" 979 | }, 980 | "dist": { 981 | "type": "zip", 982 | "url": "https://api.github.com/repos/illuminate/http/zipball/32a36e6ac2f411a923a11d79bb4ecb5339c8e56d", 983 | "reference": "32a36e6ac2f411a923a11d79bb4ecb5339c8e56d", 984 | "shasum": "" 985 | }, 986 | "require": { 987 | "illuminate/session": "5.2.*", 988 | "illuminate/support": "5.2.*", 989 | "php": ">=5.5.9", 990 | "symfony/http-foundation": "2.8.*|3.0.*", 991 | "symfony/http-kernel": "2.8.*|3.0.*" 992 | }, 993 | "type": "library", 994 | "extra": { 995 | "branch-alias": { 996 | "dev-master": "5.2-dev" 997 | } 998 | }, 999 | "autoload": { 1000 | "psr-4": { 1001 | "Illuminate\\Http\\": "" 1002 | } 1003 | }, 1004 | "notification-url": "https://packagist.org/downloads/", 1005 | "license": [ 1006 | "MIT" 1007 | ], 1008 | "authors": [ 1009 | { 1010 | "name": "Taylor Otwell", 1011 | "email": "taylorotwell@gmail.com" 1012 | } 1013 | ], 1014 | "description": "The Illuminate Http package.", 1015 | "homepage": "http://laravel.com", 1016 | "time": "2016-04-23 02:17:00" 1017 | }, 1018 | { 1019 | "name": "illuminate/pagination", 1020 | "version": "v5.2.31", 1021 | "source": { 1022 | "type": "git", 1023 | "url": "https://github.com/illuminate/pagination.git", 1024 | "reference": "4f98bbdc05a0ab11e29f33f9962062f0c1320ca5" 1025 | }, 1026 | "dist": { 1027 | "type": "zip", 1028 | "url": "https://api.github.com/repos/illuminate/pagination/zipball/4f98bbdc05a0ab11e29f33f9962062f0c1320ca5", 1029 | "reference": "4f98bbdc05a0ab11e29f33f9962062f0c1320ca5", 1030 | "shasum": "" 1031 | }, 1032 | "require": { 1033 | "illuminate/contracts": "5.2.*", 1034 | "illuminate/support": "5.2.*", 1035 | "php": ">=5.5.9" 1036 | }, 1037 | "type": "library", 1038 | "extra": { 1039 | "branch-alias": { 1040 | "dev-master": "5.2-dev" 1041 | } 1042 | }, 1043 | "autoload": { 1044 | "psr-4": { 1045 | "Illuminate\\Pagination\\": "" 1046 | } 1047 | }, 1048 | "notification-url": "https://packagist.org/downloads/", 1049 | "license": [ 1050 | "MIT" 1051 | ], 1052 | "authors": [ 1053 | { 1054 | "name": "Taylor Otwell", 1055 | "email": "taylorotwell@gmail.com" 1056 | } 1057 | ], 1058 | "description": "The Illuminate Pagination package.", 1059 | "homepage": "http://laravel.com", 1060 | "time": "2016-03-15 19:15:44" 1061 | }, 1062 | { 1063 | "name": "illuminate/pipeline", 1064 | "version": "v5.2.31", 1065 | "source": { 1066 | "type": "git", 1067 | "url": "https://github.com/illuminate/pipeline.git", 1068 | "reference": "0c97454ca225d35e530f94624654b1a25577cb1c" 1069 | }, 1070 | "dist": { 1071 | "type": "zip", 1072 | "url": "https://api.github.com/repos/illuminate/pipeline/zipball/0c97454ca225d35e530f94624654b1a25577cb1c", 1073 | "reference": "0c97454ca225d35e530f94624654b1a25577cb1c", 1074 | "shasum": "" 1075 | }, 1076 | "require": { 1077 | "illuminate/contracts": "5.2.*", 1078 | "illuminate/support": "5.2.*", 1079 | "php": ">=5.5.9" 1080 | }, 1081 | "type": "library", 1082 | "extra": { 1083 | "branch-alias": { 1084 | "dev-master": "5.2-dev" 1085 | } 1086 | }, 1087 | "autoload": { 1088 | "psr-4": { 1089 | "Illuminate\\Pipeline\\": "" 1090 | } 1091 | }, 1092 | "notification-url": "https://packagist.org/downloads/", 1093 | "license": [ 1094 | "MIT" 1095 | ], 1096 | "authors": [ 1097 | { 1098 | "name": "Taylor Otwell", 1099 | "email": "taylorotwell@gmail.com" 1100 | } 1101 | ], 1102 | "description": "The Illuminate Pipeline package.", 1103 | "homepage": "http://laravel.com", 1104 | "time": "2016-04-08 04:24:31" 1105 | }, 1106 | { 1107 | "name": "illuminate/queue", 1108 | "version": "v5.2.31", 1109 | "source": { 1110 | "type": "git", 1111 | "url": "https://github.com/illuminate/queue.git", 1112 | "reference": "a735c093e682984f8e041656480cbed295ec9de3" 1113 | }, 1114 | "dist": { 1115 | "type": "zip", 1116 | "url": "https://api.github.com/repos/illuminate/queue/zipball/a735c093e682984f8e041656480cbed295ec9de3", 1117 | "reference": "a735c093e682984f8e041656480cbed295ec9de3", 1118 | "shasum": "" 1119 | }, 1120 | "require": { 1121 | "illuminate/console": "5.2.*", 1122 | "illuminate/container": "5.2.*", 1123 | "illuminate/contracts": "5.2.*", 1124 | "illuminate/support": "5.2.*", 1125 | "nesbot/carbon": "~1.20", 1126 | "php": ">=5.5.9", 1127 | "symfony/debug": "2.8.*|3.0.*", 1128 | "symfony/process": "2.8.*|3.0.*" 1129 | }, 1130 | "suggest": { 1131 | "aws/aws-sdk-php": "Required to use the SQS queue driver (~3.0).", 1132 | "illuminate/redis": "Required to use the Redis queue driver (5.2.*).", 1133 | "pda/pheanstalk": "Required to use the Beanstalk queue driver (~3.0)." 1134 | }, 1135 | "type": "library", 1136 | "extra": { 1137 | "branch-alias": { 1138 | "dev-master": "5.2-dev" 1139 | } 1140 | }, 1141 | "autoload": { 1142 | "psr-4": { 1143 | "Illuminate\\Queue\\": "" 1144 | }, 1145 | "classmap": [ 1146 | "IlluminateQueueClosure.php" 1147 | ] 1148 | }, 1149 | "notification-url": "https://packagist.org/downloads/", 1150 | "license": [ 1151 | "MIT" 1152 | ], 1153 | "authors": [ 1154 | { 1155 | "name": "Taylor Otwell", 1156 | "email": "taylorotwell@gmail.com" 1157 | } 1158 | ], 1159 | "description": "The Illuminate Queue package.", 1160 | "homepage": "http://laravel.com", 1161 | "time": "2016-04-16 12:14:41" 1162 | }, 1163 | { 1164 | "name": "illuminate/session", 1165 | "version": "v5.2.31", 1166 | "source": { 1167 | "type": "git", 1168 | "url": "https://github.com/illuminate/session.git", 1169 | "reference": "bd1e5729b6791dd8c91eec155bbfa06d465ea235" 1170 | }, 1171 | "dist": { 1172 | "type": "zip", 1173 | "url": "https://api.github.com/repos/illuminate/session/zipball/bd1e5729b6791dd8c91eec155bbfa06d465ea235", 1174 | "reference": "bd1e5729b6791dd8c91eec155bbfa06d465ea235", 1175 | "shasum": "" 1176 | }, 1177 | "require": { 1178 | "illuminate/contracts": "5.2.*", 1179 | "illuminate/support": "5.2.*", 1180 | "nesbot/carbon": "~1.20", 1181 | "php": ">=5.5.9", 1182 | "symfony/finder": "2.8.*|3.0.*", 1183 | "symfony/http-foundation": "2.8.*|3.0.*" 1184 | }, 1185 | "suggest": { 1186 | "illuminate/console": "Required to use the session:table command (5.2.*)." 1187 | }, 1188 | "type": "library", 1189 | "extra": { 1190 | "branch-alias": { 1191 | "dev-master": "5.2-dev" 1192 | } 1193 | }, 1194 | "autoload": { 1195 | "psr-4": { 1196 | "Illuminate\\Session\\": "" 1197 | } 1198 | }, 1199 | "notification-url": "https://packagist.org/downloads/", 1200 | "license": [ 1201 | "MIT" 1202 | ], 1203 | "authors": [ 1204 | { 1205 | "name": "Taylor Otwell", 1206 | "email": "taylorotwell@gmail.com" 1207 | } 1208 | ], 1209 | "description": "The Illuminate Session package.", 1210 | "homepage": "http://laravel.com", 1211 | "time": "2016-04-07 02:32:40" 1212 | }, 1213 | { 1214 | "name": "illuminate/support", 1215 | "version": "v5.2.31", 1216 | "source": { 1217 | "type": "git", 1218 | "url": "https://github.com/illuminate/support.git", 1219 | "reference": "cb5b004610baabe6b4bf532e6e4ff9eaca5eb25b" 1220 | }, 1221 | "dist": { 1222 | "type": "zip", 1223 | "url": "https://api.github.com/repos/illuminate/support/zipball/cb5b004610baabe6b4bf532e6e4ff9eaca5eb25b", 1224 | "reference": "cb5b004610baabe6b4bf532e6e4ff9eaca5eb25b", 1225 | "shasum": "" 1226 | }, 1227 | "require": { 1228 | "doctrine/inflector": "~1.0", 1229 | "ext-mbstring": "*", 1230 | "illuminate/contracts": "5.2.*", 1231 | "paragonie/random_compat": "~1.4", 1232 | "php": ">=5.5.9" 1233 | }, 1234 | "suggest": { 1235 | "illuminate/filesystem": "Required to use the composer class (5.2.*).", 1236 | "jeremeamia/superclosure": "Required to be able to serialize closures (~2.2).", 1237 | "symfony/polyfill-php56": "Required to use the hash_equals function on PHP 5.5 (~1.0).", 1238 | "symfony/process": "Required to use the composer class (2.8.*|3.0.*).", 1239 | "symfony/var-dumper": "Improves the dd function (2.8.*|3.0.*)." 1240 | }, 1241 | "type": "library", 1242 | "extra": { 1243 | "branch-alias": { 1244 | "dev-master": "5.2-dev" 1245 | } 1246 | }, 1247 | "autoload": { 1248 | "psr-4": { 1249 | "Illuminate\\Support\\": "" 1250 | }, 1251 | "files": [ 1252 | "helpers.php" 1253 | ] 1254 | }, 1255 | "notification-url": "https://packagist.org/downloads/", 1256 | "license": [ 1257 | "MIT" 1258 | ], 1259 | "authors": [ 1260 | { 1261 | "name": "Taylor Otwell", 1262 | "email": "taylorotwell@gmail.com" 1263 | } 1264 | ], 1265 | "description": "The Illuminate Support package.", 1266 | "homepage": "http://laravel.com", 1267 | "time": "2016-04-21 13:28:36" 1268 | }, 1269 | { 1270 | "name": "illuminate/translation", 1271 | "version": "v5.2.31", 1272 | "source": { 1273 | "type": "git", 1274 | "url": "https://github.com/illuminate/translation.git", 1275 | "reference": "04aa7985562ae079711a0e46e5fd63db29233adf" 1276 | }, 1277 | "dist": { 1278 | "type": "zip", 1279 | "url": "https://api.github.com/repos/illuminate/translation/zipball/04aa7985562ae079711a0e46e5fd63db29233adf", 1280 | "reference": "04aa7985562ae079711a0e46e5fd63db29233adf", 1281 | "shasum": "" 1282 | }, 1283 | "require": { 1284 | "illuminate/filesystem": "5.2.*", 1285 | "illuminate/support": "5.2.*", 1286 | "php": ">=5.5.9", 1287 | "symfony/translation": "2.8.*|3.0.*" 1288 | }, 1289 | "type": "library", 1290 | "extra": { 1291 | "branch-alias": { 1292 | "dev-master": "5.2-dev" 1293 | } 1294 | }, 1295 | "autoload": { 1296 | "psr-4": { 1297 | "Illuminate\\Translation\\": "" 1298 | } 1299 | }, 1300 | "notification-url": "https://packagist.org/downloads/", 1301 | "license": [ 1302 | "MIT" 1303 | ], 1304 | "authors": [ 1305 | { 1306 | "name": "Taylor Otwell", 1307 | "email": "taylorotwell@gmail.com" 1308 | } 1309 | ], 1310 | "description": "The Illuminate Translation package.", 1311 | "homepage": "http://laravel.com", 1312 | "time": "2016-04-21 13:19:18" 1313 | }, 1314 | { 1315 | "name": "illuminate/validation", 1316 | "version": "v5.2.31", 1317 | "source": { 1318 | "type": "git", 1319 | "url": "https://github.com/illuminate/validation.git", 1320 | "reference": "6cbda1344236ef5a4d14a9497d4cb07ab5b386a5" 1321 | }, 1322 | "dist": { 1323 | "type": "zip", 1324 | "url": "https://api.github.com/repos/illuminate/validation/zipball/6cbda1344236ef5a4d14a9497d4cb07ab5b386a5", 1325 | "reference": "6cbda1344236ef5a4d14a9497d4cb07ab5b386a5", 1326 | "shasum": "" 1327 | }, 1328 | "require": { 1329 | "illuminate/container": "5.2.*", 1330 | "illuminate/contracts": "5.2.*", 1331 | "illuminate/support": "5.2.*", 1332 | "php": ">=5.5.9", 1333 | "symfony/http-foundation": "2.8.*|3.0.*", 1334 | "symfony/translation": "2.8.*|3.0.*" 1335 | }, 1336 | "suggest": { 1337 | "illuminate/database": "Required to use the database presence verifier (5.2.*)." 1338 | }, 1339 | "type": "library", 1340 | "extra": { 1341 | "branch-alias": { 1342 | "dev-master": "5.2-dev" 1343 | } 1344 | }, 1345 | "autoload": { 1346 | "psr-4": { 1347 | "Illuminate\\Validation\\": "" 1348 | } 1349 | }, 1350 | "notification-url": "https://packagist.org/downloads/", 1351 | "license": [ 1352 | "MIT" 1353 | ], 1354 | "authors": [ 1355 | { 1356 | "name": "Taylor Otwell", 1357 | "email": "taylorotwell@gmail.com" 1358 | } 1359 | ], 1360 | "description": "The Illuminate Validation package.", 1361 | "homepage": "http://laravel.com", 1362 | "time": "2016-04-27 12:43:15" 1363 | }, 1364 | { 1365 | "name": "illuminate/view", 1366 | "version": "v5.2.31", 1367 | "source": { 1368 | "type": "git", 1369 | "url": "https://github.com/illuminate/view.git", 1370 | "reference": "0b3c417e98976a93d5205f542d55cdebe151c5f8" 1371 | }, 1372 | "dist": { 1373 | "type": "zip", 1374 | "url": "https://api.github.com/repos/illuminate/view/zipball/0b3c417e98976a93d5205f542d55cdebe151c5f8", 1375 | "reference": "0b3c417e98976a93d5205f542d55cdebe151c5f8", 1376 | "shasum": "" 1377 | }, 1378 | "require": { 1379 | "illuminate/container": "5.2.*", 1380 | "illuminate/contracts": "5.2.*", 1381 | "illuminate/events": "5.2.*", 1382 | "illuminate/filesystem": "5.2.*", 1383 | "illuminate/support": "5.2.*", 1384 | "php": ">=5.5.9", 1385 | "symfony/debug": "2.8.*|3.0.*" 1386 | }, 1387 | "type": "library", 1388 | "extra": { 1389 | "branch-alias": { 1390 | "dev-master": "5.2-dev" 1391 | } 1392 | }, 1393 | "autoload": { 1394 | "psr-4": { 1395 | "Illuminate\\View\\": "" 1396 | } 1397 | }, 1398 | "notification-url": "https://packagist.org/downloads/", 1399 | "license": [ 1400 | "MIT" 1401 | ], 1402 | "authors": [ 1403 | { 1404 | "name": "Taylor Otwell", 1405 | "email": "taylorotwell@gmail.com" 1406 | } 1407 | ], 1408 | "description": "The Illuminate View package.", 1409 | "homepage": "http://laravel.com", 1410 | "time": "2016-04-25 01:26:30" 1411 | }, 1412 | { 1413 | "name": "laravel/lumen-framework", 1414 | "version": "v5.2.6", 1415 | "source": { 1416 | "type": "git", 1417 | "url": "https://github.com/laravel/lumen-framework.git", 1418 | "reference": "4e8af6b6792a212fd7d405469add56a514f100c0" 1419 | }, 1420 | "dist": { 1421 | "type": "zip", 1422 | "url": "https://api.github.com/repos/laravel/lumen-framework/zipball/4e8af6b6792a212fd7d405469add56a514f100c0", 1423 | "reference": "4e8af6b6792a212fd7d405469add56a514f100c0", 1424 | "shasum": "" 1425 | }, 1426 | "require": { 1427 | "illuminate/auth": "5.2.*", 1428 | "illuminate/broadcasting": "5.2.*", 1429 | "illuminate/bus": "5.2.*", 1430 | "illuminate/cache": "5.2.*", 1431 | "illuminate/config": "5.2.*", 1432 | "illuminate/container": "5.2.*", 1433 | "illuminate/contracts": "5.2.*", 1434 | "illuminate/database": "5.2.*", 1435 | "illuminate/encryption": "5.2.*", 1436 | "illuminate/events": "5.2.*", 1437 | "illuminate/filesystem": "5.2.*", 1438 | "illuminate/hashing": "5.2.*", 1439 | "illuminate/http": "5.2.*", 1440 | "illuminate/pagination": "5.2.*", 1441 | "illuminate/pipeline": "5.2.*", 1442 | "illuminate/queue": "5.2.*", 1443 | "illuminate/support": "5.2.*", 1444 | "illuminate/translation": "5.2.*", 1445 | "illuminate/validation": "~5.2.7", 1446 | "illuminate/view": "5.2.*", 1447 | "monolog/monolog": "~1.11", 1448 | "mtdowling/cron-expression": "~1.0", 1449 | "nikic/fast-route": "0.7.*", 1450 | "paragonie/random_compat": "~1.1", 1451 | "php": ">=5.5.9", 1452 | "symfony/http-foundation": "2.8.*|3.0.*", 1453 | "symfony/http-kernel": "2.8.*|3.0.*", 1454 | "symfony/polyfill-php56": "~1.0" 1455 | }, 1456 | "require-dev": { 1457 | "mockery/mockery": "~0.9", 1458 | "phpunit/phpunit": "~4.0" 1459 | }, 1460 | "suggest": { 1461 | "vlucas/phpdotenv": "Required to use .env files (~2.2)." 1462 | }, 1463 | "type": "library", 1464 | "extra": { 1465 | "branch-alias": { 1466 | "dev-master": "5.2-dev" 1467 | } 1468 | }, 1469 | "autoload": { 1470 | "psr-4": { 1471 | "Laravel\\Lumen\\": "src/" 1472 | }, 1473 | "files": [ 1474 | "src/helpers.php" 1475 | ] 1476 | }, 1477 | "notification-url": "https://packagist.org/downloads/", 1478 | "license": [ 1479 | "MIT" 1480 | ], 1481 | "authors": [ 1482 | { 1483 | "name": "Taylor Otwell", 1484 | "email": "taylorotwell@gmail.com" 1485 | } 1486 | ], 1487 | "description": "The Laravel Lumen Framework.", 1488 | "homepage": "http://laravel.com", 1489 | "keywords": [ 1490 | "framework", 1491 | "laravel", 1492 | "lumen" 1493 | ], 1494 | "time": "2016-03-18 15:23:13" 1495 | }, 1496 | { 1497 | "name": "monolog/monolog", 1498 | "version": "1.19.0", 1499 | "source": { 1500 | "type": "git", 1501 | "url": "https://github.com/Seldaek/monolog.git", 1502 | "reference": "5f56ed5212dc509c8dc8caeba2715732abb32dbf" 1503 | }, 1504 | "dist": { 1505 | "type": "zip", 1506 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/5f56ed5212dc509c8dc8caeba2715732abb32dbf", 1507 | "reference": "5f56ed5212dc509c8dc8caeba2715732abb32dbf", 1508 | "shasum": "" 1509 | }, 1510 | "require": { 1511 | "php": ">=5.3.0", 1512 | "psr/log": "~1.0" 1513 | }, 1514 | "provide": { 1515 | "psr/log-implementation": "1.0.0" 1516 | }, 1517 | "require-dev": { 1518 | "aws/aws-sdk-php": "^2.4.9", 1519 | "doctrine/couchdb": "~1.0@dev", 1520 | "graylog2/gelf-php": "~1.0", 1521 | "jakub-onderka/php-parallel-lint": "0.9", 1522 | "php-amqplib/php-amqplib": "~2.4", 1523 | "php-console/php-console": "^3.1.3", 1524 | "phpunit/phpunit": "~4.5", 1525 | "phpunit/phpunit-mock-objects": "2.3.0", 1526 | "raven/raven": "^0.13", 1527 | "ruflin/elastica": ">=0.90 <3.0", 1528 | "swiftmailer/swiftmailer": "~5.3" 1529 | }, 1530 | "suggest": { 1531 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", 1532 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server", 1533 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", 1534 | "ext-mongo": "Allow sending log messages to a MongoDB server", 1535 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", 1536 | "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", 1537 | "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", 1538 | "php-console/php-console": "Allow sending log messages to Google Chrome", 1539 | "raven/raven": "Allow sending log messages to a Sentry server", 1540 | "rollbar/rollbar": "Allow sending log messages to Rollbar", 1541 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server" 1542 | }, 1543 | "type": "library", 1544 | "extra": { 1545 | "branch-alias": { 1546 | "dev-master": "2.0.x-dev" 1547 | } 1548 | }, 1549 | "autoload": { 1550 | "psr-4": { 1551 | "Monolog\\": "src/Monolog" 1552 | } 1553 | }, 1554 | "notification-url": "https://packagist.org/downloads/", 1555 | "license": [ 1556 | "MIT" 1557 | ], 1558 | "authors": [ 1559 | { 1560 | "name": "Jordi Boggiano", 1561 | "email": "j.boggiano@seld.be", 1562 | "homepage": "http://seld.be" 1563 | } 1564 | ], 1565 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services", 1566 | "homepage": "http://github.com/Seldaek/monolog", 1567 | "keywords": [ 1568 | "log", 1569 | "logging", 1570 | "psr-3" 1571 | ], 1572 | "time": "2016-04-12 18:29:35" 1573 | }, 1574 | { 1575 | "name": "mtdowling/cron-expression", 1576 | "version": "v1.1.0", 1577 | "source": { 1578 | "type": "git", 1579 | "url": "https://github.com/mtdowling/cron-expression.git", 1580 | "reference": "c9ee7886f5a12902b225a1a12f36bb45f9ab89e5" 1581 | }, 1582 | "dist": { 1583 | "type": "zip", 1584 | "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/c9ee7886f5a12902b225a1a12f36bb45f9ab89e5", 1585 | "reference": "c9ee7886f5a12902b225a1a12f36bb45f9ab89e5", 1586 | "shasum": "" 1587 | }, 1588 | "require": { 1589 | "php": ">=5.3.2" 1590 | }, 1591 | "require-dev": { 1592 | "phpunit/phpunit": "~4.0|~5.0" 1593 | }, 1594 | "type": "library", 1595 | "autoload": { 1596 | "psr-0": { 1597 | "Cron": "src/" 1598 | } 1599 | }, 1600 | "notification-url": "https://packagist.org/downloads/", 1601 | "license": [ 1602 | "MIT" 1603 | ], 1604 | "authors": [ 1605 | { 1606 | "name": "Michael Dowling", 1607 | "email": "mtdowling@gmail.com", 1608 | "homepage": "https://github.com/mtdowling" 1609 | } 1610 | ], 1611 | "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", 1612 | "keywords": [ 1613 | "cron", 1614 | "schedule" 1615 | ], 1616 | "time": "2016-01-26 21:23:30" 1617 | }, 1618 | { 1619 | "name": "nesbot/carbon", 1620 | "version": "1.21.0", 1621 | "source": { 1622 | "type": "git", 1623 | "url": "https://github.com/briannesbitt/Carbon.git", 1624 | "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7" 1625 | }, 1626 | "dist": { 1627 | "type": "zip", 1628 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7b08ec6f75791e130012f206e3f7b0e76e18e3d7", 1629 | "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7", 1630 | "shasum": "" 1631 | }, 1632 | "require": { 1633 | "php": ">=5.3.0", 1634 | "symfony/translation": "~2.6|~3.0" 1635 | }, 1636 | "require-dev": { 1637 | "phpunit/phpunit": "~4.0|~5.0" 1638 | }, 1639 | "type": "library", 1640 | "autoload": { 1641 | "psr-4": { 1642 | "Carbon\\": "src/Carbon/" 1643 | } 1644 | }, 1645 | "notification-url": "https://packagist.org/downloads/", 1646 | "license": [ 1647 | "MIT" 1648 | ], 1649 | "authors": [ 1650 | { 1651 | "name": "Brian Nesbitt", 1652 | "email": "brian@nesbot.com", 1653 | "homepage": "http://nesbot.com" 1654 | } 1655 | ], 1656 | "description": "A simple API extension for DateTime.", 1657 | "homepage": "http://carbon.nesbot.com", 1658 | "keywords": [ 1659 | "date", 1660 | "datetime", 1661 | "time" 1662 | ], 1663 | "time": "2015-11-04 20:07:17" 1664 | }, 1665 | { 1666 | "name": "nikic/fast-route", 1667 | "version": "v0.7.0", 1668 | "source": { 1669 | "type": "git", 1670 | "url": "https://github.com/nikic/FastRoute.git", 1671 | "reference": "8164b4a0d8afde4eae5f1bfc39084972ba23ad36" 1672 | }, 1673 | "dist": { 1674 | "type": "zip", 1675 | "url": "https://api.github.com/repos/nikic/FastRoute/zipball/8164b4a0d8afde4eae5f1bfc39084972ba23ad36", 1676 | "reference": "8164b4a0d8afde4eae5f1bfc39084972ba23ad36", 1677 | "shasum": "" 1678 | }, 1679 | "require": { 1680 | "php": ">=5.4.0" 1681 | }, 1682 | "type": "library", 1683 | "autoload": { 1684 | "psr-4": { 1685 | "FastRoute\\": "src/" 1686 | }, 1687 | "files": [ 1688 | "src/functions.php" 1689 | ] 1690 | }, 1691 | "notification-url": "https://packagist.org/downloads/", 1692 | "license": [ 1693 | "BSD-3-Clause" 1694 | ], 1695 | "authors": [ 1696 | { 1697 | "name": "Nikita Popov", 1698 | "email": "nikic@php.net" 1699 | } 1700 | ], 1701 | "description": "Fast request router for PHP", 1702 | "keywords": [ 1703 | "router", 1704 | "routing" 1705 | ], 1706 | "time": "2015-12-20 19:50:12" 1707 | }, 1708 | { 1709 | "name": "paragonie/random_compat", 1710 | "version": "v1.4.1", 1711 | "source": { 1712 | "type": "git", 1713 | "url": "https://github.com/paragonie/random_compat.git", 1714 | "reference": "c7e26a21ba357863de030f0b9e701c7d04593774" 1715 | }, 1716 | "dist": { 1717 | "type": "zip", 1718 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/c7e26a21ba357863de030f0b9e701c7d04593774", 1719 | "reference": "c7e26a21ba357863de030f0b9e701c7d04593774", 1720 | "shasum": "" 1721 | }, 1722 | "require": { 1723 | "php": ">=5.2.0" 1724 | }, 1725 | "require-dev": { 1726 | "phpunit/phpunit": "4.*|5.*" 1727 | }, 1728 | "suggest": { 1729 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." 1730 | }, 1731 | "type": "library", 1732 | "autoload": { 1733 | "files": [ 1734 | "lib/random.php" 1735 | ] 1736 | }, 1737 | "notification-url": "https://packagist.org/downloads/", 1738 | "license": [ 1739 | "MIT" 1740 | ], 1741 | "authors": [ 1742 | { 1743 | "name": "Paragon Initiative Enterprises", 1744 | "email": "security@paragonie.com", 1745 | "homepage": "https://paragonie.com" 1746 | } 1747 | ], 1748 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", 1749 | "keywords": [ 1750 | "csprng", 1751 | "pseudorandom", 1752 | "random" 1753 | ], 1754 | "time": "2016-03-18 20:34:03" 1755 | }, 1756 | { 1757 | "name": "psr/http-message", 1758 | "version": "1.0", 1759 | "source": { 1760 | "type": "git", 1761 | "url": "https://github.com/php-fig/http-message.git", 1762 | "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298" 1763 | }, 1764 | "dist": { 1765 | "type": "zip", 1766 | "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", 1767 | "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298", 1768 | "shasum": "" 1769 | }, 1770 | "require": { 1771 | "php": ">=5.3.0" 1772 | }, 1773 | "type": "library", 1774 | "extra": { 1775 | "branch-alias": { 1776 | "dev-master": "1.0.x-dev" 1777 | } 1778 | }, 1779 | "autoload": { 1780 | "psr-4": { 1781 | "Psr\\Http\\Message\\": "src/" 1782 | } 1783 | }, 1784 | "notification-url": "https://packagist.org/downloads/", 1785 | "license": [ 1786 | "MIT" 1787 | ], 1788 | "authors": [ 1789 | { 1790 | "name": "PHP-FIG", 1791 | "homepage": "http://www.php-fig.org/" 1792 | } 1793 | ], 1794 | "description": "Common interface for HTTP messages", 1795 | "keywords": [ 1796 | "http", 1797 | "http-message", 1798 | "psr", 1799 | "psr-7", 1800 | "request", 1801 | "response" 1802 | ], 1803 | "time": "2015-05-04 20:22:00" 1804 | }, 1805 | { 1806 | "name": "psr/log", 1807 | "version": "1.0.0", 1808 | "source": { 1809 | "type": "git", 1810 | "url": "https://github.com/php-fig/log.git", 1811 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" 1812 | }, 1813 | "dist": { 1814 | "type": "zip", 1815 | "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", 1816 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", 1817 | "shasum": "" 1818 | }, 1819 | "type": "library", 1820 | "autoload": { 1821 | "psr-0": { 1822 | "Psr\\Log\\": "" 1823 | } 1824 | }, 1825 | "notification-url": "https://packagist.org/downloads/", 1826 | "license": [ 1827 | "MIT" 1828 | ], 1829 | "authors": [ 1830 | { 1831 | "name": "PHP-FIG", 1832 | "homepage": "http://www.php-fig.org/" 1833 | } 1834 | ], 1835 | "description": "Common interface for logging libraries", 1836 | "keywords": [ 1837 | "log", 1838 | "psr", 1839 | "psr-3" 1840 | ], 1841 | "time": "2012-12-21 11:40:51" 1842 | }, 1843 | { 1844 | "name": "symfony/console", 1845 | "version": "v3.0.5", 1846 | "source": { 1847 | "type": "git", 1848 | "url": "https://github.com/symfony/console.git", 1849 | "reference": "34a214710e0714b6efcf40ba3cd1e31373a97820" 1850 | }, 1851 | "dist": { 1852 | "type": "zip", 1853 | "url": "https://api.github.com/repos/symfony/console/zipball/34a214710e0714b6efcf40ba3cd1e31373a97820", 1854 | "reference": "34a214710e0714b6efcf40ba3cd1e31373a97820", 1855 | "shasum": "" 1856 | }, 1857 | "require": { 1858 | "php": ">=5.5.9", 1859 | "symfony/polyfill-mbstring": "~1.0" 1860 | }, 1861 | "require-dev": { 1862 | "psr/log": "~1.0", 1863 | "symfony/event-dispatcher": "~2.8|~3.0", 1864 | "symfony/process": "~2.8|~3.0" 1865 | }, 1866 | "suggest": { 1867 | "psr/log": "For using the console logger", 1868 | "symfony/event-dispatcher": "", 1869 | "symfony/process": "" 1870 | }, 1871 | "type": "library", 1872 | "extra": { 1873 | "branch-alias": { 1874 | "dev-master": "3.0-dev" 1875 | } 1876 | }, 1877 | "autoload": { 1878 | "psr-4": { 1879 | "Symfony\\Component\\Console\\": "" 1880 | }, 1881 | "exclude-from-classmap": [ 1882 | "/Tests/" 1883 | ] 1884 | }, 1885 | "notification-url": "https://packagist.org/downloads/", 1886 | "license": [ 1887 | "MIT" 1888 | ], 1889 | "authors": [ 1890 | { 1891 | "name": "Fabien Potencier", 1892 | "email": "fabien@symfony.com" 1893 | }, 1894 | { 1895 | "name": "Symfony Community", 1896 | "homepage": "https://symfony.com/contributors" 1897 | } 1898 | ], 1899 | "description": "Symfony Console Component", 1900 | "homepage": "https://symfony.com", 1901 | "time": "2016-04-28 09:48:42" 1902 | }, 1903 | { 1904 | "name": "symfony/debug", 1905 | "version": "v3.0.5", 1906 | "source": { 1907 | "type": "git", 1908 | "url": "https://github.com/symfony/debug.git", 1909 | "reference": "a06d10888a45afd97534506afb058ec38d9ba35b" 1910 | }, 1911 | "dist": { 1912 | "type": "zip", 1913 | "url": "https://api.github.com/repos/symfony/debug/zipball/a06d10888a45afd97534506afb058ec38d9ba35b", 1914 | "reference": "a06d10888a45afd97534506afb058ec38d9ba35b", 1915 | "shasum": "" 1916 | }, 1917 | "require": { 1918 | "php": ">=5.5.9", 1919 | "psr/log": "~1.0" 1920 | }, 1921 | "conflict": { 1922 | "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" 1923 | }, 1924 | "require-dev": { 1925 | "symfony/class-loader": "~2.8|~3.0", 1926 | "symfony/http-kernel": "~2.8|~3.0" 1927 | }, 1928 | "type": "library", 1929 | "extra": { 1930 | "branch-alias": { 1931 | "dev-master": "3.0-dev" 1932 | } 1933 | }, 1934 | "autoload": { 1935 | "psr-4": { 1936 | "Symfony\\Component\\Debug\\": "" 1937 | }, 1938 | "exclude-from-classmap": [ 1939 | "/Tests/" 1940 | ] 1941 | }, 1942 | "notification-url": "https://packagist.org/downloads/", 1943 | "license": [ 1944 | "MIT" 1945 | ], 1946 | "authors": [ 1947 | { 1948 | "name": "Fabien Potencier", 1949 | "email": "fabien@symfony.com" 1950 | }, 1951 | { 1952 | "name": "Symfony Community", 1953 | "homepage": "https://symfony.com/contributors" 1954 | } 1955 | ], 1956 | "description": "Symfony Debug Component", 1957 | "homepage": "https://symfony.com", 1958 | "time": "2016-03-30 10:41:14" 1959 | }, 1960 | { 1961 | "name": "symfony/event-dispatcher", 1962 | "version": "v3.0.5", 1963 | "source": { 1964 | "type": "git", 1965 | "url": "https://github.com/symfony/event-dispatcher.git", 1966 | "reference": "17b04e6b1ede45b57d3ad5146abe50df6c3968b4" 1967 | }, 1968 | "dist": { 1969 | "type": "zip", 1970 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/17b04e6b1ede45b57d3ad5146abe50df6c3968b4", 1971 | "reference": "17b04e6b1ede45b57d3ad5146abe50df6c3968b4", 1972 | "shasum": "" 1973 | }, 1974 | "require": { 1975 | "php": ">=5.5.9" 1976 | }, 1977 | "require-dev": { 1978 | "psr/log": "~1.0", 1979 | "symfony/config": "~2.8|~3.0", 1980 | "symfony/dependency-injection": "~2.8|~3.0", 1981 | "symfony/expression-language": "~2.8|~3.0", 1982 | "symfony/stopwatch": "~2.8|~3.0" 1983 | }, 1984 | "suggest": { 1985 | "symfony/dependency-injection": "", 1986 | "symfony/http-kernel": "" 1987 | }, 1988 | "type": "library", 1989 | "extra": { 1990 | "branch-alias": { 1991 | "dev-master": "3.0-dev" 1992 | } 1993 | }, 1994 | "autoload": { 1995 | "psr-4": { 1996 | "Symfony\\Component\\EventDispatcher\\": "" 1997 | }, 1998 | "exclude-from-classmap": [ 1999 | "/Tests/" 2000 | ] 2001 | }, 2002 | "notification-url": "https://packagist.org/downloads/", 2003 | "license": [ 2004 | "MIT" 2005 | ], 2006 | "authors": [ 2007 | { 2008 | "name": "Fabien Potencier", 2009 | "email": "fabien@symfony.com" 2010 | }, 2011 | { 2012 | "name": "Symfony Community", 2013 | "homepage": "https://symfony.com/contributors" 2014 | } 2015 | ], 2016 | "description": "Symfony EventDispatcher Component", 2017 | "homepage": "https://symfony.com", 2018 | "time": "2016-04-12 18:09:53" 2019 | }, 2020 | { 2021 | "name": "symfony/finder", 2022 | "version": "v3.0.5", 2023 | "source": { 2024 | "type": "git", 2025 | "url": "https://github.com/symfony/finder.git", 2026 | "reference": "c54e407b35bc098916704e9fd090da21da4c4f52" 2027 | }, 2028 | "dist": { 2029 | "type": "zip", 2030 | "url": "https://api.github.com/repos/symfony/finder/zipball/c54e407b35bc098916704e9fd090da21da4c4f52", 2031 | "reference": "c54e407b35bc098916704e9fd090da21da4c4f52", 2032 | "shasum": "" 2033 | }, 2034 | "require": { 2035 | "php": ">=5.5.9" 2036 | }, 2037 | "type": "library", 2038 | "extra": { 2039 | "branch-alias": { 2040 | "dev-master": "3.0-dev" 2041 | } 2042 | }, 2043 | "autoload": { 2044 | "psr-4": { 2045 | "Symfony\\Component\\Finder\\": "" 2046 | }, 2047 | "exclude-from-classmap": [ 2048 | "/Tests/" 2049 | ] 2050 | }, 2051 | "notification-url": "https://packagist.org/downloads/", 2052 | "license": [ 2053 | "MIT" 2054 | ], 2055 | "authors": [ 2056 | { 2057 | "name": "Fabien Potencier", 2058 | "email": "fabien@symfony.com" 2059 | }, 2060 | { 2061 | "name": "Symfony Community", 2062 | "homepage": "https://symfony.com/contributors" 2063 | } 2064 | ], 2065 | "description": "Symfony Finder Component", 2066 | "homepage": "https://symfony.com", 2067 | "time": "2016-03-10 11:13:05" 2068 | }, 2069 | { 2070 | "name": "symfony/http-foundation", 2071 | "version": "v3.0.5", 2072 | "source": { 2073 | "type": "git", 2074 | "url": "https://github.com/symfony/http-foundation.git", 2075 | "reference": "18b24bc32d2495ae79d76e777368786a6536fe31" 2076 | }, 2077 | "dist": { 2078 | "type": "zip", 2079 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/18b24bc32d2495ae79d76e777368786a6536fe31", 2080 | "reference": "18b24bc32d2495ae79d76e777368786a6536fe31", 2081 | "shasum": "" 2082 | }, 2083 | "require": { 2084 | "php": ">=5.5.9", 2085 | "symfony/polyfill-mbstring": "~1.1" 2086 | }, 2087 | "require-dev": { 2088 | "symfony/expression-language": "~2.8|~3.0" 2089 | }, 2090 | "type": "library", 2091 | "extra": { 2092 | "branch-alias": { 2093 | "dev-master": "3.0-dev" 2094 | } 2095 | }, 2096 | "autoload": { 2097 | "psr-4": { 2098 | "Symfony\\Component\\HttpFoundation\\": "" 2099 | }, 2100 | "exclude-from-classmap": [ 2101 | "/Tests/" 2102 | ] 2103 | }, 2104 | "notification-url": "https://packagist.org/downloads/", 2105 | "license": [ 2106 | "MIT" 2107 | ], 2108 | "authors": [ 2109 | { 2110 | "name": "Fabien Potencier", 2111 | "email": "fabien@symfony.com" 2112 | }, 2113 | { 2114 | "name": "Symfony Community", 2115 | "homepage": "https://symfony.com/contributors" 2116 | } 2117 | ], 2118 | "description": "Symfony HttpFoundation Component", 2119 | "homepage": "https://symfony.com", 2120 | "time": "2016-04-12 18:09:53" 2121 | }, 2122 | { 2123 | "name": "symfony/http-kernel", 2124 | "version": "v3.0.5", 2125 | "source": { 2126 | "type": "git", 2127 | "url": "https://github.com/symfony/http-kernel.git", 2128 | "reference": "1aa25588241f915cf176b7c371e5d629dfff8b43" 2129 | }, 2130 | "dist": { 2131 | "type": "zip", 2132 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1aa25588241f915cf176b7c371e5d629dfff8b43", 2133 | "reference": "1aa25588241f915cf176b7c371e5d629dfff8b43", 2134 | "shasum": "" 2135 | }, 2136 | "require": { 2137 | "php": ">=5.5.9", 2138 | "psr/log": "~1.0", 2139 | "symfony/debug": "~2.8|~3.0", 2140 | "symfony/event-dispatcher": "~2.8|~3.0", 2141 | "symfony/http-foundation": "~2.8|~3.0" 2142 | }, 2143 | "conflict": { 2144 | "symfony/config": "<2.8" 2145 | }, 2146 | "require-dev": { 2147 | "symfony/browser-kit": "~2.8|~3.0", 2148 | "symfony/class-loader": "~2.8|~3.0", 2149 | "symfony/config": "~2.8|~3.0", 2150 | "symfony/console": "~2.8|~3.0", 2151 | "symfony/css-selector": "~2.8|~3.0", 2152 | "symfony/dependency-injection": "~2.8|~3.0", 2153 | "symfony/dom-crawler": "~2.8|~3.0", 2154 | "symfony/expression-language": "~2.8|~3.0", 2155 | "symfony/finder": "~2.8|~3.0", 2156 | "symfony/process": "~2.8|~3.0", 2157 | "symfony/routing": "~2.8|~3.0", 2158 | "symfony/stopwatch": "~2.8|~3.0", 2159 | "symfony/templating": "~2.8|~3.0", 2160 | "symfony/translation": "~2.8|~3.0", 2161 | "symfony/var-dumper": "~2.8|~3.0" 2162 | }, 2163 | "suggest": { 2164 | "symfony/browser-kit": "", 2165 | "symfony/class-loader": "", 2166 | "symfony/config": "", 2167 | "symfony/console": "", 2168 | "symfony/dependency-injection": "", 2169 | "symfony/finder": "", 2170 | "symfony/var-dumper": "" 2171 | }, 2172 | "type": "library", 2173 | "extra": { 2174 | "branch-alias": { 2175 | "dev-master": "3.0-dev" 2176 | } 2177 | }, 2178 | "autoload": { 2179 | "psr-4": { 2180 | "Symfony\\Component\\HttpKernel\\": "" 2181 | }, 2182 | "exclude-from-classmap": [ 2183 | "/Tests/" 2184 | ] 2185 | }, 2186 | "notification-url": "https://packagist.org/downloads/", 2187 | "license": [ 2188 | "MIT" 2189 | ], 2190 | "authors": [ 2191 | { 2192 | "name": "Fabien Potencier", 2193 | "email": "fabien@symfony.com" 2194 | }, 2195 | { 2196 | "name": "Symfony Community", 2197 | "homepage": "https://symfony.com/contributors" 2198 | } 2199 | ], 2200 | "description": "Symfony HttpKernel Component", 2201 | "homepage": "https://symfony.com", 2202 | "time": "2016-05-03 05:58:27" 2203 | }, 2204 | { 2205 | "name": "symfony/polyfill-mbstring", 2206 | "version": "v1.1.1", 2207 | "source": { 2208 | "type": "git", 2209 | "url": "https://github.com/symfony/polyfill-mbstring.git", 2210 | "reference": "1289d16209491b584839022f29257ad859b8532d" 2211 | }, 2212 | "dist": { 2213 | "type": "zip", 2214 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/1289d16209491b584839022f29257ad859b8532d", 2215 | "reference": "1289d16209491b584839022f29257ad859b8532d", 2216 | "shasum": "" 2217 | }, 2218 | "require": { 2219 | "php": ">=5.3.3" 2220 | }, 2221 | "suggest": { 2222 | "ext-mbstring": "For best performance" 2223 | }, 2224 | "type": "library", 2225 | "extra": { 2226 | "branch-alias": { 2227 | "dev-master": "1.1-dev" 2228 | } 2229 | }, 2230 | "autoload": { 2231 | "psr-4": { 2232 | "Symfony\\Polyfill\\Mbstring\\": "" 2233 | }, 2234 | "files": [ 2235 | "bootstrap.php" 2236 | ] 2237 | }, 2238 | "notification-url": "https://packagist.org/downloads/", 2239 | "license": [ 2240 | "MIT" 2241 | ], 2242 | "authors": [ 2243 | { 2244 | "name": "Nicolas Grekas", 2245 | "email": "p@tchwork.com" 2246 | }, 2247 | { 2248 | "name": "Symfony Community", 2249 | "homepage": "https://symfony.com/contributors" 2250 | } 2251 | ], 2252 | "description": "Symfony polyfill for the Mbstring extension", 2253 | "homepage": "https://symfony.com", 2254 | "keywords": [ 2255 | "compatibility", 2256 | "mbstring", 2257 | "polyfill", 2258 | "portable", 2259 | "shim" 2260 | ], 2261 | "time": "2016-01-20 09:13:37" 2262 | }, 2263 | { 2264 | "name": "symfony/polyfill-php56", 2265 | "version": "v1.1.1", 2266 | "source": { 2267 | "type": "git", 2268 | "url": "https://github.com/symfony/polyfill-php56.git", 2269 | "reference": "4d891fff050101a53a4caabb03277284942d1ad9" 2270 | }, 2271 | "dist": { 2272 | "type": "zip", 2273 | "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/4d891fff050101a53a4caabb03277284942d1ad9", 2274 | "reference": "4d891fff050101a53a4caabb03277284942d1ad9", 2275 | "shasum": "" 2276 | }, 2277 | "require": { 2278 | "php": ">=5.3.3", 2279 | "symfony/polyfill-util": "~1.0" 2280 | }, 2281 | "type": "library", 2282 | "extra": { 2283 | "branch-alias": { 2284 | "dev-master": "1.1-dev" 2285 | } 2286 | }, 2287 | "autoload": { 2288 | "psr-4": { 2289 | "Symfony\\Polyfill\\Php56\\": "" 2290 | }, 2291 | "files": [ 2292 | "bootstrap.php" 2293 | ] 2294 | }, 2295 | "notification-url": "https://packagist.org/downloads/", 2296 | "license": [ 2297 | "MIT" 2298 | ], 2299 | "authors": [ 2300 | { 2301 | "name": "Nicolas Grekas", 2302 | "email": "p@tchwork.com" 2303 | }, 2304 | { 2305 | "name": "Symfony Community", 2306 | "homepage": "https://symfony.com/contributors" 2307 | } 2308 | ], 2309 | "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", 2310 | "homepage": "https://symfony.com", 2311 | "keywords": [ 2312 | "compatibility", 2313 | "polyfill", 2314 | "portable", 2315 | "shim" 2316 | ], 2317 | "time": "2016-01-20 09:13:37" 2318 | }, 2319 | { 2320 | "name": "symfony/polyfill-util", 2321 | "version": "v1.1.1", 2322 | "source": { 2323 | "type": "git", 2324 | "url": "https://github.com/symfony/polyfill-util.git", 2325 | "reference": "8de62801aa12bc4dfcf85eef5d21981ae7bb3cc4" 2326 | }, 2327 | "dist": { 2328 | "type": "zip", 2329 | "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/8de62801aa12bc4dfcf85eef5d21981ae7bb3cc4", 2330 | "reference": "8de62801aa12bc4dfcf85eef5d21981ae7bb3cc4", 2331 | "shasum": "" 2332 | }, 2333 | "require": { 2334 | "php": ">=5.3.3" 2335 | }, 2336 | "type": "library", 2337 | "extra": { 2338 | "branch-alias": { 2339 | "dev-master": "1.1-dev" 2340 | } 2341 | }, 2342 | "autoload": { 2343 | "psr-4": { 2344 | "Symfony\\Polyfill\\Util\\": "" 2345 | } 2346 | }, 2347 | "notification-url": "https://packagist.org/downloads/", 2348 | "license": [ 2349 | "MIT" 2350 | ], 2351 | "authors": [ 2352 | { 2353 | "name": "Nicolas Grekas", 2354 | "email": "p@tchwork.com" 2355 | }, 2356 | { 2357 | "name": "Symfony Community", 2358 | "homepage": "https://symfony.com/contributors" 2359 | } 2360 | ], 2361 | "description": "Symfony utilities for portability of PHP codes", 2362 | "homepage": "https://symfony.com", 2363 | "keywords": [ 2364 | "compat", 2365 | "compatibility", 2366 | "polyfill", 2367 | "shim" 2368 | ], 2369 | "time": "2016-01-20 09:13:37" 2370 | }, 2371 | { 2372 | "name": "symfony/process", 2373 | "version": "v3.0.5", 2374 | "source": { 2375 | "type": "git", 2376 | "url": "https://github.com/symfony/process.git", 2377 | "reference": "53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb" 2378 | }, 2379 | "dist": { 2380 | "type": "zip", 2381 | "url": "https://api.github.com/repos/symfony/process/zipball/53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb", 2382 | "reference": "53f9407c0bb1c5a79127db8f7bfe12f0f6f3dcdb", 2383 | "shasum": "" 2384 | }, 2385 | "require": { 2386 | "php": ">=5.5.9" 2387 | }, 2388 | "type": "library", 2389 | "extra": { 2390 | "branch-alias": { 2391 | "dev-master": "3.0-dev" 2392 | } 2393 | }, 2394 | "autoload": { 2395 | "psr-4": { 2396 | "Symfony\\Component\\Process\\": "" 2397 | }, 2398 | "exclude-from-classmap": [ 2399 | "/Tests/" 2400 | ] 2401 | }, 2402 | "notification-url": "https://packagist.org/downloads/", 2403 | "license": [ 2404 | "MIT" 2405 | ], 2406 | "authors": [ 2407 | { 2408 | "name": "Fabien Potencier", 2409 | "email": "fabien@symfony.com" 2410 | }, 2411 | { 2412 | "name": "Symfony Community", 2413 | "homepage": "https://symfony.com/contributors" 2414 | } 2415 | ], 2416 | "description": "Symfony Process Component", 2417 | "homepage": "https://symfony.com", 2418 | "time": "2016-04-14 15:30:28" 2419 | }, 2420 | { 2421 | "name": "symfony/translation", 2422 | "version": "v3.0.5", 2423 | "source": { 2424 | "type": "git", 2425 | "url": "https://github.com/symfony/translation.git", 2426 | "reference": "f7a07af51ea067745a521dab1e3152044a2fb1f2" 2427 | }, 2428 | "dist": { 2429 | "type": "zip", 2430 | "url": "https://api.github.com/repos/symfony/translation/zipball/f7a07af51ea067745a521dab1e3152044a2fb1f2", 2431 | "reference": "f7a07af51ea067745a521dab1e3152044a2fb1f2", 2432 | "shasum": "" 2433 | }, 2434 | "require": { 2435 | "php": ">=5.5.9", 2436 | "symfony/polyfill-mbstring": "~1.0" 2437 | }, 2438 | "conflict": { 2439 | "symfony/config": "<2.8" 2440 | }, 2441 | "require-dev": { 2442 | "psr/log": "~1.0", 2443 | "symfony/config": "~2.8|~3.0", 2444 | "symfony/intl": "~2.8|~3.0", 2445 | "symfony/yaml": "~2.8|~3.0" 2446 | }, 2447 | "suggest": { 2448 | "psr/log": "To use logging capability in translator", 2449 | "symfony/config": "", 2450 | "symfony/yaml": "" 2451 | }, 2452 | "type": "library", 2453 | "extra": { 2454 | "branch-alias": { 2455 | "dev-master": "3.0-dev" 2456 | } 2457 | }, 2458 | "autoload": { 2459 | "psr-4": { 2460 | "Symfony\\Component\\Translation\\": "" 2461 | }, 2462 | "exclude-from-classmap": [ 2463 | "/Tests/" 2464 | ] 2465 | }, 2466 | "notification-url": "https://packagist.org/downloads/", 2467 | "license": [ 2468 | "MIT" 2469 | ], 2470 | "authors": [ 2471 | { 2472 | "name": "Fabien Potencier", 2473 | "email": "fabien@symfony.com" 2474 | }, 2475 | { 2476 | "name": "Symfony Community", 2477 | "homepage": "https://symfony.com/contributors" 2478 | } 2479 | ], 2480 | "description": "Symfony Translation Component", 2481 | "homepage": "https://symfony.com", 2482 | "time": "2016-03-25 01:41:20" 2483 | }, 2484 | { 2485 | "name": "vectorface/whip", 2486 | "version": "v0.3.1", 2487 | "source": { 2488 | "type": "git", 2489 | "url": "https://github.com/Vectorface/whip.git", 2490 | "reference": "65e2e04f954c5f97d7d0658e82c31062fe4cb96f" 2491 | }, 2492 | "dist": { 2493 | "type": "zip", 2494 | "url": "https://api.github.com/repos/Vectorface/whip/zipball/65e2e04f954c5f97d7d0658e82c31062fe4cb96f", 2495 | "reference": "65e2e04f954c5f97d7d0658e82c31062fe4cb96f", 2496 | "shasum": "" 2497 | }, 2498 | "require": { 2499 | "php": ">=5.3.0" 2500 | }, 2501 | "require-dev": { 2502 | "phpunit/phpunit": "~4.0", 2503 | "psr/http-message": "~1.0", 2504 | "squizlabs/php_codesniffer": "~2.0", 2505 | "vectorface/dunit": "~2.0" 2506 | }, 2507 | "type": "library", 2508 | "autoload": { 2509 | "psr-4": { 2510 | "Vectorface\\Whip\\": "./src", 2511 | "VectorFace\\Whip\\": "./src", 2512 | "Vectorface\\WhipTests\\": "./tests" 2513 | } 2514 | }, 2515 | "notification-url": "https://packagist.org/downloads/", 2516 | "license": [ 2517 | "MIT" 2518 | ], 2519 | "authors": [ 2520 | { 2521 | "name": "Daniel Bruce", 2522 | "email": "dbruce@vectorface.com", 2523 | "role": "Developer" 2524 | }, 2525 | { 2526 | "name": "Cory Darby", 2527 | "email": "ckdarby@vectorface.com", 2528 | "role": "Developer" 2529 | } 2530 | ], 2531 | "description": "A PHP class for retrieving accurate IP address information for the client.", 2532 | "homepage": "https://github.com/Vectorface/whip", 2533 | "keywords": [ 2534 | "IP", 2535 | "cdn", 2536 | "cloudflare" 2537 | ], 2538 | "time": "2016-01-27 17:25:06" 2539 | }, 2540 | { 2541 | "name": "vlucas/phpdotenv", 2542 | "version": "v2.2.1", 2543 | "source": { 2544 | "type": "git", 2545 | "url": "https://github.com/vlucas/phpdotenv.git", 2546 | "reference": "63f37b9395e8041cd4313129c08ece896d06ca8e" 2547 | }, 2548 | "dist": { 2549 | "type": "zip", 2550 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/63f37b9395e8041cd4313129c08ece896d06ca8e", 2551 | "reference": "63f37b9395e8041cd4313129c08ece896d06ca8e", 2552 | "shasum": "" 2553 | }, 2554 | "require": { 2555 | "php": ">=5.3.9" 2556 | }, 2557 | "require-dev": { 2558 | "phpunit/phpunit": "^4.8 || ^5.0" 2559 | }, 2560 | "type": "library", 2561 | "extra": { 2562 | "branch-alias": { 2563 | "dev-master": "2.2-dev" 2564 | } 2565 | }, 2566 | "autoload": { 2567 | "psr-4": { 2568 | "Dotenv\\": "src/" 2569 | } 2570 | }, 2571 | "notification-url": "https://packagist.org/downloads/", 2572 | "license": [ 2573 | "BSD-3-Clause-Attribution" 2574 | ], 2575 | "authors": [ 2576 | { 2577 | "name": "Vance Lucas", 2578 | "email": "vance@vancelucas.com", 2579 | "homepage": "http://www.vancelucas.com" 2580 | } 2581 | ], 2582 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", 2583 | "keywords": [ 2584 | "dotenv", 2585 | "env", 2586 | "environment" 2587 | ], 2588 | "time": "2016-04-15 10:48:49" 2589 | } 2590 | ], 2591 | "packages-dev": [ 2592 | { 2593 | "name": "doctrine/instantiator", 2594 | "version": "1.0.5", 2595 | "source": { 2596 | "type": "git", 2597 | "url": "https://github.com/doctrine/instantiator.git", 2598 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" 2599 | }, 2600 | "dist": { 2601 | "type": "zip", 2602 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", 2603 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", 2604 | "shasum": "" 2605 | }, 2606 | "require": { 2607 | "php": ">=5.3,<8.0-DEV" 2608 | }, 2609 | "require-dev": { 2610 | "athletic/athletic": "~0.1.8", 2611 | "ext-pdo": "*", 2612 | "ext-phar": "*", 2613 | "phpunit/phpunit": "~4.0", 2614 | "squizlabs/php_codesniffer": "~2.0" 2615 | }, 2616 | "type": "library", 2617 | "extra": { 2618 | "branch-alias": { 2619 | "dev-master": "1.0.x-dev" 2620 | } 2621 | }, 2622 | "autoload": { 2623 | "psr-4": { 2624 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 2625 | } 2626 | }, 2627 | "notification-url": "https://packagist.org/downloads/", 2628 | "license": [ 2629 | "MIT" 2630 | ], 2631 | "authors": [ 2632 | { 2633 | "name": "Marco Pivetta", 2634 | "email": "ocramius@gmail.com", 2635 | "homepage": "http://ocramius.github.com/" 2636 | } 2637 | ], 2638 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 2639 | "homepage": "https://github.com/doctrine/instantiator", 2640 | "keywords": [ 2641 | "constructor", 2642 | "instantiate" 2643 | ], 2644 | "time": "2015-06-14 21:17:01" 2645 | }, 2646 | { 2647 | "name": "fzaninotto/faker", 2648 | "version": "v1.6.0", 2649 | "source": { 2650 | "type": "git", 2651 | "url": "https://github.com/fzaninotto/Faker.git", 2652 | "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123" 2653 | }, 2654 | "dist": { 2655 | "type": "zip", 2656 | "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/44f9a286a04b80c76a4e5fb7aad8bb539b920123", 2657 | "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123", 2658 | "shasum": "" 2659 | }, 2660 | "require": { 2661 | "php": "^5.3.3|^7.0" 2662 | }, 2663 | "require-dev": { 2664 | "ext-intl": "*", 2665 | "phpunit/phpunit": "~4.0", 2666 | "squizlabs/php_codesniffer": "~1.5" 2667 | }, 2668 | "type": "library", 2669 | "extra": { 2670 | "branch-alias": [] 2671 | }, 2672 | "autoload": { 2673 | "psr-4": { 2674 | "Faker\\": "src/Faker/" 2675 | } 2676 | }, 2677 | "notification-url": "https://packagist.org/downloads/", 2678 | "license": [ 2679 | "MIT" 2680 | ], 2681 | "authors": [ 2682 | { 2683 | "name": "François Zaninotto" 2684 | } 2685 | ], 2686 | "description": "Faker is a PHP library that generates fake data for you.", 2687 | "keywords": [ 2688 | "data", 2689 | "faker", 2690 | "fixtures" 2691 | ], 2692 | "time": "2016-04-29 12:21:54" 2693 | }, 2694 | { 2695 | "name": "phpdocumentor/reflection-docblock", 2696 | "version": "2.0.4", 2697 | "source": { 2698 | "type": "git", 2699 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 2700 | "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" 2701 | }, 2702 | "dist": { 2703 | "type": "zip", 2704 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", 2705 | "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", 2706 | "shasum": "" 2707 | }, 2708 | "require": { 2709 | "php": ">=5.3.3" 2710 | }, 2711 | "require-dev": { 2712 | "phpunit/phpunit": "~4.0" 2713 | }, 2714 | "suggest": { 2715 | "dflydev/markdown": "~1.0", 2716 | "erusev/parsedown": "~1.0" 2717 | }, 2718 | "type": "library", 2719 | "extra": { 2720 | "branch-alias": { 2721 | "dev-master": "2.0.x-dev" 2722 | } 2723 | }, 2724 | "autoload": { 2725 | "psr-0": { 2726 | "phpDocumentor": [ 2727 | "src/" 2728 | ] 2729 | } 2730 | }, 2731 | "notification-url": "https://packagist.org/downloads/", 2732 | "license": [ 2733 | "MIT" 2734 | ], 2735 | "authors": [ 2736 | { 2737 | "name": "Mike van Riel", 2738 | "email": "mike.vanriel@naenius.com" 2739 | } 2740 | ], 2741 | "time": "2015-02-03 12:10:50" 2742 | }, 2743 | { 2744 | "name": "phpspec/prophecy", 2745 | "version": "v1.6.0", 2746 | "source": { 2747 | "type": "git", 2748 | "url": "https://github.com/phpspec/prophecy.git", 2749 | "reference": "3c91bdf81797d725b14cb62906f9a4ce44235972" 2750 | }, 2751 | "dist": { 2752 | "type": "zip", 2753 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/3c91bdf81797d725b14cb62906f9a4ce44235972", 2754 | "reference": "3c91bdf81797d725b14cb62906f9a4ce44235972", 2755 | "shasum": "" 2756 | }, 2757 | "require": { 2758 | "doctrine/instantiator": "^1.0.2", 2759 | "php": "^5.3|^7.0", 2760 | "phpdocumentor/reflection-docblock": "~2.0", 2761 | "sebastian/comparator": "~1.1", 2762 | "sebastian/recursion-context": "~1.0" 2763 | }, 2764 | "require-dev": { 2765 | "phpspec/phpspec": "~2.0" 2766 | }, 2767 | "type": "library", 2768 | "extra": { 2769 | "branch-alias": { 2770 | "dev-master": "1.5.x-dev" 2771 | } 2772 | }, 2773 | "autoload": { 2774 | "psr-0": { 2775 | "Prophecy\\": "src/" 2776 | } 2777 | }, 2778 | "notification-url": "https://packagist.org/downloads/", 2779 | "license": [ 2780 | "MIT" 2781 | ], 2782 | "authors": [ 2783 | { 2784 | "name": "Konstantin Kudryashov", 2785 | "email": "ever.zet@gmail.com", 2786 | "homepage": "http://everzet.com" 2787 | }, 2788 | { 2789 | "name": "Marcello Duarte", 2790 | "email": "marcello.duarte@gmail.com" 2791 | } 2792 | ], 2793 | "description": "Highly opinionated mocking framework for PHP 5.3+", 2794 | "homepage": "https://github.com/phpspec/prophecy", 2795 | "keywords": [ 2796 | "Double", 2797 | "Dummy", 2798 | "fake", 2799 | "mock", 2800 | "spy", 2801 | "stub" 2802 | ], 2803 | "time": "2016-02-15 07:46:21" 2804 | }, 2805 | { 2806 | "name": "phpunit/php-code-coverage", 2807 | "version": "2.2.4", 2808 | "source": { 2809 | "type": "git", 2810 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 2811 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" 2812 | }, 2813 | "dist": { 2814 | "type": "zip", 2815 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", 2816 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", 2817 | "shasum": "" 2818 | }, 2819 | "require": { 2820 | "php": ">=5.3.3", 2821 | "phpunit/php-file-iterator": "~1.3", 2822 | "phpunit/php-text-template": "~1.2", 2823 | "phpunit/php-token-stream": "~1.3", 2824 | "sebastian/environment": "^1.3.2", 2825 | "sebastian/version": "~1.0" 2826 | }, 2827 | "require-dev": { 2828 | "ext-xdebug": ">=2.1.4", 2829 | "phpunit/phpunit": "~4" 2830 | }, 2831 | "suggest": { 2832 | "ext-dom": "*", 2833 | "ext-xdebug": ">=2.2.1", 2834 | "ext-xmlwriter": "*" 2835 | }, 2836 | "type": "library", 2837 | "extra": { 2838 | "branch-alias": { 2839 | "dev-master": "2.2.x-dev" 2840 | } 2841 | }, 2842 | "autoload": { 2843 | "classmap": [ 2844 | "src/" 2845 | ] 2846 | }, 2847 | "notification-url": "https://packagist.org/downloads/", 2848 | "license": [ 2849 | "BSD-3-Clause" 2850 | ], 2851 | "authors": [ 2852 | { 2853 | "name": "Sebastian Bergmann", 2854 | "email": "sb@sebastian-bergmann.de", 2855 | "role": "lead" 2856 | } 2857 | ], 2858 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 2859 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 2860 | "keywords": [ 2861 | "coverage", 2862 | "testing", 2863 | "xunit" 2864 | ], 2865 | "time": "2015-10-06 15:47:00" 2866 | }, 2867 | { 2868 | "name": "phpunit/php-file-iterator", 2869 | "version": "1.4.1", 2870 | "source": { 2871 | "type": "git", 2872 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 2873 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" 2874 | }, 2875 | "dist": { 2876 | "type": "zip", 2877 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", 2878 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", 2879 | "shasum": "" 2880 | }, 2881 | "require": { 2882 | "php": ">=5.3.3" 2883 | }, 2884 | "type": "library", 2885 | "extra": { 2886 | "branch-alias": { 2887 | "dev-master": "1.4.x-dev" 2888 | } 2889 | }, 2890 | "autoload": { 2891 | "classmap": [ 2892 | "src/" 2893 | ] 2894 | }, 2895 | "notification-url": "https://packagist.org/downloads/", 2896 | "license": [ 2897 | "BSD-3-Clause" 2898 | ], 2899 | "authors": [ 2900 | { 2901 | "name": "Sebastian Bergmann", 2902 | "email": "sb@sebastian-bergmann.de", 2903 | "role": "lead" 2904 | } 2905 | ], 2906 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 2907 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 2908 | "keywords": [ 2909 | "filesystem", 2910 | "iterator" 2911 | ], 2912 | "time": "2015-06-21 13:08:43" 2913 | }, 2914 | { 2915 | "name": "phpunit/php-text-template", 2916 | "version": "1.2.1", 2917 | "source": { 2918 | "type": "git", 2919 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 2920 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 2921 | }, 2922 | "dist": { 2923 | "type": "zip", 2924 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 2925 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 2926 | "shasum": "" 2927 | }, 2928 | "require": { 2929 | "php": ">=5.3.3" 2930 | }, 2931 | "type": "library", 2932 | "autoload": { 2933 | "classmap": [ 2934 | "src/" 2935 | ] 2936 | }, 2937 | "notification-url": "https://packagist.org/downloads/", 2938 | "license": [ 2939 | "BSD-3-Clause" 2940 | ], 2941 | "authors": [ 2942 | { 2943 | "name": "Sebastian Bergmann", 2944 | "email": "sebastian@phpunit.de", 2945 | "role": "lead" 2946 | } 2947 | ], 2948 | "description": "Simple template engine.", 2949 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 2950 | "keywords": [ 2951 | "template" 2952 | ], 2953 | "time": "2015-06-21 13:50:34" 2954 | }, 2955 | { 2956 | "name": "phpunit/php-timer", 2957 | "version": "1.0.7", 2958 | "source": { 2959 | "type": "git", 2960 | "url": "https://github.com/sebastianbergmann/php-timer.git", 2961 | "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b" 2962 | }, 2963 | "dist": { 2964 | "type": "zip", 2965 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b", 2966 | "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b", 2967 | "shasum": "" 2968 | }, 2969 | "require": { 2970 | "php": ">=5.3.3" 2971 | }, 2972 | "type": "library", 2973 | "autoload": { 2974 | "classmap": [ 2975 | "src/" 2976 | ] 2977 | }, 2978 | "notification-url": "https://packagist.org/downloads/", 2979 | "license": [ 2980 | "BSD-3-Clause" 2981 | ], 2982 | "authors": [ 2983 | { 2984 | "name": "Sebastian Bergmann", 2985 | "email": "sb@sebastian-bergmann.de", 2986 | "role": "lead" 2987 | } 2988 | ], 2989 | "description": "Utility class for timing", 2990 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 2991 | "keywords": [ 2992 | "timer" 2993 | ], 2994 | "time": "2015-06-21 08:01:12" 2995 | }, 2996 | { 2997 | "name": "phpunit/php-token-stream", 2998 | "version": "1.4.8", 2999 | "source": { 3000 | "type": "git", 3001 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 3002 | "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" 3003 | }, 3004 | "dist": { 3005 | "type": "zip", 3006 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", 3007 | "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", 3008 | "shasum": "" 3009 | }, 3010 | "require": { 3011 | "ext-tokenizer": "*", 3012 | "php": ">=5.3.3" 3013 | }, 3014 | "require-dev": { 3015 | "phpunit/phpunit": "~4.2" 3016 | }, 3017 | "type": "library", 3018 | "extra": { 3019 | "branch-alias": { 3020 | "dev-master": "1.4-dev" 3021 | } 3022 | }, 3023 | "autoload": { 3024 | "classmap": [ 3025 | "src/" 3026 | ] 3027 | }, 3028 | "notification-url": "https://packagist.org/downloads/", 3029 | "license": [ 3030 | "BSD-3-Clause" 3031 | ], 3032 | "authors": [ 3033 | { 3034 | "name": "Sebastian Bergmann", 3035 | "email": "sebastian@phpunit.de" 3036 | } 3037 | ], 3038 | "description": "Wrapper around PHP's tokenizer extension.", 3039 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 3040 | "keywords": [ 3041 | "tokenizer" 3042 | ], 3043 | "time": "2015-09-15 10:49:45" 3044 | }, 3045 | { 3046 | "name": "phpunit/phpunit", 3047 | "version": "4.8.24", 3048 | "source": { 3049 | "type": "git", 3050 | "url": "https://github.com/sebastianbergmann/phpunit.git", 3051 | "reference": "a1066c562c52900a142a0e2bbf0582994671385e" 3052 | }, 3053 | "dist": { 3054 | "type": "zip", 3055 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1066c562c52900a142a0e2bbf0582994671385e", 3056 | "reference": "a1066c562c52900a142a0e2bbf0582994671385e", 3057 | "shasum": "" 3058 | }, 3059 | "require": { 3060 | "ext-dom": "*", 3061 | "ext-json": "*", 3062 | "ext-pcre": "*", 3063 | "ext-reflection": "*", 3064 | "ext-spl": "*", 3065 | "php": ">=5.3.3", 3066 | "phpspec/prophecy": "^1.3.1", 3067 | "phpunit/php-code-coverage": "~2.1", 3068 | "phpunit/php-file-iterator": "~1.4", 3069 | "phpunit/php-text-template": "~1.2", 3070 | "phpunit/php-timer": ">=1.0.6", 3071 | "phpunit/phpunit-mock-objects": "~2.3", 3072 | "sebastian/comparator": "~1.1", 3073 | "sebastian/diff": "~1.2", 3074 | "sebastian/environment": "~1.3", 3075 | "sebastian/exporter": "~1.2", 3076 | "sebastian/global-state": "~1.0", 3077 | "sebastian/version": "~1.0", 3078 | "symfony/yaml": "~2.1|~3.0" 3079 | }, 3080 | "suggest": { 3081 | "phpunit/php-invoker": "~1.1" 3082 | }, 3083 | "bin": [ 3084 | "phpunit" 3085 | ], 3086 | "type": "library", 3087 | "extra": { 3088 | "branch-alias": { 3089 | "dev-master": "4.8.x-dev" 3090 | } 3091 | }, 3092 | "autoload": { 3093 | "classmap": [ 3094 | "src/" 3095 | ] 3096 | }, 3097 | "notification-url": "https://packagist.org/downloads/", 3098 | "license": [ 3099 | "BSD-3-Clause" 3100 | ], 3101 | "authors": [ 3102 | { 3103 | "name": "Sebastian Bergmann", 3104 | "email": "sebastian@phpunit.de", 3105 | "role": "lead" 3106 | } 3107 | ], 3108 | "description": "The PHP Unit Testing framework.", 3109 | "homepage": "https://phpunit.de/", 3110 | "keywords": [ 3111 | "phpunit", 3112 | "testing", 3113 | "xunit" 3114 | ], 3115 | "time": "2016-03-14 06:16:08" 3116 | }, 3117 | { 3118 | "name": "phpunit/phpunit-mock-objects", 3119 | "version": "2.3.8", 3120 | "source": { 3121 | "type": "git", 3122 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", 3123 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" 3124 | }, 3125 | "dist": { 3126 | "type": "zip", 3127 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", 3128 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", 3129 | "shasum": "" 3130 | }, 3131 | "require": { 3132 | "doctrine/instantiator": "^1.0.2", 3133 | "php": ">=5.3.3", 3134 | "phpunit/php-text-template": "~1.2", 3135 | "sebastian/exporter": "~1.2" 3136 | }, 3137 | "require-dev": { 3138 | "phpunit/phpunit": "~4.4" 3139 | }, 3140 | "suggest": { 3141 | "ext-soap": "*" 3142 | }, 3143 | "type": "library", 3144 | "extra": { 3145 | "branch-alias": { 3146 | "dev-master": "2.3.x-dev" 3147 | } 3148 | }, 3149 | "autoload": { 3150 | "classmap": [ 3151 | "src/" 3152 | ] 3153 | }, 3154 | "notification-url": "https://packagist.org/downloads/", 3155 | "license": [ 3156 | "BSD-3-Clause" 3157 | ], 3158 | "authors": [ 3159 | { 3160 | "name": "Sebastian Bergmann", 3161 | "email": "sb@sebastian-bergmann.de", 3162 | "role": "lead" 3163 | } 3164 | ], 3165 | "description": "Mock Object library for PHPUnit", 3166 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", 3167 | "keywords": [ 3168 | "mock", 3169 | "xunit" 3170 | ], 3171 | "time": "2015-10-02 06:51:40" 3172 | }, 3173 | { 3174 | "name": "sebastian/comparator", 3175 | "version": "1.2.0", 3176 | "source": { 3177 | "type": "git", 3178 | "url": "https://github.com/sebastianbergmann/comparator.git", 3179 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" 3180 | }, 3181 | "dist": { 3182 | "type": "zip", 3183 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", 3184 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", 3185 | "shasum": "" 3186 | }, 3187 | "require": { 3188 | "php": ">=5.3.3", 3189 | "sebastian/diff": "~1.2", 3190 | "sebastian/exporter": "~1.2" 3191 | }, 3192 | "require-dev": { 3193 | "phpunit/phpunit": "~4.4" 3194 | }, 3195 | "type": "library", 3196 | "extra": { 3197 | "branch-alias": { 3198 | "dev-master": "1.2.x-dev" 3199 | } 3200 | }, 3201 | "autoload": { 3202 | "classmap": [ 3203 | "src/" 3204 | ] 3205 | }, 3206 | "notification-url": "https://packagist.org/downloads/", 3207 | "license": [ 3208 | "BSD-3-Clause" 3209 | ], 3210 | "authors": [ 3211 | { 3212 | "name": "Jeff Welch", 3213 | "email": "whatthejeff@gmail.com" 3214 | }, 3215 | { 3216 | "name": "Volker Dusch", 3217 | "email": "github@wallbash.com" 3218 | }, 3219 | { 3220 | "name": "Bernhard Schussek", 3221 | "email": "bschussek@2bepublished.at" 3222 | }, 3223 | { 3224 | "name": "Sebastian Bergmann", 3225 | "email": "sebastian@phpunit.de" 3226 | } 3227 | ], 3228 | "description": "Provides the functionality to compare PHP values for equality", 3229 | "homepage": "http://www.github.com/sebastianbergmann/comparator", 3230 | "keywords": [ 3231 | "comparator", 3232 | "compare", 3233 | "equality" 3234 | ], 3235 | "time": "2015-07-26 15:48:44" 3236 | }, 3237 | { 3238 | "name": "sebastian/diff", 3239 | "version": "1.4.1", 3240 | "source": { 3241 | "type": "git", 3242 | "url": "https://github.com/sebastianbergmann/diff.git", 3243 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" 3244 | }, 3245 | "dist": { 3246 | "type": "zip", 3247 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", 3248 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", 3249 | "shasum": "" 3250 | }, 3251 | "require": { 3252 | "php": ">=5.3.3" 3253 | }, 3254 | "require-dev": { 3255 | "phpunit/phpunit": "~4.8" 3256 | }, 3257 | "type": "library", 3258 | "extra": { 3259 | "branch-alias": { 3260 | "dev-master": "1.4-dev" 3261 | } 3262 | }, 3263 | "autoload": { 3264 | "classmap": [ 3265 | "src/" 3266 | ] 3267 | }, 3268 | "notification-url": "https://packagist.org/downloads/", 3269 | "license": [ 3270 | "BSD-3-Clause" 3271 | ], 3272 | "authors": [ 3273 | { 3274 | "name": "Kore Nordmann", 3275 | "email": "mail@kore-nordmann.de" 3276 | }, 3277 | { 3278 | "name": "Sebastian Bergmann", 3279 | "email": "sebastian@phpunit.de" 3280 | } 3281 | ], 3282 | "description": "Diff implementation", 3283 | "homepage": "https://github.com/sebastianbergmann/diff", 3284 | "keywords": [ 3285 | "diff" 3286 | ], 3287 | "time": "2015-12-08 07:14:41" 3288 | }, 3289 | { 3290 | "name": "sebastian/environment", 3291 | "version": "1.3.6", 3292 | "source": { 3293 | "type": "git", 3294 | "url": "https://github.com/sebastianbergmann/environment.git", 3295 | "reference": "2292b116f43c272ff4328083096114f84ea46a56" 3296 | }, 3297 | "dist": { 3298 | "type": "zip", 3299 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/2292b116f43c272ff4328083096114f84ea46a56", 3300 | "reference": "2292b116f43c272ff4328083096114f84ea46a56", 3301 | "shasum": "" 3302 | }, 3303 | "require": { 3304 | "php": ">=5.3.3" 3305 | }, 3306 | "require-dev": { 3307 | "phpunit/phpunit": "~4.4" 3308 | }, 3309 | "type": "library", 3310 | "extra": { 3311 | "branch-alias": { 3312 | "dev-master": "1.3.x-dev" 3313 | } 3314 | }, 3315 | "autoload": { 3316 | "classmap": [ 3317 | "src/" 3318 | ] 3319 | }, 3320 | "notification-url": "https://packagist.org/downloads/", 3321 | "license": [ 3322 | "BSD-3-Clause" 3323 | ], 3324 | "authors": [ 3325 | { 3326 | "name": "Sebastian Bergmann", 3327 | "email": "sebastian@phpunit.de" 3328 | } 3329 | ], 3330 | "description": "Provides functionality to handle HHVM/PHP environments", 3331 | "homepage": "http://www.github.com/sebastianbergmann/environment", 3332 | "keywords": [ 3333 | "Xdebug", 3334 | "environment", 3335 | "hhvm" 3336 | ], 3337 | "time": "2016-05-04 07:59:13" 3338 | }, 3339 | { 3340 | "name": "sebastian/exporter", 3341 | "version": "1.2.1", 3342 | "source": { 3343 | "type": "git", 3344 | "url": "https://github.com/sebastianbergmann/exporter.git", 3345 | "reference": "7ae5513327cb536431847bcc0c10edba2701064e" 3346 | }, 3347 | "dist": { 3348 | "type": "zip", 3349 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", 3350 | "reference": "7ae5513327cb536431847bcc0c10edba2701064e", 3351 | "shasum": "" 3352 | }, 3353 | "require": { 3354 | "php": ">=5.3.3", 3355 | "sebastian/recursion-context": "~1.0" 3356 | }, 3357 | "require-dev": { 3358 | "phpunit/phpunit": "~4.4" 3359 | }, 3360 | "type": "library", 3361 | "extra": { 3362 | "branch-alias": { 3363 | "dev-master": "1.2.x-dev" 3364 | } 3365 | }, 3366 | "autoload": { 3367 | "classmap": [ 3368 | "src/" 3369 | ] 3370 | }, 3371 | "notification-url": "https://packagist.org/downloads/", 3372 | "license": [ 3373 | "BSD-3-Clause" 3374 | ], 3375 | "authors": [ 3376 | { 3377 | "name": "Jeff Welch", 3378 | "email": "whatthejeff@gmail.com" 3379 | }, 3380 | { 3381 | "name": "Volker Dusch", 3382 | "email": "github@wallbash.com" 3383 | }, 3384 | { 3385 | "name": "Bernhard Schussek", 3386 | "email": "bschussek@2bepublished.at" 3387 | }, 3388 | { 3389 | "name": "Sebastian Bergmann", 3390 | "email": "sebastian@phpunit.de" 3391 | }, 3392 | { 3393 | "name": "Adam Harvey", 3394 | "email": "aharvey@php.net" 3395 | } 3396 | ], 3397 | "description": "Provides the functionality to export PHP variables for visualization", 3398 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 3399 | "keywords": [ 3400 | "export", 3401 | "exporter" 3402 | ], 3403 | "time": "2015-06-21 07:55:53" 3404 | }, 3405 | { 3406 | "name": "sebastian/global-state", 3407 | "version": "1.1.1", 3408 | "source": { 3409 | "type": "git", 3410 | "url": "https://github.com/sebastianbergmann/global-state.git", 3411 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" 3412 | }, 3413 | "dist": { 3414 | "type": "zip", 3415 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", 3416 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", 3417 | "shasum": "" 3418 | }, 3419 | "require": { 3420 | "php": ">=5.3.3" 3421 | }, 3422 | "require-dev": { 3423 | "phpunit/phpunit": "~4.2" 3424 | }, 3425 | "suggest": { 3426 | "ext-uopz": "*" 3427 | }, 3428 | "type": "library", 3429 | "extra": { 3430 | "branch-alias": { 3431 | "dev-master": "1.0-dev" 3432 | } 3433 | }, 3434 | "autoload": { 3435 | "classmap": [ 3436 | "src/" 3437 | ] 3438 | }, 3439 | "notification-url": "https://packagist.org/downloads/", 3440 | "license": [ 3441 | "BSD-3-Clause" 3442 | ], 3443 | "authors": [ 3444 | { 3445 | "name": "Sebastian Bergmann", 3446 | "email": "sebastian@phpunit.de" 3447 | } 3448 | ], 3449 | "description": "Snapshotting of global state", 3450 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 3451 | "keywords": [ 3452 | "global state" 3453 | ], 3454 | "time": "2015-10-12 03:26:01" 3455 | }, 3456 | { 3457 | "name": "sebastian/recursion-context", 3458 | "version": "1.0.2", 3459 | "source": { 3460 | "type": "git", 3461 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 3462 | "reference": "913401df809e99e4f47b27cdd781f4a258d58791" 3463 | }, 3464 | "dist": { 3465 | "type": "zip", 3466 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", 3467 | "reference": "913401df809e99e4f47b27cdd781f4a258d58791", 3468 | "shasum": "" 3469 | }, 3470 | "require": { 3471 | "php": ">=5.3.3" 3472 | }, 3473 | "require-dev": { 3474 | "phpunit/phpunit": "~4.4" 3475 | }, 3476 | "type": "library", 3477 | "extra": { 3478 | "branch-alias": { 3479 | "dev-master": "1.0.x-dev" 3480 | } 3481 | }, 3482 | "autoload": { 3483 | "classmap": [ 3484 | "src/" 3485 | ] 3486 | }, 3487 | "notification-url": "https://packagist.org/downloads/", 3488 | "license": [ 3489 | "BSD-3-Clause" 3490 | ], 3491 | "authors": [ 3492 | { 3493 | "name": "Jeff Welch", 3494 | "email": "whatthejeff@gmail.com" 3495 | }, 3496 | { 3497 | "name": "Sebastian Bergmann", 3498 | "email": "sebastian@phpunit.de" 3499 | }, 3500 | { 3501 | "name": "Adam Harvey", 3502 | "email": "aharvey@php.net" 3503 | } 3504 | ], 3505 | "description": "Provides functionality to recursively process PHP variables", 3506 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 3507 | "time": "2015-11-11 19:50:13" 3508 | }, 3509 | { 3510 | "name": "sebastian/version", 3511 | "version": "1.0.6", 3512 | "source": { 3513 | "type": "git", 3514 | "url": "https://github.com/sebastianbergmann/version.git", 3515 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" 3516 | }, 3517 | "dist": { 3518 | "type": "zip", 3519 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 3520 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 3521 | "shasum": "" 3522 | }, 3523 | "type": "library", 3524 | "autoload": { 3525 | "classmap": [ 3526 | "src/" 3527 | ] 3528 | }, 3529 | "notification-url": "https://packagist.org/downloads/", 3530 | "license": [ 3531 | "BSD-3-Clause" 3532 | ], 3533 | "authors": [ 3534 | { 3535 | "name": "Sebastian Bergmann", 3536 | "email": "sebastian@phpunit.de", 3537 | "role": "lead" 3538 | } 3539 | ], 3540 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 3541 | "homepage": "https://github.com/sebastianbergmann/version", 3542 | "time": "2015-06-21 13:59:46" 3543 | }, 3544 | { 3545 | "name": "symfony/yaml", 3546 | "version": "v3.0.5", 3547 | "source": { 3548 | "type": "git", 3549 | "url": "https://github.com/symfony/yaml.git", 3550 | "reference": "0047c8366744a16de7516622c5b7355336afae96" 3551 | }, 3552 | "dist": { 3553 | "type": "zip", 3554 | "url": "https://api.github.com/repos/symfony/yaml/zipball/0047c8366744a16de7516622c5b7355336afae96", 3555 | "reference": "0047c8366744a16de7516622c5b7355336afae96", 3556 | "shasum": "" 3557 | }, 3558 | "require": { 3559 | "php": ">=5.5.9" 3560 | }, 3561 | "type": "library", 3562 | "extra": { 3563 | "branch-alias": { 3564 | "dev-master": "3.0-dev" 3565 | } 3566 | }, 3567 | "autoload": { 3568 | "psr-4": { 3569 | "Symfony\\Component\\Yaml\\": "" 3570 | }, 3571 | "exclude-from-classmap": [ 3572 | "/Tests/" 3573 | ] 3574 | }, 3575 | "notification-url": "https://packagist.org/downloads/", 3576 | "license": [ 3577 | "MIT" 3578 | ], 3579 | "authors": [ 3580 | { 3581 | "name": "Fabien Potencier", 3582 | "email": "fabien@symfony.com" 3583 | }, 3584 | { 3585 | "name": "Symfony Community", 3586 | "homepage": "https://symfony.com/contributors" 3587 | } 3588 | ], 3589 | "description": "Symfony Yaml Component", 3590 | "homepage": "https://symfony.com", 3591 | "time": "2016-03-04 07:55:57" 3592 | } 3593 | ], 3594 | "aliases": [], 3595 | "minimum-stability": "stable", 3596 | "stability-flags": [], 3597 | "prefer-stable": false, 3598 | "prefer-lowest": false, 3599 | "platform": { 3600 | "php": ">=5.5.9" 3601 | }, 3602 | "platform-dev": [] 3603 | } 3604 | --------------------------------------------------------------------------------