Dan Brown

Updated laravel to 5.2 and started ldap implementation

...@@ -3,8 +3,11 @@ ...@@ -3,8 +3,11 @@
3 namespace BookStack\Exceptions; 3 namespace BookStack\Exceptions;
4 4
5 use Exception; 5 use Exception;
6 +use Illuminate\Contracts\Validation\ValidationException;
7 +use Illuminate\Database\Eloquent\ModelNotFoundException;
6 use Symfony\Component\HttpKernel\Exception\HttpException; 8 use Symfony\Component\HttpKernel\Exception\HttpException;
7 use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; 9 use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
10 +use Illuminate\Auth\Access\AuthorizationException;
8 11
9 class Handler extends ExceptionHandler 12 class Handler extends ExceptionHandler
10 { 13 {
...@@ -14,7 +17,10 @@ class Handler extends ExceptionHandler ...@@ -14,7 +17,10 @@ class Handler extends ExceptionHandler
14 * @var array 17 * @var array
15 */ 18 */
16 protected $dontReport = [ 19 protected $dontReport = [
20 + AuthorizationException::class,
17 HttpException::class, 21 HttpException::class,
22 + ModelNotFoundException::class,
23 + ValidationException::class,
18 ]; 24 ];
19 25
20 /** 26 /**
......
1 +<?php namespace BookStack\Exceptions;
2 +
3 +
4 +use Exception;
5 +
6 +class LdapException extends Exception
7 +{
8 +
9 +}
...\ No newline at end of file ...\ No newline at end of file
...@@ -29,7 +29,6 @@ class AuthController extends Controller ...@@ -29,7 +29,6 @@ class AuthController extends Controller
29 29
30 use AuthenticatesAndRegistersUsers, ThrottlesLogins; 30 use AuthenticatesAndRegistersUsers, ThrottlesLogins;
31 31
32 - protected $loginPath = '/login';
33 protected $redirectPath = '/'; 32 protected $redirectPath = '/';
34 protected $redirectAfterLogout = '/login'; 33 protected $redirectAfterLogout = '/login';
35 34
...@@ -232,13 +231,9 @@ class AuthController extends Controller ...@@ -232,13 +231,9 @@ class AuthController extends Controller
232 */ 231 */
233 public function getLogin() 232 public function getLogin()
234 { 233 {
235 -
236 - if (view()->exists('auth.authenticate')) {
237 - return view('auth.authenticate');
238 - }
239 -
240 $socialDrivers = $this->socialAuthService->getActiveDrivers(); 234 $socialDrivers = $this->socialAuthService->getActiveDrivers();
241 - return view('auth.login', ['socialDrivers' => $socialDrivers]); 235 + $authMethod = 'standard'; // TODO - rewrite to use config.
236 + return view('auth/login', ['socialDrivers' => $socialDrivers, 'authMethod' => $authMethod]);
242 } 237 }
243 238
244 /** 239 /**
...@@ -253,7 +248,7 @@ class AuthController extends Controller ...@@ -253,7 +248,7 @@ class AuthController extends Controller
253 } 248 }
254 249
255 /** 250 /**
256 - * Redirect to the social site for authentication initended to register. 251 + * Redirect to the social site for authentication intended to register.
257 * @param $socialDriver 252 * @param $socialDriver
258 * @return mixed 253 * @return mixed
259 */ 254 */
......
...@@ -48,7 +48,7 @@ abstract class Controller extends BaseController ...@@ -48,7 +48,7 @@ abstract class Controller extends BaseController
48 */ 48 */
49 protected function preventAccessForDemoUsers() 49 protected function preventAccessForDemoUsers()
50 { 50 {
51 - if (env('APP_ENV', 'production') === 'demo') $this->showPermissionError(); 51 + if (config('app.env') === 'demo') $this->showPermissionError();
52 } 52 }
53 53
54 /** 54 /**
......
...@@ -72,7 +72,7 @@ class UserController extends Controller ...@@ -72,7 +72,7 @@ class UserController extends Controller
72 $user->attachRoleId($request->get('role')); 72 $user->attachRoleId($request->get('role'));
73 73
74 // Get avatar from gravatar and save 74 // Get avatar from gravatar and save
75 - if (!env('DISABLE_EXTERNAL_SERVICES', false)) { 75 + if (!config('services.disable_services')) {
76 $avatar = \Images::saveUserGravatar($user); 76 $avatar = \Images::saveUserGravatar($user);
77 $user->avatar()->associate($avatar); 77 $user->avatar()->associate($avatar);
78 $user->save(); 78 $user->save();
......
1 <?php 1 <?php
2 2
3 +Route::get('/test', function() {
4 + // TODO - remove this
5 + $service = new \BookStack\Services\LdapService();
6 + $service->getUserDetails('ssmith');
7 +});
8 +
3 // Authenticated routes... 9 // Authenticated routes...
4 Route::group(['middleware' => 'auth'], function () { 10 Route::group(['middleware' => 'auth'], function () {
5 11
......
1 +<?php
2 +
3 +namespace BookStack\Providers;
4 +
5 +use Auth;
6 +use Illuminate\Support\ServiceProvider;
7 +
8 +class AuthServiceProvider extends ServiceProvider
9 +{
10 + /**
11 + * Bootstrap the application services.
12 + *
13 + * @return void
14 + */
15 + public function boot()
16 + {
17 + //
18 + }
19 +
20 + /**
21 + * Register the application services.
22 + *
23 + * @return void
24 + */
25 + public function register()
26 + {
27 + Auth::provider('ldap', function($app, array $config) {
28 + return new LdapUserProvider($config['model']);
29 + });
30 + }
31 +}
1 +<?php
2 +
3 +namespace BookStack\Providers;
4 +
5 +
6 +use BookStack\User;
7 +use Illuminate\Contracts\Auth\Authenticatable;
8 +use Illuminate\Contracts\Auth\UserProvider;
9 +
10 +class LdapUserProvider implements UserProvider
11 +{
12 +
13 + /**
14 + * The user model.
15 + *
16 + * @var string
17 + */
18 + protected $model;
19 +
20 +
21 + /**
22 + * LdapUserProvider constructor.
23 + * @param $model
24 + */
25 + public function __construct($model)
26 + {
27 + $this->model = $model;
28 + }
29 +
30 + /**
31 + * Create a new instance of the model.
32 + *
33 + * @return \Illuminate\Database\Eloquent\Model
34 + */
35 + public function createModel()
36 + {
37 + $class = '\\'.ltrim($this->model, '\\');
38 +
39 + return new $class;
40 + }
41 +
42 +
43 + /**
44 + * Retrieve a user by their unique identifier.
45 + *
46 + * @param mixed $identifier
47 + * @return \Illuminate\Contracts\Auth\Authenticatable|null
48 + */
49 + public function retrieveById($identifier)
50 + {
51 + return $this->createModel()->newQuery()->find($identifier);
52 + }
53 +
54 + /**
55 + * Retrieve a user by their unique identifier and "remember me" token.
56 + *
57 + * @param mixed $identifier
58 + * @param string $token
59 + * @return \Illuminate\Contracts\Auth\Authenticatable|null
60 + */
61 + public function retrieveByToken($identifier, $token)
62 + {
63 + $model = $this->createModel();
64 +
65 + return $model->newQuery()
66 + ->where($model->getAuthIdentifierName(), $identifier)
67 + ->where($model->getRememberTokenName(), $token)
68 + ->first();
69 + }
70 +
71 +
72 + /**
73 + * Update the "remember me" token for the given user in storage.
74 + *
75 + * @param \Illuminate\Contracts\Auth\Authenticatable $user
76 + * @param string $token
77 + * @return void
78 + */
79 + public function updateRememberToken(Authenticatable $user, $token)
80 + {
81 + $user->setRememberToken($token);
82 +
83 + $user->save();
84 + }
85 +
86 + /**
87 + * Retrieve a user by the given credentials.
88 + *
89 + * @param array $credentials
90 + * @return \Illuminate\Contracts\Auth\Authenticatable|null
91 + */
92 + public function retrieveByCredentials(array $credentials)
93 + {
94 + // TODO: Implement retrieveByCredentials() method.
95 +
96 + // Get user via LDAP
97 +
98 + // Search current user base by looking up a uid
99 +
100 + // If not exists create a new user instance with attached role
101 + // but do not store it in the database yet
102 +
103 + //
104 + }
105 +
106 + /**
107 + * Validate a user against the given credentials.
108 + *
109 + * @param \Illuminate\Contracts\Auth\Authenticatable $user
110 + * @param array $credentials
111 + * @return bool
112 + */
113 + public function validateCredentials(Authenticatable $user, array $credentials)
114 + {
115 + // TODO: Implement validateCredentials() method.
116 + }
117 +}
...@@ -200,7 +200,7 @@ class ImageService ...@@ -200,7 +200,7 @@ class ImageService
200 { 200 {
201 if ($this->storageInstance !== null) return $this->storageInstance; 201 if ($this->storageInstance !== null) return $this->storageInstance;
202 202
203 - $storageType = env('STORAGE_TYPE'); 203 + $storageType = config('filesystems.default');
204 $this->storageInstance = $this->fileSystem->disk($storageType); 204 $this->storageInstance = $this->fileSystem->disk($storageType);
205 205
206 return $this->storageInstance; 206 return $this->storageInstance;
...@@ -226,10 +226,10 @@ class ImageService ...@@ -226,10 +226,10 @@ class ImageService
226 private function getPublicUrl($filePath) 226 private function getPublicUrl($filePath)
227 { 227 {
228 if ($this->storageUrl === null) { 228 if ($this->storageUrl === null) {
229 - $storageUrl = env('STORAGE_URL'); 229 + $storageUrl = config('filesystems.url');
230 230
231 // Get the standard public s3 url if s3 is set as storage type 231 // Get the standard public s3 url if s3 is set as storage type
232 - if ($storageUrl == false && env('STORAGE_TYPE') === 's3') { 232 + if ($storageUrl == false && config('filesystems.default') === 's3') {
233 $storageDetails = config('filesystems.disks.s3'); 233 $storageDetails = config('filesystems.disks.s3');
234 $storageUrl = 'https://s3-' . $storageDetails['region'] . '.amazonaws.com/' . $storageDetails['bucket']; 234 $storageUrl = 'https://s3-' . $storageDetails['region'] . '.amazonaws.com/' . $storageDetails['bucket'];
235 } 235 }
......
1 +<?php namespace BookStack\Services;
2 +
3 +
4 +use BookStack\Exceptions\LdapException;
5 +
6 +class LdapService
7 +{
8 +
9 + public function getUserDetails($userName)
10 + {
11 +
12 + if(!function_exists('ldap_connect')) {
13 + throw new LdapException('LDAP PHP extension not installed');
14 + }
15 +
16 +
17 + $ldapServer = explode(':', config('services.ldap.server'));
18 + $ldapConnection = ldap_connect($ldapServer[0], count($ldapServer) > 1 ? $ldapServer[1] : 389);
19 +
20 + if ($ldapConnection === false) {
21 + throw new LdapException('Cannot connect to ldap server, Initial connection failed');
22 + }
23 +
24 + // Options
25 +
26 + ldap_set_option($ldapConnection, LDAP_OPT_PROTOCOL_VERSION, 3); // TODO - make configurable
27 +
28 + $ldapDn = config('services.ldap.dn');
29 + $ldapPass = config('services.ldap.pass');
30 + $isAnonymous = ($ldapDn === false || $ldapPass === false);
31 + if ($isAnonymous) {
32 + $ldapBind = ldap_bind($ldapConnection);
33 + } else {
34 + $ldapBind = ldap_bind($ldapConnection, $ldapDn, $ldapPass);
35 + }
36 +
37 + if (!$ldapBind) throw new LdapException('LDAP access failed using ' . $isAnonymous ? ' anonymous bind.' : ' given dn & pass details');
38 +
39 + // Find user
40 + $userFilter = $this->buildFilter(config('services.ldap.user_filter'), ['user' => $userName]);
41 + //dd($userFilter);
42 + $baseDn = config('services.ldap.base_dn');
43 + $ldapSearch = ldap_search($ldapConnection, $baseDn, $userFilter);
44 + $users = ldap_get_entries($ldapConnection, $ldapSearch);
45 +
46 + dd($users);
47 + }
48 +
49 +
50 + private function buildFilter($filterString, $attrs)
51 + {
52 + $newAttrs = [];
53 + foreach ($attrs as $key => $attrText) {
54 + $newKey = '${'.$key.'}';
55 + $newAttrs[$newKey] = $attrText;
56 + }
57 + return strtr($filterString, $newAttrs);
58 + }
59 +
60 +}
...\ No newline at end of file ...\ No newline at end of file
...@@ -76,9 +76,9 @@ class SocialAuthService ...@@ -76,9 +76,9 @@ class SocialAuthService
76 throw new UserRegistrationException('This ' . $socialDriver . ' account is already in use, Try logging in via the ' . $socialDriver . ' option.', '/login'); 76 throw new UserRegistrationException('This ' . $socialDriver . ' account is already in use, Try logging in via the ' . $socialDriver . ' option.', '/login');
77 } 77 }
78 78
79 - if($this->userRepo->getByEmail($socialUser->getEmail())) { 79 + if ($this->userRepo->getByEmail($socialUser->getEmail())) {
80 $email = $socialUser->getEmail(); 80 $email = $socialUser->getEmail();
81 - throw new UserRegistrationException('The email '. $email.' is already in use. If you already have an account you can connect your ' . $socialDriver .' account from your profile settings.', '/login'); 81 + throw new UserRegistrationException('The email ' . $email . ' is already in use. If you already have an account you can connect your ' . $socialDriver . ' account from your profile settings.', '/login');
82 } 82 }
83 83
84 return $socialUser; 84 return $socialUser;
...@@ -172,9 +172,10 @@ class SocialAuthService ...@@ -172,9 +172,10 @@ class SocialAuthService
172 */ 172 */
173 private function checkDriverConfigured($driver) 173 private function checkDriverConfigured($driver)
174 { 174 {
175 - $upperName = strtoupper($driver); 175 + $lowerName = strtolower($driver);
176 - $config = [env($upperName . '_APP_ID', false), env($upperName . '_APP_SECRET', false), env('APP_URL', false)]; 176 + $configPrefix = 'services.' . $lowerName . '.';
177 - return (!in_array(false, $config) && !in_array(null, $config)); 177 + $config = [config($configPrefix . 'client_id'), config($configPrefix . 'client_secret'), config('services.callback_url')];
178 + return !in_array(false, $config) && !in_array(null, $config);
178 } 179 }
179 180
180 /** 181 /**
...@@ -193,7 +194,7 @@ class SocialAuthService ...@@ -193,7 +194,7 @@ class SocialAuthService
193 } 194 }
194 195
195 /** 196 /**
196 - * @param string $socialDriver 197 + * @param string $socialDriver
197 * @param \Laravel\Socialite\Contracts\User $socialUser 198 * @param \Laravel\Socialite\Contracts\User $socialUser
198 * @return SocialAccount 199 * @return SocialAccount
199 */ 200 */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
6 "type": "project", 6 "type": "project",
7 "require": { 7 "require": {
8 "php": ">=5.5.9", 8 "php": ">=5.5.9",
9 - "laravel/framework": "5.1.*", 9 + "laravel/framework": "5.2.*",
10 "intervention/image": "^2.3", 10 "intervention/image": "^2.3",
11 "laravel/socialite": "^2.0", 11 "laravel/socialite": "^2.0",
12 "barryvdh/laravel-ide-helper": "^2.1", 12 "barryvdh/laravel-ide-helper": "^2.1",
...@@ -17,7 +17,9 @@ ...@@ -17,7 +17,9 @@
17 "fzaninotto/faker": "~1.4", 17 "fzaninotto/faker": "~1.4",
18 "mockery/mockery": "0.9.*", 18 "mockery/mockery": "0.9.*",
19 "phpunit/phpunit": "~4.0", 19 "phpunit/phpunit": "~4.0",
20 - "phpspec/phpspec": "~2.1" 20 + "phpspec/phpspec": "~2.1",
21 + "symfony/dom-crawler": "~3.0",
22 + "symfony/css-selector": "~3.0"
21 }, 23 },
22 "autoload": { 24 "autoload": {
23 "classmap": [ 25 "classmap": [
......
...@@ -4,21 +4,21 @@ ...@@ -4,21 +4,21 @@
4 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", 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" 5 "This file is @generated automatically"
6 ], 6 ],
7 - "hash": "19725116631f01881caafa33052eecb9", 7 + "hash": "1ca2bc3308d193a556124513e1f57106",
8 - "content-hash": "f1dbd776f0ae13ec99e4e6d99510cd8e", 8 + "content-hash": "99d01bead4e1ead29f826cd7eae234ea",
9 "packages": [ 9 "packages": [
10 { 10 {
11 "name": "aws/aws-sdk-php", 11 "name": "aws/aws-sdk-php",
12 - "version": "3.11.4", 12 + "version": "3.12.1",
13 "source": { 13 "source": {
14 "type": "git", 14 "type": "git",
15 "url": "https://github.com/aws/aws-sdk-php.git", 15 "url": "https://github.com/aws/aws-sdk-php.git",
16 - "reference": "2524c78e0fa1ed049719b8b6b0696f0b6dfb1ca2" 16 + "reference": "5ee0f33fafe47740c03ff38ddb73ae4f52b4da5b"
17 }, 17 },
18 "dist": { 18 "dist": {
19 "type": "zip", 19 "type": "zip",
20 - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/2524c78e0fa1ed049719b8b6b0696f0b6dfb1ca2", 20 + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5ee0f33fafe47740c03ff38ddb73ae4f52b4da5b",
21 - "reference": "2524c78e0fa1ed049719b8b6b0696f0b6dfb1ca2", 21 + "reference": "5ee0f33fafe47740c03ff38ddb73ae4f52b4da5b",
22 "shasum": "" 22 "shasum": ""
23 }, 23 },
24 "require": { 24 "require": {
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
43 "phpunit/phpunit": "~4.0" 43 "phpunit/phpunit": "~4.0"
44 }, 44 },
45 "suggest": { 45 "suggest": {
46 + "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications",
46 "doctrine/cache": "To use the DoctrineCacheAdapter", 47 "doctrine/cache": "To use the DoctrineCacheAdapter",
47 "ext-curl": "To send requests using cURL", 48 "ext-curl": "To send requests using cURL",
48 "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages" 49 "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages"
...@@ -83,32 +84,32 @@ ...@@ -83,32 +84,32 @@
83 "s3", 84 "s3",
84 "sdk" 85 "sdk"
85 ], 86 ],
86 - "time": "2015-12-04 01:19:53" 87 + "time": "2016-01-06 22:50:48"
87 }, 88 },
88 { 89 {
89 "name": "barryvdh/laravel-debugbar", 90 "name": "barryvdh/laravel-debugbar",
90 - "version": "v2.0.6", 91 + "version": "v2.1.1",
91 "source": { 92 "source": {
92 "type": "git", 93 "type": "git",
93 "url": "https://github.com/barryvdh/laravel-debugbar.git", 94 "url": "https://github.com/barryvdh/laravel-debugbar.git",
94 - "reference": "23672cbbe78278ff1fdb258caa0b1de7b5d0bc0c" 95 + "reference": "974fd16e328ca851a081449100d9509af59cf0ff"
95 }, 96 },
96 "dist": { 97 "dist": {
97 "type": "zip", 98 "type": "zip",
98 - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/23672cbbe78278ff1fdb258caa0b1de7b5d0bc0c", 99 + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/974fd16e328ca851a081449100d9509af59cf0ff",
99 - "reference": "23672cbbe78278ff1fdb258caa0b1de7b5d0bc0c", 100 + "reference": "974fd16e328ca851a081449100d9509af59cf0ff",
100 "shasum": "" 101 "shasum": ""
101 }, 102 },
102 "require": { 103 "require": {
103 - "illuminate/support": "~5.0.17|5.1.*", 104 + "illuminate/support": "~5.0.17|5.1.*|5.2.*",
104 - "maximebf/debugbar": "~1.10.2", 105 + "maximebf/debugbar": "~1.11.0",
105 "php": ">=5.4.0", 106 "php": ">=5.4.0",
106 - "symfony/finder": "~2.6" 107 + "symfony/finder": "~2.6|~3.0"
107 }, 108 },
108 "type": "library", 109 "type": "library",
109 "extra": { 110 "extra": {
110 "branch-alias": { 111 "branch-alias": {
111 - "dev-master": "2.1-dev" 112 + "dev-master": "2.2-dev"
112 } 113 }
113 }, 114 },
114 "autoload": { 115 "autoload": {
...@@ -137,26 +138,26 @@ ...@@ -137,26 +138,26 @@
137 "profiler", 138 "profiler",
138 "webprofiler" 139 "webprofiler"
139 ], 140 ],
140 - "time": "2015-09-09 11:39:27" 141 + "time": "2015-12-22 06:22:38"
141 }, 142 },
142 { 143 {
143 "name": "barryvdh/laravel-ide-helper", 144 "name": "barryvdh/laravel-ide-helper",
144 - "version": "v2.1.0", 145 + "version": "v2.1.2",
145 "source": { 146 "source": {
146 "type": "git", 147 "type": "git",
147 "url": "https://github.com/barryvdh/laravel-ide-helper.git", 148 "url": "https://github.com/barryvdh/laravel-ide-helper.git",
148 - "reference": "83999f8467374adcb8893f566c9171c9d9691f50" 149 + "reference": "d82e8f191fb043a0f8cbf2de64fd3027bfa4f772"
149 }, 150 },
150 "dist": { 151 "dist": {
151 "type": "zip", 152 "type": "zip",
152 - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/83999f8467374adcb8893f566c9171c9d9691f50", 153 + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/d82e8f191fb043a0f8cbf2de64fd3027bfa4f772",
153 - "reference": "83999f8467374adcb8893f566c9171c9d9691f50", 154 + "reference": "d82e8f191fb043a0f8cbf2de64fd3027bfa4f772",
154 "shasum": "" 155 "shasum": ""
155 }, 156 },
156 "require": { 157 "require": {
157 - "illuminate/console": "5.0.x|5.1.x", 158 + "illuminate/console": "5.0.x|5.1.x|5.2.x",
158 - "illuminate/filesystem": "5.0.x|5.1.x", 159 + "illuminate/filesystem": "5.0.x|5.1.x|5.2.x",
159 - "illuminate/support": "5.0.x|5.1.x", 160 + "illuminate/support": "5.0.x|5.1.x|5.2.x",
160 "php": ">=5.4.0", 161 "php": ">=5.4.0",
161 "phpdocumentor/reflection-docblock": "2.0.4", 162 "phpdocumentor/reflection-docblock": "2.0.4",
162 "symfony/class-loader": "~2.3" 163 "symfony/class-loader": "~2.3"
...@@ -200,7 +201,7 @@ ...@@ -200,7 +201,7 @@
200 "phpstorm", 201 "phpstorm",
201 "sublime" 202 "sublime"
202 ], 203 ],
203 - "time": "2015-08-13 11:40:00" 204 + "time": "2015-12-21 19:48:06"
204 }, 205 },
205 { 206 {
206 "name": "classpreloader/classpreloader", 207 "name": "classpreloader/classpreloader",
...@@ -257,62 +258,6 @@ ...@@ -257,62 +258,6 @@
257 "time": "2015-11-09 22:51:51" 258 "time": "2015-11-09 22:51:51"
258 }, 259 },
259 { 260 {
260 - "name": "danielstjules/stringy",
261 - "version": "1.10.0",
262 - "source": {
263 - "type": "git",
264 - "url": "https://github.com/danielstjules/Stringy.git",
265 - "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b"
266 - },
267 - "dist": {
268 - "type": "zip",
269 - "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/4749c205db47ee5b32e8d1adf6d9aff8db6caf3b",
270 - "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b",
271 - "shasum": ""
272 - },
273 - "require": {
274 - "ext-mbstring": "*",
275 - "php": ">=5.3.0"
276 - },
277 - "require-dev": {
278 - "phpunit/phpunit": "~4.0"
279 - },
280 - "type": "library",
281 - "autoload": {
282 - "psr-4": {
283 - "Stringy\\": "src/"
284 - },
285 - "files": [
286 - "src/Create.php"
287 - ]
288 - },
289 - "notification-url": "https://packagist.org/downloads/",
290 - "license": [
291 - "MIT"
292 - ],
293 - "authors": [
294 - {
295 - "name": "Daniel St. Jules",
296 - "email": "danielst.jules@gmail.com",
297 - "homepage": "http://www.danielstjules.com"
298 - }
299 - ],
300 - "description": "A string manipulation library with multibyte support",
301 - "homepage": "https://github.com/danielstjules/Stringy",
302 - "keywords": [
303 - "UTF",
304 - "helpers",
305 - "manipulation",
306 - "methods",
307 - "multibyte",
308 - "string",
309 - "utf-8",
310 - "utility",
311 - "utils"
312 - ],
313 - "time": "2015-07-23 00:54:12"
314 - },
315 - {
316 "name": "dnoegel/php-xdg-base-dir", 261 "name": "dnoegel/php-xdg-base-dir",
317 "version": "0.1", 262 "version": "0.1",
318 "source": { 263 "source": {
...@@ -414,22 +359,22 @@ ...@@ -414,22 +359,22 @@
414 }, 359 },
415 { 360 {
416 "name": "guzzle/guzzle", 361 "name": "guzzle/guzzle",
417 - "version": "v3.9.3", 362 + "version": "v3.8.1",
418 "source": { 363 "source": {
419 "type": "git", 364 "type": "git",
420 - "url": "https://github.com/guzzle/guzzle3.git", 365 + "url": "https://github.com/guzzle/guzzle.git",
421 - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" 366 + "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba"
422 }, 367 },
423 "dist": { 368 "dist": {
424 "type": "zip", 369 "type": "zip",
425 - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", 370 + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/4de0618a01b34aa1c8c33a3f13f396dcd3882eba",
426 - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", 371 + "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba",
427 "shasum": "" 372 "shasum": ""
428 }, 373 },
429 "require": { 374 "require": {
430 "ext-curl": "*", 375 "ext-curl": "*",
431 "php": ">=5.3.3", 376 "php": ">=5.3.3",
432 - "symfony/event-dispatcher": "~2.1" 377 + "symfony/event-dispatcher": ">=2.1"
433 }, 378 },
434 "replace": { 379 "replace": {
435 "guzzle/batch": "self.version", 380 "guzzle/batch": "self.version",
...@@ -456,21 +401,18 @@ ...@@ -456,21 +401,18 @@
456 "guzzle/stream": "self.version" 401 "guzzle/stream": "self.version"
457 }, 402 },
458 "require-dev": { 403 "require-dev": {
459 - "doctrine/cache": "~1.3", 404 + "doctrine/cache": "*",
460 - "monolog/monolog": "~1.0", 405 + "monolog/monolog": "1.*",
461 "phpunit/phpunit": "3.7.*", 406 "phpunit/phpunit": "3.7.*",
462 - "psr/log": "~1.0", 407 + "psr/log": "1.0.*",
463 - "symfony/class-loader": "~2.1", 408 + "symfony/class-loader": "*",
464 - "zendframework/zend-cache": "2.*,<2.3", 409 + "zendframework/zend-cache": "<2.3",
465 - "zendframework/zend-log": "2.*,<2.3" 410 + "zendframework/zend-log": "<2.3"
466 - },
467 - "suggest": {
468 - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated."
469 }, 411 },
470 "type": "library", 412 "type": "library",
471 "extra": { 413 "extra": {
472 "branch-alias": { 414 "branch-alias": {
473 - "dev-master": "3.9-dev" 415 + "dev-master": "3.8-dev"
474 } 416 }
475 }, 417 },
476 "autoload": { 418 "autoload": {
...@@ -494,7 +436,7 @@ ...@@ -494,7 +436,7 @@
494 "homepage": "https://github.com/guzzle/guzzle/contributors" 436 "homepage": "https://github.com/guzzle/guzzle/contributors"
495 } 437 }
496 ], 438 ],
497 - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", 439 + "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients",
498 "homepage": "http://guzzlephp.org/", 440 "homepage": "http://guzzlephp.org/",
499 "keywords": [ 441 "keywords": [
500 "client", 442 "client",
...@@ -505,7 +447,7 @@ ...@@ -505,7 +447,7 @@
505 "rest", 447 "rest",
506 "web service" 448 "web service"
507 ], 449 ],
508 - "time": "2015-03-18 18:23:50" 450 + "time": "2014-01-28 22:29:15"
509 }, 451 },
510 { 452 {
511 "name": "guzzlehttp/guzzle", 453 "name": "guzzlehttp/guzzle",
...@@ -680,16 +622,16 @@ ...@@ -680,16 +622,16 @@
680 }, 622 },
681 { 623 {
682 "name": "intervention/image", 624 "name": "intervention/image",
683 - "version": "2.3.4", 625 + "version": "2.3.5",
684 "source": { 626 "source": {
685 "type": "git", 627 "type": "git",
686 "url": "https://github.com/Intervention/image.git", 628 "url": "https://github.com/Intervention/image.git",
687 - "reference": "a67ee32df0c6820cc6e861ad4144ee0ef9c74aa3" 629 + "reference": "9f29360b8ab94585cb9e80cf9045abd5b85feb89"
688 }, 630 },
689 "dist": { 631 "dist": {
690 "type": "zip", 632 "type": "zip",
691 - "url": "https://api.github.com/repos/Intervention/image/zipball/a67ee32df0c6820cc6e861ad4144ee0ef9c74aa3", 633 + "url": "https://api.github.com/repos/Intervention/image/zipball/9f29360b8ab94585cb9e80cf9045abd5b85feb89",
692 - "reference": "a67ee32df0c6820cc6e861ad4144ee0ef9c74aa3", 634 + "reference": "9f29360b8ab94585cb9e80cf9045abd5b85feb89",
693 "shasum": "" 635 "shasum": ""
694 }, 636 },
695 "require": { 637 "require": {
...@@ -738,7 +680,7 @@ ...@@ -738,7 +680,7 @@
738 "thumbnail", 680 "thumbnail",
739 "watermark" 681 "watermark"
740 ], 682 ],
741 - "time": "2015-11-30 17:03:21" 683 + "time": "2016-01-02 19:15:13"
742 }, 684 },
743 { 685 {
744 "name": "jakub-onderka/php-console-color", 686 "name": "jakub-onderka/php-console-color",
...@@ -829,30 +771,30 @@ ...@@ -829,30 +771,30 @@
829 }, 771 },
830 { 772 {
831 "name": "jeremeamia/SuperClosure", 773 "name": "jeremeamia/SuperClosure",
832 - "version": "2.1.0", 774 + "version": "2.2.0",
833 "source": { 775 "source": {
834 "type": "git", 776 "type": "git",
835 "url": "https://github.com/jeremeamia/super_closure.git", 777 "url": "https://github.com/jeremeamia/super_closure.git",
836 - "reference": "b712f39c671e5ead60c7ebfe662545456aade833" 778 + "reference": "29a88be2a4846d27c1613aed0c9071dfad7b5938"
837 }, 779 },
838 "dist": { 780 "dist": {
839 "type": "zip", 781 "type": "zip",
840 - "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/b712f39c671e5ead60c7ebfe662545456aade833", 782 + "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/29a88be2a4846d27c1613aed0c9071dfad7b5938",
841 - "reference": "b712f39c671e5ead60c7ebfe662545456aade833", 783 + "reference": "29a88be2a4846d27c1613aed0c9071dfad7b5938",
842 "shasum": "" 784 "shasum": ""
843 }, 785 },
844 "require": { 786 "require": {
845 - "nikic/php-parser": "~1.0", 787 + "nikic/php-parser": "^1.2|^2.0",
846 - "php": ">=5.4" 788 + "php": ">=5.4",
789 + "symfony/polyfill-php56": "^1.0"
847 }, 790 },
848 "require-dev": { 791 "require-dev": {
849 - "codeclimate/php-test-reporter": "~0.1.2", 792 + "phpunit/phpunit": "^4.0|^5.0"
850 - "phpunit/phpunit": "~4.0"
851 }, 793 },
852 "type": "library", 794 "type": "library",
853 "extra": { 795 "extra": {
854 "branch-alias": { 796 "branch-alias": {
855 - "dev-master": "2.1-dev" 797 + "dev-master": "2.2-dev"
856 } 798 }
857 }, 799 },
858 "autoload": { 800 "autoload": {
...@@ -869,7 +811,7 @@ ...@@ -869,7 +811,7 @@
869 "name": "Jeremy Lindblom", 811 "name": "Jeremy Lindblom",
870 "email": "jeremeamia@gmail.com", 812 "email": "jeremeamia@gmail.com",
871 "homepage": "https://github.com/jeremeamia", 813 "homepage": "https://github.com/jeremeamia",
872 - "role": "developer" 814 + "role": "Developer"
873 } 815 }
874 ], 816 ],
875 "description": "Serialize Closure objects, including their context and binding", 817 "description": "Serialize Closure objects, including their context and binding",
...@@ -883,49 +825,47 @@ ...@@ -883,49 +825,47 @@
883 "serialize", 825 "serialize",
884 "tokenizer" 826 "tokenizer"
885 ], 827 ],
886 - "time": "2015-03-11 20:06:43" 828 + "time": "2015-12-05 17:17:57"
887 }, 829 },
888 { 830 {
889 "name": "laravel/framework", 831 "name": "laravel/framework",
890 - "version": "v5.1.25", 832 + "version": "v5.2.7",
891 "source": { 833 "source": {
892 "type": "git", 834 "type": "git",
893 "url": "https://github.com/laravel/framework.git", 835 "url": "https://github.com/laravel/framework.git",
894 - "reference": "53979acc664debc401bfcb61086c4fc4f196b22d" 836 + "reference": "26cd65eaa4bcc0fb0be381cfb7cfdcda06a3c2b4"
895 }, 837 },
896 "dist": { 838 "dist": {
897 "type": "zip", 839 "type": "zip",
898 - "url": "https://api.github.com/repos/laravel/framework/zipball/53979acc664debc401bfcb61086c4fc4f196b22d", 840 + "url": "https://api.github.com/repos/laravel/framework/zipball/26cd65eaa4bcc0fb0be381cfb7cfdcda06a3c2b4",
899 - "reference": "53979acc664debc401bfcb61086c4fc4f196b22d", 841 + "reference": "26cd65eaa4bcc0fb0be381cfb7cfdcda06a3c2b4",
900 "shasum": "" 842 "shasum": ""
901 }, 843 },
902 "require": { 844 "require": {
903 - "classpreloader/classpreloader": "~2.0|~3.0", 845 + "classpreloader/classpreloader": "~3.0",
904 - "danielstjules/stringy": "~1.8",
905 "doctrine/inflector": "~1.0", 846 "doctrine/inflector": "~1.0",
906 "ext-mbstring": "*", 847 "ext-mbstring": "*",
907 "ext-openssl": "*", 848 "ext-openssl": "*",
908 - "jeremeamia/superclosure": "~2.0", 849 + "jeremeamia/superclosure": "~2.2",
909 "league/flysystem": "~1.0", 850 "league/flysystem": "~1.0",
910 "monolog/monolog": "~1.11", 851 "monolog/monolog": "~1.11",
911 "mtdowling/cron-expression": "~1.0", 852 "mtdowling/cron-expression": "~1.0",
912 - "nesbot/carbon": "~1.19", 853 + "nesbot/carbon": "~1.20",
913 "paragonie/random_compat": "~1.1", 854 "paragonie/random_compat": "~1.1",
914 "php": ">=5.5.9", 855 "php": ">=5.5.9",
915 "psy/psysh": "0.6.*", 856 "psy/psysh": "0.6.*",
916 "swiftmailer/swiftmailer": "~5.1", 857 "swiftmailer/swiftmailer": "~5.1",
917 - "symfony/console": "2.7.*", 858 + "symfony/console": "2.8.*|3.0.*",
918 - "symfony/css-selector": "2.7.*", 859 + "symfony/debug": "2.8.*|3.0.*",
919 - "symfony/debug": "2.7.*", 860 + "symfony/finder": "2.8.*|3.0.*",
920 - "symfony/dom-crawler": "2.7.*", 861 + "symfony/http-foundation": "2.8.*|3.0.*",
921 - "symfony/finder": "2.7.*", 862 + "symfony/http-kernel": "2.8.*|3.0.*",
922 - "symfony/http-foundation": "2.7.*", 863 + "symfony/polyfill-php56": "~1.0",
923 - "symfony/http-kernel": "2.7.*", 864 + "symfony/process": "2.8.*|3.0.*",
924 - "symfony/process": "2.7.*", 865 + "symfony/routing": "2.8.*|3.0.*",
925 - "symfony/routing": "2.7.*", 866 + "symfony/translation": "2.8.*|3.0.*",
926 - "symfony/translation": "2.7.*", 867 + "symfony/var-dumper": "2.8.*|3.0.*",
927 - "symfony/var-dumper": "2.7.*", 868 + "vlucas/phpdotenv": "~2.2"
928 - "vlucas/phpdotenv": "~1.0"
929 }, 869 },
930 "replace": { 870 "replace": {
931 "illuminate/auth": "self.version", 871 "illuminate/auth": "self.version",
...@@ -942,7 +882,6 @@ ...@@ -942,7 +882,6 @@
942 "illuminate/events": "self.version", 882 "illuminate/events": "self.version",
943 "illuminate/exception": "self.version", 883 "illuminate/exception": "self.version",
944 "illuminate/filesystem": "self.version", 884 "illuminate/filesystem": "self.version",
945 - "illuminate/foundation": "self.version",
946 "illuminate/hashing": "self.version", 885 "illuminate/hashing": "self.version",
947 "illuminate/http": "self.version", 886 "illuminate/http": "self.version",
948 "illuminate/log": "self.version", 887 "illuminate/log": "self.version",
...@@ -960,28 +899,30 @@ ...@@ -960,28 +899,30 @@
960 }, 899 },
961 "require-dev": { 900 "require-dev": {
962 "aws/aws-sdk-php": "~3.0", 901 "aws/aws-sdk-php": "~3.0",
963 - "iron-io/iron_mq": "~2.0",
964 "mockery/mockery": "~0.9.2", 902 "mockery/mockery": "~0.9.2",
965 "pda/pheanstalk": "~3.0", 903 "pda/pheanstalk": "~3.0",
966 - "phpunit/phpunit": "~4.0", 904 + "phpunit/phpunit": "~4.1",
967 - "predis/predis": "~1.0" 905 + "predis/predis": "~1.0",
906 + "symfony/css-selector": "2.8.*|3.0.*",
907 + "symfony/dom-crawler": "2.8.*|3.0.*"
968 }, 908 },
969 "suggest": { 909 "suggest": {
970 "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).", 910 "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).",
971 "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).", 911 "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).",
972 "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).", 912 "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).",
973 - "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers (~5.3|~6.0).", 913 + "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).",
974 - "iron-io/iron_mq": "Required to use the iron queue driver (~2.0).",
975 "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).", 914 "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).",
976 "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).", 915 "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).",
977 "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", 916 "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).",
978 "predis/predis": "Required to use the redis cache and queue drivers (~1.0).", 917 "predis/predis": "Required to use the redis cache and queue drivers (~1.0).",
979 - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0)." 918 + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0).",
919 + "symfony/css-selector": "Required to use some of the crawler integration testing tools (2.8.*|3.0.*).",
920 + "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (2.8.*|3.0.*)."
980 }, 921 },
981 "type": "library", 922 "type": "library",
982 "extra": { 923 "extra": {
983 "branch-alias": { 924 "branch-alias": {
984 - "dev-master": "5.1-dev" 925 + "dev-master": "5.2-dev"
985 } 926 }
986 }, 927 },
987 "autoload": { 928 "autoload": {
...@@ -1012,7 +953,7 @@ ...@@ -1012,7 +953,7 @@
1012 "framework", 953 "framework",
1013 "laravel" 954 "laravel"
1014 ], 955 ],
1015 - "time": "2015-11-30 19:24:36" 956 + "time": "2016-01-07 13:54:34"
1016 }, 957 },
1017 { 958 {
1018 "name": "laravel/socialite", 959 "name": "laravel/socialite",
...@@ -1070,16 +1011,16 @@ ...@@ -1070,16 +1011,16 @@
1070 }, 1011 },
1071 { 1012 {
1072 "name": "league/flysystem", 1013 "name": "league/flysystem",
1073 - "version": "1.0.15", 1014 + "version": "1.0.16",
1074 "source": { 1015 "source": {
1075 "type": "git", 1016 "type": "git",
1076 "url": "https://github.com/thephpleague/flysystem.git", 1017 "url": "https://github.com/thephpleague/flysystem.git",
1077 - "reference": "31525caf9e8772683672fefd8a1ca0c0736020f4" 1018 + "reference": "183e1a610664baf6dcd6fceda415baf43cbdc031"
1078 }, 1019 },
1079 "dist": { 1020 "dist": {
1080 "type": "zip", 1021 "type": "zip",
1081 - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/31525caf9e8772683672fefd8a1ca0c0736020f4", 1022 + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/183e1a610664baf6dcd6fceda415baf43cbdc031",
1082 - "reference": "31525caf9e8772683672fefd8a1ca0c0736020f4", 1023 + "reference": "183e1a610664baf6dcd6fceda415baf43cbdc031",
1083 "shasum": "" 1024 "shasum": ""
1084 }, 1025 },
1085 "require": { 1026 "require": {
...@@ -1093,7 +1034,7 @@ ...@@ -1093,7 +1034,7 @@
1093 "mockery/mockery": "~0.9", 1034 "mockery/mockery": "~0.9",
1094 "phpspec/phpspec": "^2.2", 1035 "phpspec/phpspec": "^2.2",
1095 "phpspec/prophecy-phpunit": "~1.0", 1036 "phpspec/prophecy-phpunit": "~1.0",
1096 - "phpunit/phpunit": "~4.1" 1037 + "phpunit/phpunit": "~4.8"
1097 }, 1038 },
1098 "suggest": { 1039 "suggest": {
1099 "ext-fileinfo": "Required for MimeType", 1040 "ext-fileinfo": "Required for MimeType",
...@@ -1150,7 +1091,7 @@ ...@@ -1150,7 +1091,7 @@
1150 "sftp", 1091 "sftp",
1151 "storage" 1092 "storage"
1152 ], 1093 ],
1153 - "time": "2015-09-30 22:26:59" 1094 + "time": "2015-12-19 20:16:43"
1154 }, 1095 },
1155 { 1096 {
1156 "name": "league/flysystem-aws-s3-v3", 1097 "name": "league/flysystem-aws-s3-v3",
...@@ -1264,25 +1205,25 @@ ...@@ -1264,25 +1205,25 @@
1264 }, 1205 },
1265 { 1206 {
1266 "name": "maximebf/debugbar", 1207 "name": "maximebf/debugbar",
1267 - "version": "v1.10.5", 1208 + "version": "v1.11.0",
1268 "source": { 1209 "source": {
1269 "type": "git", 1210 "type": "git",
1270 "url": "https://github.com/maximebf/php-debugbar.git", 1211 "url": "https://github.com/maximebf/php-debugbar.git",
1271 - "reference": "30e53e8a28284b69dd223c9f5ee8957befd72636" 1212 + "reference": "07741d84d39d10f00551c94284cdefcc69703e77"
1272 }, 1213 },
1273 "dist": { 1214 "dist": {
1274 "type": "zip", 1215 "type": "zip",
1275 - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/30e53e8a28284b69dd223c9f5ee8957befd72636", 1216 + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/07741d84d39d10f00551c94284cdefcc69703e77",
1276 - "reference": "30e53e8a28284b69dd223c9f5ee8957befd72636", 1217 + "reference": "07741d84d39d10f00551c94284cdefcc69703e77",
1277 "shasum": "" 1218 "shasum": ""
1278 }, 1219 },
1279 "require": { 1220 "require": {
1280 "php": ">=5.3.0", 1221 "php": ">=5.3.0",
1281 - "psr/log": "~1.0", 1222 + "psr/log": "^1.0",
1282 - "symfony/var-dumper": "~2.6" 1223 + "symfony/var-dumper": "^2.6|^3.0"
1283 }, 1224 },
1284 "require-dev": { 1225 "require-dev": {
1285 - "phpunit/phpunit": "~4.0" 1226 + "phpunit/phpunit": "^4.0|^5.0"
1286 }, 1227 },
1287 "suggest": { 1228 "suggest": {
1288 "kriswallsmith/assetic": "The best way to manage assets", 1229 "kriswallsmith/assetic": "The best way to manage assets",
...@@ -1292,12 +1233,12 @@ ...@@ -1292,12 +1233,12 @@
1292 "type": "library", 1233 "type": "library",
1293 "extra": { 1234 "extra": {
1294 "branch-alias": { 1235 "branch-alias": {
1295 - "dev-master": "1.10-dev" 1236 + "dev-master": "1.11-dev"
1296 } 1237 }
1297 }, 1238 },
1298 "autoload": { 1239 "autoload": {
1299 - "psr-0": { 1240 + "psr-4": {
1300 - "DebugBar": "src/" 1241 + "DebugBar\\": "src/DebugBar/"
1301 } 1242 }
1302 }, 1243 },
1303 "notification-url": "https://packagist.org/downloads/", 1244 "notification-url": "https://packagist.org/downloads/",
...@@ -1309,14 +1250,19 @@ ...@@ -1309,14 +1250,19 @@
1309 "name": "Maxime Bouroumeau-Fuseau", 1250 "name": "Maxime Bouroumeau-Fuseau",
1310 "email": "maxime.bouroumeau@gmail.com", 1251 "email": "maxime.bouroumeau@gmail.com",
1311 "homepage": "http://maximebf.com" 1252 "homepage": "http://maximebf.com"
1253 + },
1254 + {
1255 + "name": "Barry vd. Heuvel",
1256 + "email": "barryvdh@gmail.com"
1312 } 1257 }
1313 ], 1258 ],
1314 "description": "Debug bar in the browser for php application", 1259 "description": "Debug bar in the browser for php application",
1315 "homepage": "https://github.com/maximebf/php-debugbar", 1260 "homepage": "https://github.com/maximebf/php-debugbar",
1316 "keywords": [ 1261 "keywords": [
1317 - "debug" 1262 + "debug",
1263 + "debugbar"
1318 ], 1264 ],
1319 - "time": "2015-10-19 20:35:12" 1265 + "time": "2015-12-10 09:50:24"
1320 }, 1266 },
1321 { 1267 {
1322 "name": "monolog/monolog", 1268 "name": "monolog/monolog",
...@@ -1441,16 +1387,16 @@ ...@@ -1441,16 +1387,16 @@
1441 }, 1387 },
1442 { 1388 {
1443 "name": "mtdowling/jmespath.php", 1389 "name": "mtdowling/jmespath.php",
1444 - "version": "2.2.0", 1390 + "version": "2.3.0",
1445 "source": { 1391 "source": {
1446 "type": "git", 1392 "type": "git",
1447 "url": "https://github.com/jmespath/jmespath.php.git", 1393 "url": "https://github.com/jmespath/jmespath.php.git",
1448 - "reference": "a7d99d0c836e69d27b7bfca1d33ca2759fba3289" 1394 + "reference": "192f93e43c2c97acde7694993ab171b3de284093"
1449 }, 1395 },
1450 "dist": { 1396 "dist": {
1451 "type": "zip", 1397 "type": "zip",
1452 - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/a7d99d0c836e69d27b7bfca1d33ca2759fba3289", 1398 + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/192f93e43c2c97acde7694993ab171b3de284093",
1453 - "reference": "a7d99d0c836e69d27b7bfca1d33ca2759fba3289", 1399 + "reference": "192f93e43c2c97acde7694993ab171b3de284093",
1454 "shasum": "" 1400 "shasum": ""
1455 }, 1401 },
1456 "require": { 1402 "require": {
...@@ -1492,7 +1438,7 @@ ...@@ -1492,7 +1438,7 @@
1492 "json", 1438 "json",
1493 "jsonpath" 1439 "jsonpath"
1494 ], 1440 ],
1495 - "time": "2015-05-27 17:21:31" 1441 + "time": "2016-01-05 18:25:05"
1496 }, 1442 },
1497 { 1443 {
1498 "name": "nesbot/carbon", 1444 "name": "nesbot/carbon",
...@@ -1543,32 +1489,38 @@ ...@@ -1543,32 +1489,38 @@
1543 }, 1489 },
1544 { 1490 {
1545 "name": "nikic/php-parser", 1491 "name": "nikic/php-parser",
1546 - "version": "v1.4.1", 1492 + "version": "v2.0.0",
1547 "source": { 1493 "source": {
1548 "type": "git", 1494 "type": "git",
1549 "url": "https://github.com/nikic/PHP-Parser.git", 1495 "url": "https://github.com/nikic/PHP-Parser.git",
1550 - "reference": "f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51" 1496 + "reference": "c542e5d86a9775abd1021618eb2430278bfc1e01"
1551 }, 1497 },
1552 "dist": { 1498 "dist": {
1553 "type": "zip", 1499 "type": "zip",
1554 - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51", 1500 + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c542e5d86a9775abd1021618eb2430278bfc1e01",
1555 - "reference": "f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51", 1501 + "reference": "c542e5d86a9775abd1021618eb2430278bfc1e01",
1556 "shasum": "" 1502 "shasum": ""
1557 }, 1503 },
1558 "require": { 1504 "require": {
1559 "ext-tokenizer": "*", 1505 "ext-tokenizer": "*",
1560 - "php": ">=5.3" 1506 + "php": ">=5.4"
1507 + },
1508 + "require-dev": {
1509 + "phpunit/phpunit": "~4.0"
1561 }, 1510 },
1511 + "bin": [
1512 + "bin/php-parse"
1513 + ],
1562 "type": "library", 1514 "type": "library",
1563 "extra": { 1515 "extra": {
1564 "branch-alias": { 1516 "branch-alias": {
1565 - "dev-master": "1.4-dev" 1517 + "dev-master": "2.0-dev"
1566 } 1518 }
1567 }, 1519 },
1568 "autoload": { 1520 "autoload": {
1569 - "files": [ 1521 + "psr-4": {
1570 - "lib/bootstrap.php" 1522 + "PhpParser\\": "lib/PhpParser"
1571 - ] 1523 + }
1572 }, 1524 },
1573 "notification-url": "https://packagist.org/downloads/", 1525 "notification-url": "https://packagist.org/downloads/",
1574 "license": [ 1526 "license": [
...@@ -1584,20 +1536,20 @@ ...@@ -1584,20 +1536,20 @@
1584 "parser", 1536 "parser",
1585 "php" 1537 "php"
1586 ], 1538 ],
1587 - "time": "2015-09-19 14:15:08" 1539 + "time": "2015-12-04 15:28:43"
1588 }, 1540 },
1589 { 1541 {
1590 "name": "paragonie/random_compat", 1542 "name": "paragonie/random_compat",
1591 - "version": "1.1.1", 1543 + "version": "1.1.5",
1592 "source": { 1544 "source": {
1593 "type": "git", 1545 "type": "git",
1594 "url": "https://github.com/paragonie/random_compat.git", 1546 "url": "https://github.com/paragonie/random_compat.git",
1595 - "reference": "a208865a5aeffc2dbbef2a5b3409887272d93f32" 1547 + "reference": "dd8998b7c846f6909f4e7a5f67fabebfc412a4f7"
1596 }, 1548 },
1597 "dist": { 1549 "dist": {
1598 "type": "zip", 1550 "type": "zip",
1599 - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/a208865a5aeffc2dbbef2a5b3409887272d93f32", 1551 + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/dd8998b7c846f6909f4e7a5f67fabebfc412a4f7",
1600 - "reference": "a208865a5aeffc2dbbef2a5b3409887272d93f32", 1552 + "reference": "dd8998b7c846f6909f4e7a5f67fabebfc412a4f7",
1601 "shasum": "" 1553 "shasum": ""
1602 }, 1554 },
1603 "require": { 1555 "require": {
...@@ -1632,7 +1584,7 @@ ...@@ -1632,7 +1584,7 @@
1632 "pseudorandom", 1584 "pseudorandom",
1633 "random" 1585 "random"
1634 ], 1586 ],
1635 - "time": "2015-12-01 02:52:15" 1587 + "time": "2016-01-06 13:31:20"
1636 }, 1588 },
1637 { 1589 {
1638 "name": "phpdocumentor/reflection-docblock", 1590 "name": "phpdocumentor/reflection-docblock",
...@@ -1897,16 +1849,16 @@ ...@@ -1897,16 +1849,16 @@
1897 }, 1849 },
1898 { 1850 {
1899 "name": "symfony/class-loader", 1851 "name": "symfony/class-loader",
1900 - "version": "v2.8.0", 1852 + "version": "v2.8.1",
1901 "source": { 1853 "source": {
1902 "type": "git", 1854 "type": "git",
1903 "url": "https://github.com/symfony/class-loader.git", 1855 "url": "https://github.com/symfony/class-loader.git",
1904 - "reference": "51f83451bf0ddfc696e47e4642d6cd10fcfce160" 1856 + "reference": "ec74b0a279cf3a9bd36172b3e3061591d380ce6c"
1905 }, 1857 },
1906 "dist": { 1858 "dist": {
1907 "type": "zip", 1859 "type": "zip",
1908 - "url": "https://api.github.com/repos/symfony/class-loader/zipball/51f83451bf0ddfc696e47e4642d6cd10fcfce160", 1860 + "url": "https://api.github.com/repos/symfony/class-loader/zipball/ec74b0a279cf3a9bd36172b3e3061591d380ce6c",
1909 - "reference": "51f83451bf0ddfc696e47e4642d6cd10fcfce160", 1861 + "reference": "ec74b0a279cf3a9bd36172b3e3061591d380ce6c",
1910 "shasum": "" 1862 "shasum": ""
1911 }, 1863 },
1912 "require": { 1864 "require": {
...@@ -1945,29 +1897,30 @@ ...@@ -1945,29 +1897,30 @@
1945 ], 1897 ],
1946 "description": "Symfony ClassLoader Component", 1898 "description": "Symfony ClassLoader Component",
1947 "homepage": "https://symfony.com", 1899 "homepage": "https://symfony.com",
1948 - "time": "2015-11-26 07:00:59" 1900 + "time": "2015-12-05 17:37:59"
1949 }, 1901 },
1950 { 1902 {
1951 "name": "symfony/console", 1903 "name": "symfony/console",
1952 - "version": "v2.7.7", 1904 + "version": "v3.0.1",
1953 "source": { 1905 "source": {
1954 "type": "git", 1906 "type": "git",
1955 "url": "https://github.com/symfony/console.git", 1907 "url": "https://github.com/symfony/console.git",
1956 - "reference": "16bb1cb86df43c90931df65f529e7ebd79636750" 1908 + "reference": "ebcdc507829df915f4ca23067bd59ee4ef61f6c3"
1957 }, 1909 },
1958 "dist": { 1910 "dist": {
1959 "type": "zip", 1911 "type": "zip",
1960 - "url": "https://api.github.com/repos/symfony/console/zipball/16bb1cb86df43c90931df65f529e7ebd79636750", 1912 + "url": "https://api.github.com/repos/symfony/console/zipball/ebcdc507829df915f4ca23067bd59ee4ef61f6c3",
1961 - "reference": "16bb1cb86df43c90931df65f529e7ebd79636750", 1913 + "reference": "ebcdc507829df915f4ca23067bd59ee4ef61f6c3",
1962 "shasum": "" 1914 "shasum": ""
1963 }, 1915 },
1964 "require": { 1916 "require": {
1965 - "php": ">=5.3.9" 1917 + "php": ">=5.5.9",
1918 + "symfony/polyfill-mbstring": "~1.0"
1966 }, 1919 },
1967 "require-dev": { 1920 "require-dev": {
1968 "psr/log": "~1.0", 1921 "psr/log": "~1.0",
1969 - "symfony/event-dispatcher": "~2.1", 1922 + "symfony/event-dispatcher": "~2.8|~3.0",
1970 - "symfony/process": "~2.1" 1923 + "symfony/process": "~2.8|~3.0"
1971 }, 1924 },
1972 "suggest": { 1925 "suggest": {
1973 "psr/log": "For using the console logger", 1926 "psr/log": "For using the console logger",
...@@ -1977,7 +1930,7 @@ ...@@ -1977,7 +1930,7 @@
1977 "type": "library", 1930 "type": "library",
1978 "extra": { 1931 "extra": {
1979 "branch-alias": { 1932 "branch-alias": {
1980 - "dev-master": "2.7-dev" 1933 + "dev-master": "3.0-dev"
1981 } 1934 }
1982 }, 1935 },
1983 "autoload": { 1936 "autoload": {
...@@ -2004,34 +1957,42 @@ ...@@ -2004,34 +1957,42 @@
2004 ], 1957 ],
2005 "description": "Symfony Console Component", 1958 "description": "Symfony Console Component",
2006 "homepage": "https://symfony.com", 1959 "homepage": "https://symfony.com",
2007 - "time": "2015-11-18 09:54:26" 1960 + "time": "2015-12-22 10:39:06"
2008 }, 1961 },
2009 { 1962 {
2010 - "name": "symfony/css-selector", 1963 + "name": "symfony/debug",
2011 - "version": "v2.7.7", 1964 + "version": "v3.0.1",
2012 "source": { 1965 "source": {
2013 "type": "git", 1966 "type": "git",
2014 - "url": "https://github.com/symfony/css-selector.git", 1967 + "url": "https://github.com/symfony/debug.git",
2015 - "reference": "abb47717fb88aebd9437da2fc8bb01a50a36679f" 1968 + "reference": "73612266ac709769effdbfc0762e5b07cfd2ac2a"
2016 }, 1969 },
2017 "dist": { 1970 "dist": {
2018 "type": "zip", 1971 "type": "zip",
2019 - "url": "https://api.github.com/repos/symfony/css-selector/zipball/abb47717fb88aebd9437da2fc8bb01a50a36679f", 1972 + "url": "https://api.github.com/repos/symfony/debug/zipball/73612266ac709769effdbfc0762e5b07cfd2ac2a",
2020 - "reference": "abb47717fb88aebd9437da2fc8bb01a50a36679f", 1973 + "reference": "73612266ac709769effdbfc0762e5b07cfd2ac2a",
2021 "shasum": "" 1974 "shasum": ""
2022 }, 1975 },
2023 "require": { 1976 "require": {
2024 - "php": ">=5.3.9" 1977 + "php": ">=5.5.9",
1978 + "psr/log": "~1.0"
1979 + },
1980 + "conflict": {
1981 + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
1982 + },
1983 + "require-dev": {
1984 + "symfony/class-loader": "~2.8|~3.0",
1985 + "symfony/http-kernel": "~2.8|~3.0"
2025 }, 1986 },
2026 "type": "library", 1987 "type": "library",
2027 "extra": { 1988 "extra": {
2028 "branch-alias": { 1989 "branch-alias": {
2029 - "dev-master": "2.7-dev" 1990 + "dev-master": "3.0-dev"
2030 } 1991 }
2031 }, 1992 },
2032 "autoload": { 1993 "autoload": {
2033 "psr-4": { 1994 "psr-4": {
2034 - "Symfony\\Component\\CssSelector\\": "" 1995 + "Symfony\\Component\\Debug\\": ""
2035 }, 1996 },
2036 "exclude-from-classmap": [ 1997 "exclude-from-classmap": [
2037 "/Tests/" 1998 "/Tests/"
...@@ -2043,10 +2004,6 @@ ...@@ -2043,10 +2004,6 @@
2043 ], 2004 ],
2044 "authors": [ 2005 "authors": [
2045 { 2006 {
2046 - "name": "Jean-François Simon",
2047 - "email": "jeanfrancois.simon@sensiolabs.com"
2048 - },
2049 - {
2050 "name": "Fabien Potencier", 2007 "name": "Fabien Potencier",
2051 "email": "fabien@symfony.com" 2008 "email": "fabien@symfony.com"
2052 }, 2009 },
...@@ -2055,44 +2012,47 @@ ...@@ -2055,44 +2012,47 @@
2055 "homepage": "https://symfony.com/contributors" 2012 "homepage": "https://symfony.com/contributors"
2056 } 2013 }
2057 ], 2014 ],
2058 - "description": "Symfony CssSelector Component", 2015 + "description": "Symfony Debug Component",
2059 "homepage": "https://symfony.com", 2016 "homepage": "https://symfony.com",
2060 - "time": "2015-10-30 20:10:21" 2017 + "time": "2015-12-26 13:39:53"
2061 }, 2018 },
2062 { 2019 {
2063 - "name": "symfony/debug", 2020 + "name": "symfony/event-dispatcher",
2064 - "version": "v2.7.7", 2021 + "version": "v3.0.1",
2065 "source": { 2022 "source": {
2066 "type": "git", 2023 "type": "git",
2067 - "url": "https://github.com/symfony/debug.git", 2024 + "url": "https://github.com/symfony/event-dispatcher.git",
2068 - "reference": "0dbc119596f4afc82d9b2eb2a7e6a4af1ee763fa" 2025 + "reference": "d36355e026905fa5229e1ed7b4e9eda2e67adfcf"
2069 }, 2026 },
2070 "dist": { 2027 "dist": {
2071 "type": "zip", 2028 "type": "zip",
2072 - "url": "https://api.github.com/repos/symfony/debug/zipball/0dbc119596f4afc82d9b2eb2a7e6a4af1ee763fa", 2029 + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d36355e026905fa5229e1ed7b4e9eda2e67adfcf",
2073 - "reference": "0dbc119596f4afc82d9b2eb2a7e6a4af1ee763fa", 2030 + "reference": "d36355e026905fa5229e1ed7b4e9eda2e67adfcf",
2074 "shasum": "" 2031 "shasum": ""
2075 }, 2032 },
2076 "require": { 2033 "require": {
2077 - "php": ">=5.3.9", 2034 + "php": ">=5.5.9"
2078 - "psr/log": "~1.0"
2079 - },
2080 - "conflict": {
2081 - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
2082 }, 2035 },
2083 "require-dev": { 2036 "require-dev": {
2084 - "symfony/class-loader": "~2.2", 2037 + "psr/log": "~1.0",
2085 - "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2" 2038 + "symfony/config": "~2.8|~3.0",
2039 + "symfony/dependency-injection": "~2.8|~3.0",
2040 + "symfony/expression-language": "~2.8|~3.0",
2041 + "symfony/stopwatch": "~2.8|~3.0"
2042 + },
2043 + "suggest": {
2044 + "symfony/dependency-injection": "",
2045 + "symfony/http-kernel": ""
2086 }, 2046 },
2087 "type": "library", 2047 "type": "library",
2088 "extra": { 2048 "extra": {
2089 "branch-alias": { 2049 "branch-alias": {
2090 - "dev-master": "2.7-dev" 2050 + "dev-master": "3.0-dev"
2091 } 2051 }
2092 }, 2052 },
2093 "autoload": { 2053 "autoload": {
2094 "psr-4": { 2054 "psr-4": {
2095 - "Symfony\\Component\\Debug\\": "" 2055 + "Symfony\\Component\\EventDispatcher\\": ""
2096 }, 2056 },
2097 "exclude-from-classmap": [ 2057 "exclude-from-classmap": [
2098 "/Tests/" 2058 "/Tests/"
...@@ -2112,42 +2072,36 @@ ...@@ -2112,42 +2072,36 @@
2112 "homepage": "https://symfony.com/contributors" 2072 "homepage": "https://symfony.com/contributors"
2113 } 2073 }
2114 ], 2074 ],
2115 - "description": "Symfony Debug Component", 2075 + "description": "Symfony EventDispatcher Component",
2116 "homepage": "https://symfony.com", 2076 "homepage": "https://symfony.com",
2117 - "time": "2015-10-30 20:10:21" 2077 + "time": "2015-10-30 23:35:59"
2118 }, 2078 },
2119 { 2079 {
2120 - "name": "symfony/dom-crawler", 2080 + "name": "symfony/finder",
2121 - "version": "v2.7.7", 2081 + "version": "v3.0.1",
2122 "source": { 2082 "source": {
2123 "type": "git", 2083 "type": "git",
2124 - "url": "https://github.com/symfony/dom-crawler.git", 2084 + "url": "https://github.com/symfony/finder.git",
2125 - "reference": "b33593cbfe1d81b50d48353f338aca76a08658d8" 2085 + "reference": "8617895eb798b6bdb338321ce19453dc113e5675"
2126 }, 2086 },
2127 "dist": { 2087 "dist": {
2128 "type": "zip", 2088 "type": "zip",
2129 - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/b33593cbfe1d81b50d48353f338aca76a08658d8", 2089 + "url": "https://api.github.com/repos/symfony/finder/zipball/8617895eb798b6bdb338321ce19453dc113e5675",
2130 - "reference": "b33593cbfe1d81b50d48353f338aca76a08658d8", 2090 + "reference": "8617895eb798b6bdb338321ce19453dc113e5675",
2131 "shasum": "" 2091 "shasum": ""
2132 }, 2092 },
2133 "require": { 2093 "require": {
2134 - "php": ">=5.3.9" 2094 + "php": ">=5.5.9"
2135 - },
2136 - "require-dev": {
2137 - "symfony/css-selector": "~2.3"
2138 - },
2139 - "suggest": {
2140 - "symfony/css-selector": ""
2141 }, 2095 },
2142 "type": "library", 2096 "type": "library",
2143 "extra": { 2097 "extra": {
2144 "branch-alias": { 2098 "branch-alias": {
2145 - "dev-master": "2.7-dev" 2099 + "dev-master": "3.0-dev"
2146 } 2100 }
2147 }, 2101 },
2148 "autoload": { 2102 "autoload": {
2149 "psr-4": { 2103 "psr-4": {
2150 - "Symfony\\Component\\DomCrawler\\": "" 2104 + "Symfony\\Component\\Finder\\": ""
2151 }, 2105 },
2152 "exclude-from-classmap": [ 2106 "exclude-from-classmap": [
2153 "/Tests/" 2107 "/Tests/"
...@@ -2167,47 +2121,39 @@ ...@@ -2167,47 +2121,39 @@
2167 "homepage": "https://symfony.com/contributors" 2121 "homepage": "https://symfony.com/contributors"
2168 } 2122 }
2169 ], 2123 ],
2170 - "description": "Symfony DomCrawler Component", 2124 + "description": "Symfony Finder Component",
2171 "homepage": "https://symfony.com", 2125 "homepage": "https://symfony.com",
2172 - "time": "2015-11-02 20:20:53" 2126 + "time": "2015-12-05 11:13:14"
2173 }, 2127 },
2174 { 2128 {
2175 - "name": "symfony/event-dispatcher", 2129 + "name": "symfony/http-foundation",
2176 - "version": "v2.8.0", 2130 + "version": "v3.0.1",
2177 "source": { 2131 "source": {
2178 "type": "git", 2132 "type": "git",
2179 - "url": "https://github.com/symfony/event-dispatcher.git", 2133 + "url": "https://github.com/symfony/http-foundation.git",
2180 - "reference": "a5eb815363c0388e83247e7e9853e5dbc14999cc" 2134 + "reference": "939c8c28a5b1e4ab7317bc30c1f9aa881c4b06b5"
2181 }, 2135 },
2182 "dist": { 2136 "dist": {
2183 "type": "zip", 2137 "type": "zip",
2184 - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a5eb815363c0388e83247e7e9853e5dbc14999cc", 2138 + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/939c8c28a5b1e4ab7317bc30c1f9aa881c4b06b5",
2185 - "reference": "a5eb815363c0388e83247e7e9853e5dbc14999cc", 2139 + "reference": "939c8c28a5b1e4ab7317bc30c1f9aa881c4b06b5",
2186 "shasum": "" 2140 "shasum": ""
2187 }, 2141 },
2188 "require": { 2142 "require": {
2189 - "php": ">=5.3.9" 2143 + "php": ">=5.5.9"
2190 }, 2144 },
2191 "require-dev": { 2145 "require-dev": {
2192 - "psr/log": "~1.0", 2146 + "symfony/expression-language": "~2.8|~3.0"
2193 - "symfony/config": "~2.0,>=2.0.5|~3.0.0",
2194 - "symfony/dependency-injection": "~2.6|~3.0.0",
2195 - "symfony/expression-language": "~2.6|~3.0.0",
2196 - "symfony/stopwatch": "~2.3|~3.0.0"
2197 - },
2198 - "suggest": {
2199 - "symfony/dependency-injection": "",
2200 - "symfony/http-kernel": ""
2201 }, 2147 },
2202 "type": "library", 2148 "type": "library",
2203 "extra": { 2149 "extra": {
2204 "branch-alias": { 2150 "branch-alias": {
2205 - "dev-master": "2.8-dev" 2151 + "dev-master": "3.0-dev"
2206 } 2152 }
2207 }, 2153 },
2208 "autoload": { 2154 "autoload": {
2209 "psr-4": { 2155 "psr-4": {
2210 - "Symfony\\Component\\EventDispatcher\\": "" 2156 + "Symfony\\Component\\HttpFoundation\\": ""
2211 }, 2157 },
2212 "exclude-from-classmap": [ 2158 "exclude-from-classmap": [
2213 "/Tests/" 2159 "/Tests/"
...@@ -2227,36 +2173,69 @@ ...@@ -2227,36 +2173,69 @@
2227 "homepage": "https://symfony.com/contributors" 2173 "homepage": "https://symfony.com/contributors"
2228 } 2174 }
2229 ], 2175 ],
2230 - "description": "Symfony EventDispatcher Component", 2176 + "description": "Symfony HttpFoundation Component",
2231 "homepage": "https://symfony.com", 2177 "homepage": "https://symfony.com",
2232 - "time": "2015-10-30 20:15:42" 2178 + "time": "2015-12-18 15:43:53"
2233 }, 2179 },
2234 { 2180 {
2235 - "name": "symfony/finder", 2181 + "name": "symfony/http-kernel",
2236 - "version": "v2.7.7", 2182 + "version": "v3.0.1",
2237 "source": { 2183 "source": {
2238 "type": "git", 2184 "type": "git",
2239 - "url": "https://github.com/symfony/finder.git", 2185 + "url": "https://github.com/symfony/http-kernel.git",
2240 - "reference": "a06a0c0ff7db3736a50d530c908cca547bf13da9" 2186 + "reference": "f7933e9f19e26e7baba7ec04735b466fedd3a6db"
2241 }, 2187 },
2242 "dist": { 2188 "dist": {
2243 "type": "zip", 2189 "type": "zip",
2244 - "url": "https://api.github.com/repos/symfony/finder/zipball/a06a0c0ff7db3736a50d530c908cca547bf13da9", 2190 + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f7933e9f19e26e7baba7ec04735b466fedd3a6db",
2245 - "reference": "a06a0c0ff7db3736a50d530c908cca547bf13da9", 2191 + "reference": "f7933e9f19e26e7baba7ec04735b466fedd3a6db",
2246 "shasum": "" 2192 "shasum": ""
2247 }, 2193 },
2248 "require": { 2194 "require": {
2249 - "php": ">=5.3.9" 2195 + "php": ">=5.5.9",
2196 + "psr/log": "~1.0",
2197 + "symfony/debug": "~2.8|~3.0",
2198 + "symfony/event-dispatcher": "~2.8|~3.0",
2199 + "symfony/http-foundation": "~2.8|~3.0"
2200 + },
2201 + "conflict": {
2202 + "symfony/config": "<2.8"
2203 + },
2204 + "require-dev": {
2205 + "symfony/browser-kit": "~2.8|~3.0",
2206 + "symfony/class-loader": "~2.8|~3.0",
2207 + "symfony/config": "~2.8|~3.0",
2208 + "symfony/console": "~2.8|~3.0",
2209 + "symfony/css-selector": "~2.8|~3.0",
2210 + "symfony/dependency-injection": "~2.8|~3.0",
2211 + "symfony/dom-crawler": "~2.8|~3.0",
2212 + "symfony/expression-language": "~2.8|~3.0",
2213 + "symfony/finder": "~2.8|~3.0",
2214 + "symfony/process": "~2.8|~3.0",
2215 + "symfony/routing": "~2.8|~3.0",
2216 + "symfony/stopwatch": "~2.8|~3.0",
2217 + "symfony/templating": "~2.8|~3.0",
2218 + "symfony/translation": "~2.8|~3.0",
2219 + "symfony/var-dumper": "~2.8|~3.0"
2220 + },
2221 + "suggest": {
2222 + "symfony/browser-kit": "",
2223 + "symfony/class-loader": "",
2224 + "symfony/config": "",
2225 + "symfony/console": "",
2226 + "symfony/dependency-injection": "",
2227 + "symfony/finder": "",
2228 + "symfony/var-dumper": ""
2250 }, 2229 },
2251 "type": "library", 2230 "type": "library",
2252 "extra": { 2231 "extra": {
2253 "branch-alias": { 2232 "branch-alias": {
2254 - "dev-master": "2.7-dev" 2233 + "dev-master": "3.0-dev"
2255 } 2234 }
2256 }, 2235 },
2257 "autoload": { 2236 "autoload": {
2258 "psr-4": { 2237 "psr-4": {
2259 - "Symfony\\Component\\Finder\\": "" 2238 + "Symfony\\Component\\HttpKernel\\": ""
2260 }, 2239 },
2261 "exclude-from-classmap": [ 2240 "exclude-from-classmap": [
2262 "/Tests/" 2241 "/Tests/"
...@@ -2276,45 +2255,42 @@ ...@@ -2276,45 +2255,42 @@
2276 "homepage": "https://symfony.com/contributors" 2255 "homepage": "https://symfony.com/contributors"
2277 } 2256 }
2278 ], 2257 ],
2279 - "description": "Symfony Finder Component", 2258 + "description": "Symfony HttpKernel Component",
2280 "homepage": "https://symfony.com", 2259 "homepage": "https://symfony.com",
2281 - "time": "2015-10-30 20:10:21" 2260 + "time": "2015-12-26 16:46:13"
2282 }, 2261 },
2283 { 2262 {
2284 - "name": "symfony/http-foundation", 2263 + "name": "symfony/polyfill-mbstring",
2285 - "version": "v2.7.7", 2264 + "version": "v1.0.1",
2286 "source": { 2265 "source": {
2287 "type": "git", 2266 "type": "git",
2288 - "url": "https://github.com/symfony/http-foundation.git", 2267 + "url": "https://github.com/symfony/polyfill-mbstring.git",
2289 - "reference": "e83a3d105ddaf5a113e803c904fdec552d1f1c35" 2268 + "reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25"
2290 }, 2269 },
2291 "dist": { 2270 "dist": {
2292 "type": "zip", 2271 "type": "zip",
2293 - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e83a3d105ddaf5a113e803c904fdec552d1f1c35", 2272 + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/49ff736bd5d41f45240cec77b44967d76e0c3d25",
2294 - "reference": "e83a3d105ddaf5a113e803c904fdec552d1f1c35", 2273 + "reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25",
2295 "shasum": "" 2274 "shasum": ""
2296 }, 2275 },
2297 "require": { 2276 "require": {
2298 - "php": ">=5.3.9" 2277 + "php": ">=5.3.3"
2299 }, 2278 },
2300 - "require-dev": { 2279 + "suggest": {
2301 - "symfony/expression-language": "~2.4" 2280 + "ext-mbstring": "For best performance"
2302 }, 2281 },
2303 "type": "library", 2282 "type": "library",
2304 "extra": { 2283 "extra": {
2305 "branch-alias": { 2284 "branch-alias": {
2306 - "dev-master": "2.7-dev" 2285 + "dev-master": "1.0-dev"
2307 } 2286 }
2308 }, 2287 },
2309 "autoload": { 2288 "autoload": {
2310 "psr-4": { 2289 "psr-4": {
2311 - "Symfony\\Component\\HttpFoundation\\": "" 2290 + "Symfony\\Polyfill\\Mbstring\\": ""
2312 }, 2291 },
2313 - "classmap": [ 2292 + "files": [
2314 - "Resources/stubs" 2293 + "bootstrap.php"
2315 - ],
2316 - "exclude-from-classmap": [
2317 - "/Tests/"
2318 ] 2294 ]
2319 }, 2295 },
2320 "notification-url": "https://packagist.org/downloads/", 2296 "notification-url": "https://packagist.org/downloads/",
...@@ -2323,81 +2299,108 @@ ...@@ -2323,81 +2299,108 @@
2323 ], 2299 ],
2324 "authors": [ 2300 "authors": [
2325 { 2301 {
2326 - "name": "Fabien Potencier", 2302 + "name": "Nicolas Grekas",
2327 - "email": "fabien@symfony.com" 2303 + "email": "p@tchwork.com"
2328 }, 2304 },
2329 { 2305 {
2330 "name": "Symfony Community", 2306 "name": "Symfony Community",
2331 "homepage": "https://symfony.com/contributors" 2307 "homepage": "https://symfony.com/contributors"
2332 } 2308 }
2333 ], 2309 ],
2334 - "description": "Symfony HttpFoundation Component", 2310 + "description": "Symfony polyfill for the Mbstring extension",
2335 "homepage": "https://symfony.com", 2311 "homepage": "https://symfony.com",
2336 - "time": "2015-11-20 17:41:18" 2312 + "keywords": [
2313 + "compatibility",
2314 + "mbstring",
2315 + "polyfill",
2316 + "portable",
2317 + "shim"
2318 + ],
2319 + "time": "2015-11-20 09:19:13"
2337 }, 2320 },
2338 { 2321 {
2339 - "name": "symfony/http-kernel", 2322 + "name": "symfony/polyfill-php56",
2340 - "version": "v2.7.7", 2323 + "version": "v1.0.1",
2341 "source": { 2324 "source": {
2342 "type": "git", 2325 "type": "git",
2343 - "url": "https://github.com/symfony/http-kernel.git", 2326 + "url": "https://github.com/symfony/polyfill-php56.git",
2344 - "reference": "5570de31e8fbc03777a8c61eb24f9b626e5e5941" 2327 + "reference": "e2e77609a9e2328eb370fbb0e0d8b2000ebb488f"
2345 }, 2328 },
2346 "dist": { 2329 "dist": {
2347 "type": "zip", 2330 "type": "zip",
2348 - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/5570de31e8fbc03777a8c61eb24f9b626e5e5941", 2331 + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/e2e77609a9e2328eb370fbb0e0d8b2000ebb488f",
2349 - "reference": "5570de31e8fbc03777a8c61eb24f9b626e5e5941", 2332 + "reference": "e2e77609a9e2328eb370fbb0e0d8b2000ebb488f",
2350 "shasum": "" 2333 "shasum": ""
2351 }, 2334 },
2352 "require": { 2335 "require": {
2353 - "php": ">=5.3.9", 2336 + "php": ">=5.3.3",
2354 - "psr/log": "~1.0", 2337 + "symfony/polyfill-util": "~1.0"
2355 - "symfony/debug": "~2.6,>=2.6.2",
2356 - "symfony/event-dispatcher": "~2.6,>=2.6.7",
2357 - "symfony/http-foundation": "~2.5,>=2.5.4"
2358 }, 2338 },
2359 - "conflict": { 2339 + "type": "library",
2360 - "symfony/config": "<2.7" 2340 + "extra": {
2341 + "branch-alias": {
2342 + "dev-master": "1.0-dev"
2343 + }
2361 }, 2344 },
2362 - "require-dev": { 2345 + "autoload": {
2363 - "symfony/browser-kit": "~2.3", 2346 + "psr-4": {
2364 - "symfony/class-loader": "~2.1", 2347 + "Symfony\\Polyfill\\Php56\\": ""
2365 - "symfony/config": "~2.7", 2348 + },
2366 - "symfony/console": "~2.3", 2349 + "files": [
2367 - "symfony/css-selector": "~2.0,>=2.0.5", 2350 + "bootstrap.php"
2368 - "symfony/dependency-injection": "~2.2", 2351 + ]
2369 - "symfony/dom-crawler": "~2.0,>=2.0.5",
2370 - "symfony/expression-language": "~2.4",
2371 - "symfony/finder": "~2.0,>=2.0.5",
2372 - "symfony/process": "~2.0,>=2.0.5",
2373 - "symfony/routing": "~2.2",
2374 - "symfony/stopwatch": "~2.3",
2375 - "symfony/templating": "~2.2",
2376 - "symfony/translation": "~2.0,>=2.0.5",
2377 - "symfony/var-dumper": "~2.6"
2378 }, 2352 },
2379 - "suggest": { 2353 + "notification-url": "https://packagist.org/downloads/",
2380 - "symfony/browser-kit": "", 2354 + "license": [
2381 - "symfony/class-loader": "", 2355 + "MIT"
2382 - "symfony/config": "", 2356 + ],
2383 - "symfony/console": "", 2357 + "authors": [
2384 - "symfony/dependency-injection": "", 2358 + {
2385 - "symfony/finder": "", 2359 + "name": "Nicolas Grekas",
2386 - "symfony/var-dumper": "" 2360 + "email": "p@tchwork.com"
2361 + },
2362 + {
2363 + "name": "Symfony Community",
2364 + "homepage": "https://symfony.com/contributors"
2365 + }
2366 + ],
2367 + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
2368 + "homepage": "https://symfony.com",
2369 + "keywords": [
2370 + "compatibility",
2371 + "polyfill",
2372 + "portable",
2373 + "shim"
2374 + ],
2375 + "time": "2015-12-18 15:10:25"
2376 + },
2377 + {
2378 + "name": "symfony/polyfill-util",
2379 + "version": "v1.0.1",
2380 + "source": {
2381 + "type": "git",
2382 + "url": "https://github.com/symfony/polyfill-util.git",
2383 + "reference": "4271c55cbc0a77b2641f861b978123e46b3da969"
2384 + },
2385 + "dist": {
2386 + "type": "zip",
2387 + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/4271c55cbc0a77b2641f861b978123e46b3da969",
2388 + "reference": "4271c55cbc0a77b2641f861b978123e46b3da969",
2389 + "shasum": ""
2390 + },
2391 + "require": {
2392 + "php": ">=5.3.3"
2387 }, 2393 },
2388 "type": "library", 2394 "type": "library",
2389 "extra": { 2395 "extra": {
2390 "branch-alias": { 2396 "branch-alias": {
2391 - "dev-master": "2.7-dev" 2397 + "dev-master": "1.0-dev"
2392 } 2398 }
2393 }, 2399 },
2394 "autoload": { 2400 "autoload": {
2395 "psr-4": { 2401 "psr-4": {
2396 - "Symfony\\Component\\HttpKernel\\": "" 2402 + "Symfony\\Polyfill\\Util\\": ""
2397 - }, 2403 + }
2398 - "exclude-from-classmap": [
2399 - "/Tests/"
2400 - ]
2401 }, 2404 },
2402 "notification-url": "https://packagist.org/downloads/", 2405 "notification-url": "https://packagist.org/downloads/",
2403 "license": [ 2406 "license": [
...@@ -2405,39 +2408,45 @@ ...@@ -2405,39 +2408,45 @@
2405 ], 2408 ],
2406 "authors": [ 2409 "authors": [
2407 { 2410 {
2408 - "name": "Fabien Potencier", 2411 + "name": "Nicolas Grekas",
2409 - "email": "fabien@symfony.com" 2412 + "email": "p@tchwork.com"
2410 }, 2413 },
2411 { 2414 {
2412 "name": "Symfony Community", 2415 "name": "Symfony Community",
2413 "homepage": "https://symfony.com/contributors" 2416 "homepage": "https://symfony.com/contributors"
2414 } 2417 }
2415 ], 2418 ],
2416 - "description": "Symfony HttpKernel Component", 2419 + "description": "Symfony utilities for portability of PHP codes",
2417 "homepage": "https://symfony.com", 2420 "homepage": "https://symfony.com",
2418 - "time": "2015-11-23 11:57:49" 2421 + "keywords": [
2422 + "compat",
2423 + "compatibility",
2424 + "polyfill",
2425 + "shim"
2426 + ],
2427 + "time": "2015-11-04 20:28:58"
2419 }, 2428 },
2420 { 2429 {
2421 "name": "symfony/process", 2430 "name": "symfony/process",
2422 - "version": "v2.7.7", 2431 + "version": "v3.0.1",
2423 "source": { 2432 "source": {
2424 "type": "git", 2433 "type": "git",
2425 "url": "https://github.com/symfony/process.git", 2434 "url": "https://github.com/symfony/process.git",
2426 - "reference": "f6290983c8725d0afa29bdc3e5295879de3e58f5" 2435 + "reference": "f4794f1d00f0746621be3020ffbd8c5e0b217ee3"
2427 }, 2436 },
2428 "dist": { 2437 "dist": {
2429 "type": "zip", 2438 "type": "zip",
2430 - "url": "https://api.github.com/repos/symfony/process/zipball/f6290983c8725d0afa29bdc3e5295879de3e58f5", 2439 + "url": "https://api.github.com/repos/symfony/process/zipball/f4794f1d00f0746621be3020ffbd8c5e0b217ee3",
2431 - "reference": "f6290983c8725d0afa29bdc3e5295879de3e58f5", 2440 + "reference": "f4794f1d00f0746621be3020ffbd8c5e0b217ee3",
2432 "shasum": "" 2441 "shasum": ""
2433 }, 2442 },
2434 "require": { 2443 "require": {
2435 - "php": ">=5.3.9" 2444 + "php": ">=5.5.9"
2436 }, 2445 },
2437 "type": "library", 2446 "type": "library",
2438 "extra": { 2447 "extra": {
2439 "branch-alias": { 2448 "branch-alias": {
2440 - "dev-master": "2.7-dev" 2449 + "dev-master": "3.0-dev"
2441 } 2450 }
2442 }, 2451 },
2443 "autoload": { 2452 "autoload": {
...@@ -2464,47 +2473,48 @@ ...@@ -2464,47 +2473,48 @@
2464 ], 2473 ],
2465 "description": "Symfony Process Component", 2474 "description": "Symfony Process Component",
2466 "homepage": "https://symfony.com", 2475 "homepage": "https://symfony.com",
2467 - "time": "2015-11-19 16:11:24" 2476 + "time": "2015-12-23 11:04:02"
2468 }, 2477 },
2469 { 2478 {
2470 "name": "symfony/routing", 2479 "name": "symfony/routing",
2471 - "version": "v2.7.7", 2480 + "version": "v3.0.1",
2472 "source": { 2481 "source": {
2473 "type": "git", 2482 "type": "git",
2474 "url": "https://github.com/symfony/routing.git", 2483 "url": "https://github.com/symfony/routing.git",
2475 - "reference": "7450f6196711b124fb8b04a12286d01a0401ddfe" 2484 + "reference": "3b1bac52f42cb0f54df1a2dbabd55a1d214e2a59"
2476 }, 2485 },
2477 "dist": { 2486 "dist": {
2478 "type": "zip", 2487 "type": "zip",
2479 - "url": "https://api.github.com/repos/symfony/routing/zipball/7450f6196711b124fb8b04a12286d01a0401ddfe", 2488 + "url": "https://api.github.com/repos/symfony/routing/zipball/3b1bac52f42cb0f54df1a2dbabd55a1d214e2a59",
2480 - "reference": "7450f6196711b124fb8b04a12286d01a0401ddfe", 2489 + "reference": "3b1bac52f42cb0f54df1a2dbabd55a1d214e2a59",
2481 "shasum": "" 2490 "shasum": ""
2482 }, 2491 },
2483 "require": { 2492 "require": {
2484 - "php": ">=5.3.9" 2493 + "php": ">=5.5.9"
2485 }, 2494 },
2486 "conflict": { 2495 "conflict": {
2487 - "symfony/config": "<2.7" 2496 + "symfony/config": "<2.8"
2488 }, 2497 },
2489 "require-dev": { 2498 "require-dev": {
2490 "doctrine/annotations": "~1.0", 2499 "doctrine/annotations": "~1.0",
2491 "doctrine/common": "~2.2", 2500 "doctrine/common": "~2.2",
2492 "psr/log": "~1.0", 2501 "psr/log": "~1.0",
2493 - "symfony/config": "~2.7", 2502 + "symfony/config": "~2.8|~3.0",
2494 - "symfony/expression-language": "~2.4", 2503 + "symfony/expression-language": "~2.8|~3.0",
2495 - "symfony/http-foundation": "~2.3", 2504 + "symfony/http-foundation": "~2.8|~3.0",
2496 - "symfony/yaml": "~2.0,>=2.0.5" 2505 + "symfony/yaml": "~2.8|~3.0"
2497 }, 2506 },
2498 "suggest": { 2507 "suggest": {
2499 "doctrine/annotations": "For using the annotation loader", 2508 "doctrine/annotations": "For using the annotation loader",
2500 "symfony/config": "For using the all-in-one router or any loader", 2509 "symfony/config": "For using the all-in-one router or any loader",
2510 + "symfony/dependency-injection": "For loading routes from a service",
2501 "symfony/expression-language": "For using expression matching", 2511 "symfony/expression-language": "For using expression matching",
2502 "symfony/yaml": "For using the YAML loader" 2512 "symfony/yaml": "For using the YAML loader"
2503 }, 2513 },
2504 "type": "library", 2514 "type": "library",
2505 "extra": { 2515 "extra": {
2506 "branch-alias": { 2516 "branch-alias": {
2507 - "dev-master": "2.7-dev" 2517 + "dev-master": "3.0-dev"
2508 } 2518 }
2509 }, 2519 },
2510 "autoload": { 2520 "autoload": {
...@@ -2537,33 +2547,34 @@ ...@@ -2537,33 +2547,34 @@
2537 "uri", 2547 "uri",
2538 "url" 2548 "url"
2539 ], 2549 ],
2540 - "time": "2015-11-18 13:41:01" 2550 + "time": "2015-12-23 08:00:11"
2541 }, 2551 },
2542 { 2552 {
2543 "name": "symfony/translation", 2553 "name": "symfony/translation",
2544 - "version": "v2.7.7", 2554 + "version": "v3.0.1",
2545 "source": { 2555 "source": {
2546 "type": "git", 2556 "type": "git",
2547 "url": "https://github.com/symfony/translation.git", 2557 "url": "https://github.com/symfony/translation.git",
2548 - "reference": "e4ecb9c3ba1304eaf24de15c2d7a428101c1982f" 2558 + "reference": "dff0867826a7068d673801b7522f8e2634016ef9"
2549 }, 2559 },
2550 "dist": { 2560 "dist": {
2551 "type": "zip", 2561 "type": "zip",
2552 - "url": "https://api.github.com/repos/symfony/translation/zipball/e4ecb9c3ba1304eaf24de15c2d7a428101c1982f", 2562 + "url": "https://api.github.com/repos/symfony/translation/zipball/dff0867826a7068d673801b7522f8e2634016ef9",
2553 - "reference": "e4ecb9c3ba1304eaf24de15c2d7a428101c1982f", 2563 + "reference": "dff0867826a7068d673801b7522f8e2634016ef9",
2554 "shasum": "" 2564 "shasum": ""
2555 }, 2565 },
2556 "require": { 2566 "require": {
2557 - "php": ">=5.3.9" 2567 + "php": ">=5.5.9",
2568 + "symfony/polyfill-mbstring": "~1.0"
2558 }, 2569 },
2559 "conflict": { 2570 "conflict": {
2560 - "symfony/config": "<2.7" 2571 + "symfony/config": "<2.8"
2561 }, 2572 },
2562 "require-dev": { 2573 "require-dev": {
2563 "psr/log": "~1.0", 2574 "psr/log": "~1.0",
2564 - "symfony/config": "~2.7", 2575 + "symfony/config": "~2.8|~3.0",
2565 - "symfony/intl": "~2.4", 2576 + "symfony/intl": "~2.8|~3.0",
2566 - "symfony/yaml": "~2.2" 2577 + "symfony/yaml": "~2.8|~3.0"
2567 }, 2578 },
2568 "suggest": { 2579 "suggest": {
2569 "psr/log": "To use logging capability in translator", 2580 "psr/log": "To use logging capability in translator",
...@@ -2573,7 +2584,7 @@ ...@@ -2573,7 +2584,7 @@
2573 "type": "library", 2584 "type": "library",
2574 "extra": { 2585 "extra": {
2575 "branch-alias": { 2586 "branch-alias": {
2576 - "dev-master": "2.7-dev" 2587 + "dev-master": "3.0-dev"
2577 } 2588 }
2578 }, 2589 },
2579 "autoload": { 2590 "autoload": {
...@@ -2600,24 +2611,28 @@ ...@@ -2600,24 +2611,28 @@
2600 ], 2611 ],
2601 "description": "Symfony Translation Component", 2612 "description": "Symfony Translation Component",
2602 "homepage": "https://symfony.com", 2613 "homepage": "https://symfony.com",
2603 - "time": "2015-11-18 13:41:01" 2614 + "time": "2015-12-05 17:45:07"
2604 }, 2615 },
2605 { 2616 {
2606 "name": "symfony/var-dumper", 2617 "name": "symfony/var-dumper",
2607 - "version": "v2.7.7", 2618 + "version": "v3.0.1",
2608 "source": { 2619 "source": {
2609 "type": "git", 2620 "type": "git",
2610 "url": "https://github.com/symfony/var-dumper.git", 2621 "url": "https://github.com/symfony/var-dumper.git",
2611 - "reference": "72bcb27411780eaee9469729aace73c0d46fb2b8" 2622 + "reference": "87db8700deb12ba2b65e858f656a1f885530bcb0"
2612 }, 2623 },
2613 "dist": { 2624 "dist": {
2614 "type": "zip", 2625 "type": "zip",
2615 - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/72bcb27411780eaee9469729aace73c0d46fb2b8", 2626 + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/87db8700deb12ba2b65e858f656a1f885530bcb0",
2616 - "reference": "72bcb27411780eaee9469729aace73c0d46fb2b8", 2627 + "reference": "87db8700deb12ba2b65e858f656a1f885530bcb0",
2617 "shasum": "" 2628 "shasum": ""
2618 }, 2629 },
2619 "require": { 2630 "require": {
2620 - "php": ">=5.3.9" 2631 + "php": ">=5.5.9",
2632 + "symfony/polyfill-mbstring": "~1.0"
2633 + },
2634 + "require-dev": {
2635 + "twig/twig": "~1.20|~2.0"
2621 }, 2636 },
2622 "suggest": { 2637 "suggest": {
2623 "ext-symfony_debug": "" 2638 "ext-symfony_debug": ""
...@@ -2625,7 +2640,7 @@ ...@@ -2625,7 +2640,7 @@
2625 "type": "library", 2640 "type": "library",
2626 "extra": { 2641 "extra": {
2627 "branch-alias": { 2642 "branch-alias": {
2628 - "dev-master": "2.7-dev" 2643 + "dev-master": "3.0-dev"
2629 } 2644 }
2630 }, 2645 },
2631 "autoload": { 2646 "autoload": {
...@@ -2659,32 +2674,37 @@ ...@@ -2659,32 +2674,37 @@
2659 "debug", 2674 "debug",
2660 "dump" 2675 "dump"
2661 ], 2676 ],
2662 - "time": "2015-11-18 13:41:01" 2677 + "time": "2015-12-05 11:13:14"
2663 }, 2678 },
2664 { 2679 {
2665 "name": "vlucas/phpdotenv", 2680 "name": "vlucas/phpdotenv",
2666 - "version": "v1.1.1", 2681 + "version": "v2.2.0",
2667 "source": { 2682 "source": {
2668 "type": "git", 2683 "type": "git",
2669 "url": "https://github.com/vlucas/phpdotenv.git", 2684 "url": "https://github.com/vlucas/phpdotenv.git",
2670 - "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa" 2685 + "reference": "9caf304153dc2288e4970caec6f1f3b3bc205412"
2671 }, 2686 },
2672 "dist": { 2687 "dist": {
2673 "type": "zip", 2688 "type": "zip",
2674 - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa", 2689 + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/9caf304153dc2288e4970caec6f1f3b3bc205412",
2675 - "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa", 2690 + "reference": "9caf304153dc2288e4970caec6f1f3b3bc205412",
2676 "shasum": "" 2691 "shasum": ""
2677 }, 2692 },
2678 "require": { 2693 "require": {
2679 - "php": ">=5.3.2" 2694 + "php": ">=5.3.9"
2680 }, 2695 },
2681 "require-dev": { 2696 "require-dev": {
2682 - "phpunit/phpunit": "~4.0" 2697 + "phpunit/phpunit": "^4.8|^5.0"
2683 }, 2698 },
2684 "type": "library", 2699 "type": "library",
2700 + "extra": {
2701 + "branch-alias": {
2702 + "dev-master": "2.2-dev"
2703 + }
2704 + },
2685 "autoload": { 2705 "autoload": {
2686 - "psr-0": { 2706 + "psr-4": {
2687 - "Dotenv": "src/" 2707 + "Dotenv\\": "src/"
2688 } 2708 }
2689 }, 2709 },
2690 "notification-url": "https://packagist.org/downloads/", 2710 "notification-url": "https://packagist.org/downloads/",
...@@ -2705,7 +2725,7 @@ ...@@ -2705,7 +2725,7 @@
2705 "env", 2725 "env",
2706 "environment" 2726 "environment"
2707 ], 2727 ],
2708 - "time": "2015-05-30 15:59:26" 2728 + "time": "2015-12-29 15:10:30"
2709 } 2729 }
2710 ], 2730 ],
2711 "packages-dev": [ 2731 "packages-dev": [
...@@ -2961,16 +2981,16 @@ ...@@ -2961,16 +2981,16 @@
2961 }, 2981 },
2962 { 2982 {
2963 "name": "phpspec/phpspec", 2983 "name": "phpspec/phpspec",
2964 - "version": "2.4.0", 2984 + "version": "2.4.1",
2965 "source": { 2985 "source": {
2966 "type": "git", 2986 "type": "git",
2967 "url": "https://github.com/phpspec/phpspec.git", 2987 "url": "https://github.com/phpspec/phpspec.git",
2968 - "reference": "1d3938e6d9ffb1bd4805ea8ddac62ea48767f358" 2988 + "reference": "5528ce1e93a1efa090c9404aba3395c329b4e6ed"
2969 }, 2989 },
2970 "dist": { 2990 "dist": {
2971 "type": "zip", 2991 "type": "zip",
2972 - "url": "https://api.github.com/repos/phpspec/phpspec/zipball/1d3938e6d9ffb1bd4805ea8ddac62ea48767f358", 2992 + "url": "https://api.github.com/repos/phpspec/phpspec/zipball/5528ce1e93a1efa090c9404aba3395c329b4e6ed",
2973 - "reference": "1d3938e6d9ffb1bd4805ea8ddac62ea48767f358", 2993 + "reference": "5528ce1e93a1efa090c9404aba3395c329b4e6ed",
2974 "shasum": "" 2994 "shasum": ""
2975 }, 2995 },
2976 "require": { 2996 "require": {
...@@ -3035,7 +3055,7 @@ ...@@ -3035,7 +3055,7 @@
3035 "testing", 3055 "testing",
3036 "tests" 3056 "tests"
3037 ], 3057 ],
3038 - "time": "2015-11-29 02:03:49" 3058 + "time": "2016-01-01 10:17:54"
3039 }, 3059 },
3040 { 3060 {
3041 "name": "phpspec/prophecy", 3061 "name": "phpspec/prophecy",
...@@ -3339,16 +3359,16 @@ ...@@ -3339,16 +3359,16 @@
3339 }, 3359 },
3340 { 3360 {
3341 "name": "phpunit/phpunit", 3361 "name": "phpunit/phpunit",
3342 - "version": "4.8.19", 3362 + "version": "4.8.21",
3343 "source": { 3363 "source": {
3344 "type": "git", 3364 "type": "git",
3345 "url": "https://github.com/sebastianbergmann/phpunit.git", 3365 "url": "https://github.com/sebastianbergmann/phpunit.git",
3346 - "reference": "b2caaf8947aba5e002d42126723e9d69795f32b4" 3366 + "reference": "ea76b17bced0500a28098626b84eda12dbcf119c"
3347 }, 3367 },
3348 "dist": { 3368 "dist": {
3349 "type": "zip", 3369 "type": "zip",
3350 - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b2caaf8947aba5e002d42126723e9d69795f32b4", 3370 + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea76b17bced0500a28098626b84eda12dbcf119c",
3351 - "reference": "b2caaf8947aba5e002d42126723e9d69795f32b4", 3371 + "reference": "ea76b17bced0500a28098626b84eda12dbcf119c",
3352 "shasum": "" 3372 "shasum": ""
3353 }, 3373 },
3354 "require": { 3374 "require": {
...@@ -3407,7 +3427,7 @@ ...@@ -3407,7 +3427,7 @@
3407 "testing", 3427 "testing",
3408 "xunit" 3428 "xunit"
3409 ], 3429 ],
3410 - "time": "2015-11-30 08:18:59" 3430 + "time": "2015-12-12 07:45:58"
3411 }, 3431 },
3412 { 3432 {
3413 "name": "phpunit/phpunit-mock-objects", 3433 "name": "phpunit/phpunit-mock-objects",
...@@ -3531,28 +3551,28 @@ ...@@ -3531,28 +3551,28 @@
3531 }, 3551 },
3532 { 3552 {
3533 "name": "sebastian/diff", 3553 "name": "sebastian/diff",
3534 - "version": "1.3.0", 3554 + "version": "1.4.1",
3535 "source": { 3555 "source": {
3536 "type": "git", 3556 "type": "git",
3537 "url": "https://github.com/sebastianbergmann/diff.git", 3557 "url": "https://github.com/sebastianbergmann/diff.git",
3538 - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" 3558 + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
3539 }, 3559 },
3540 "dist": { 3560 "dist": {
3541 "type": "zip", 3561 "type": "zip",
3542 - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", 3562 + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
3543 - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", 3563 + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
3544 "shasum": "" 3564 "shasum": ""
3545 }, 3565 },
3546 "require": { 3566 "require": {
3547 "php": ">=5.3.3" 3567 "php": ">=5.3.3"
3548 }, 3568 },
3549 "require-dev": { 3569 "require-dev": {
3550 - "phpunit/phpunit": "~4.2" 3570 + "phpunit/phpunit": "~4.8"
3551 }, 3571 },
3552 "type": "library", 3572 "type": "library",
3553 "extra": { 3573 "extra": {
3554 "branch-alias": { 3574 "branch-alias": {
3555 - "dev-master": "1.3-dev" 3575 + "dev-master": "1.4-dev"
3556 } 3576 }
3557 }, 3577 },
3558 "autoload": { 3578 "autoload": {
...@@ -3575,11 +3595,11 @@ ...@@ -3575,11 +3595,11 @@
3575 } 3595 }
3576 ], 3596 ],
3577 "description": "Diff implementation", 3597 "description": "Diff implementation",
3578 - "homepage": "http://www.github.com/sebastianbergmann/diff", 3598 + "homepage": "https://github.com/sebastianbergmann/diff",
3579 "keywords": [ 3599 "keywords": [
3580 "diff" 3600 "diff"
3581 ], 3601 ],
3582 - "time": "2015-02-22 15:13:53" 3602 + "time": "2015-12-08 07:14:41"
3583 }, 3603 },
3584 { 3604 {
3585 "name": "sebastian/environment", 3605 "name": "sebastian/environment",
...@@ -3750,16 +3770,16 @@ ...@@ -3750,16 +3770,16 @@
3750 }, 3770 },
3751 { 3771 {
3752 "name": "sebastian/recursion-context", 3772 "name": "sebastian/recursion-context",
3753 - "version": "1.0.1", 3773 + "version": "1.0.2",
3754 "source": { 3774 "source": {
3755 "type": "git", 3775 "type": "git",
3756 "url": "https://github.com/sebastianbergmann/recursion-context.git", 3776 "url": "https://github.com/sebastianbergmann/recursion-context.git",
3757 - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba" 3777 + "reference": "913401df809e99e4f47b27cdd781f4a258d58791"
3758 }, 3778 },
3759 "dist": { 3779 "dist": {
3760 "type": "zip", 3780 "type": "zip",
3761 - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba", 3781 + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791",
3762 - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba", 3782 + "reference": "913401df809e99e4f47b27cdd781f4a258d58791",
3763 "shasum": "" 3783 "shasum": ""
3764 }, 3784 },
3765 "require": { 3785 "require": {
...@@ -3799,7 +3819,7 @@ ...@@ -3799,7 +3819,7 @@
3799 ], 3819 ],
3800 "description": "Provides functionality to recursively process PHP variables", 3820 "description": "Provides functionality to recursively process PHP variables",
3801 "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 3821 "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
3802 - "time": "2015-06-21 08:04:50" 3822 + "time": "2015-11-11 19:50:13"
3803 }, 3823 },
3804 { 3824 {
3805 "name": "sebastian/version", 3825 "name": "sebastian/version",
...@@ -3837,17 +3857,126 @@ ...@@ -3837,17 +3857,126 @@
3837 "time": "2015-06-21 13:59:46" 3857 "time": "2015-06-21 13:59:46"
3838 }, 3858 },
3839 { 3859 {
3860 + "name": "symfony/css-selector",
3861 + "version": "v3.0.1",
3862 + "source": {
3863 + "type": "git",
3864 + "url": "https://github.com/symfony/css-selector.git",
3865 + "reference": "4613311fd46e146f506403ce2f8a0c71d402d2a3"
3866 + },
3867 + "dist": {
3868 + "type": "zip",
3869 + "url": "https://api.github.com/repos/symfony/css-selector/zipball/4613311fd46e146f506403ce2f8a0c71d402d2a3",
3870 + "reference": "4613311fd46e146f506403ce2f8a0c71d402d2a3",
3871 + "shasum": ""
3872 + },
3873 + "require": {
3874 + "php": ">=5.5.9"
3875 + },
3876 + "type": "library",
3877 + "extra": {
3878 + "branch-alias": {
3879 + "dev-master": "3.0-dev"
3880 + }
3881 + },
3882 + "autoload": {
3883 + "psr-4": {
3884 + "Symfony\\Component\\CssSelector\\": ""
3885 + },
3886 + "exclude-from-classmap": [
3887 + "/Tests/"
3888 + ]
3889 + },
3890 + "notification-url": "https://packagist.org/downloads/",
3891 + "license": [
3892 + "MIT"
3893 + ],
3894 + "authors": [
3895 + {
3896 + "name": "Jean-François Simon",
3897 + "email": "jeanfrancois.simon@sensiolabs.com"
3898 + },
3899 + {
3900 + "name": "Fabien Potencier",
3901 + "email": "fabien@symfony.com"
3902 + },
3903 + {
3904 + "name": "Symfony Community",
3905 + "homepage": "https://symfony.com/contributors"
3906 + }
3907 + ],
3908 + "description": "Symfony CssSelector Component",
3909 + "homepage": "https://symfony.com",
3910 + "time": "2015-12-05 17:45:07"
3911 + },
3912 + {
3913 + "name": "symfony/dom-crawler",
3914 + "version": "v3.0.1",
3915 + "source": {
3916 + "type": "git",
3917 + "url": "https://github.com/symfony/dom-crawler.git",
3918 + "reference": "7c622b0c9fb8bdb146d6dfa86c5f91dcbfdbc11d"
3919 + },
3920 + "dist": {
3921 + "type": "zip",
3922 + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/7c622b0c9fb8bdb146d6dfa86c5f91dcbfdbc11d",
3923 + "reference": "7c622b0c9fb8bdb146d6dfa86c5f91dcbfdbc11d",
3924 + "shasum": ""
3925 + },
3926 + "require": {
3927 + "php": ">=5.5.9",
3928 + "symfony/polyfill-mbstring": "~1.0"
3929 + },
3930 + "require-dev": {
3931 + "symfony/css-selector": "~2.8|~3.0"
3932 + },
3933 + "suggest": {
3934 + "symfony/css-selector": ""
3935 + },
3936 + "type": "library",
3937 + "extra": {
3938 + "branch-alias": {
3939 + "dev-master": "3.0-dev"
3940 + }
3941 + },
3942 + "autoload": {
3943 + "psr-4": {
3944 + "Symfony\\Component\\DomCrawler\\": ""
3945 + },
3946 + "exclude-from-classmap": [
3947 + "/Tests/"
3948 + ]
3949 + },
3950 + "notification-url": "https://packagist.org/downloads/",
3951 + "license": [
3952 + "MIT"
3953 + ],
3954 + "authors": [
3955 + {
3956 + "name": "Fabien Potencier",
3957 + "email": "fabien@symfony.com"
3958 + },
3959 + {
3960 + "name": "Symfony Community",
3961 + "homepage": "https://symfony.com/contributors"
3962 + }
3963 + ],
3964 + "description": "Symfony DomCrawler Component",
3965 + "homepage": "https://symfony.com",
3966 + "time": "2015-12-26 13:42:31"
3967 + },
3968 + {
3840 "name": "symfony/yaml", 3969 "name": "symfony/yaml",
3841 - "version": "v3.0.0", 3970 + "version": "v3.0.1",
3842 "source": { 3971 "source": {
3843 "type": "git", 3972 "type": "git",
3844 "url": "https://github.com/symfony/yaml.git", 3973 "url": "https://github.com/symfony/yaml.git",
3845 - "reference": "177a015cb0e19ff4a49e0e2e2c5fc1c1bee07002" 3974 + "reference": "3df409958a646dad2bc5046c3fb671ee24a1a691"
3846 }, 3975 },
3847 "dist": { 3976 "dist": {
3848 "type": "zip", 3977 "type": "zip",
3849 - "url": "https://api.github.com/repos/symfony/yaml/zipball/177a015cb0e19ff4a49e0e2e2c5fc1c1bee07002", 3978 + "url": "https://api.github.com/repos/symfony/yaml/zipball/3df409958a646dad2bc5046c3fb671ee24a1a691",
3850 - "reference": "177a015cb0e19ff4a49e0e2e2c5fc1c1bee07002", 3979 + "reference": "3df409958a646dad2bc5046c3fb671ee24a1a691",
3851 "shasum": "" 3980 "shasum": ""
3852 }, 3981 },
3853 "require": { 3982 "require": {
...@@ -3883,7 +4012,7 @@ ...@@ -3883,7 +4012,7 @@
3883 ], 4012 ],
3884 "description": "Symfony Yaml Component", 4013 "description": "Symfony Yaml Component",
3885 "homepage": "https://symfony.com", 4014 "homepage": "https://symfony.com",
3886 - "time": "2015-11-30 12:36:17" 4015 + "time": "2015-12-26 13:39:53"
3887 } 4016 }
3888 ], 4017 ],
3889 "aliases": [], 4018 "aliases": [],
......
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
2 2
3 return [ 3 return [
4 4
5 +
6 + 'env' => env('APP_ENV', 'production'),
7 +
5 /* 8 /*
6 |-------------------------------------------------------------------------- 9 |--------------------------------------------------------------------------
7 | Application Debug Mode 10 | Application Debug Mode
...@@ -113,13 +116,11 @@ return [ ...@@ -113,13 +116,11 @@ return [
113 /* 116 /*
114 * Laravel Framework Service Providers... 117 * Laravel Framework Service Providers...
115 */ 118 */
116 - Illuminate\Foundation\Providers\ArtisanServiceProvider::class,
117 Illuminate\Auth\AuthServiceProvider::class, 119 Illuminate\Auth\AuthServiceProvider::class,
118 Illuminate\Broadcasting\BroadcastServiceProvider::class, 120 Illuminate\Broadcasting\BroadcastServiceProvider::class,
119 Illuminate\Bus\BusServiceProvider::class, 121 Illuminate\Bus\BusServiceProvider::class,
120 Illuminate\Cache\CacheServiceProvider::class, 122 Illuminate\Cache\CacheServiceProvider::class,
121 Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, 123 Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
122 - Illuminate\Routing\ControllerServiceProvider::class,
123 Illuminate\Cookie\CookieServiceProvider::class, 124 Illuminate\Cookie\CookieServiceProvider::class,
124 Illuminate\Database\DatabaseServiceProvider::class, 125 Illuminate\Database\DatabaseServiceProvider::class,
125 Illuminate\Encryption\EncryptionServiceProvider::class, 126 Illuminate\Encryption\EncryptionServiceProvider::class,
...@@ -149,6 +150,7 @@ return [ ...@@ -149,6 +150,7 @@ return [
149 /* 150 /*
150 * Application Service Providers... 151 * Application Service Providers...
151 */ 152 */
153 + BookStack\Providers\AuthServiceProvider::class,
152 BookStack\Providers\AppServiceProvider::class, 154 BookStack\Providers\AppServiceProvider::class,
153 BookStack\Providers\EventServiceProvider::class, 155 BookStack\Providers\EventServiceProvider::class,
154 BookStack\Providers\RouteServiceProvider::class, 156 BookStack\Providers\RouteServiceProvider::class,
......
...@@ -2,66 +2,109 @@ ...@@ -2,66 +2,109 @@
2 2
3 return [ 3 return [
4 4
5 +
6 + 'method' => env('AUTH_METHOD', 'standard'),
7 +
5 /* 8 /*
6 |-------------------------------------------------------------------------- 9 |--------------------------------------------------------------------------
7 - | Default Authentication Driver 10 + | Authentication Defaults
8 |-------------------------------------------------------------------------- 11 |--------------------------------------------------------------------------
9 | 12 |
10 - | This option controls the authentication driver that will be utilized. 13 + | This option controls the default authentication "guard" and password
11 - | This driver manages the retrieval and authentication of the users 14 + | reset options for your application. You may change these defaults
12 - | attempting to get access to protected areas of your application. 15 + | as required, but they're a perfect start for most applications.
13 - |
14 - | Supported: "database", "eloquent"
15 | 16 |
16 */ 17 */
17 18
18 - 'driver' => 'eloquent', 19 + 'defaults' => [
20 + 'guard' => 'web',
21 + 'passwords' => 'users',
22 + ],
19 23
20 /* 24 /*
21 |-------------------------------------------------------------------------- 25 |--------------------------------------------------------------------------
22 - | Authentication Model 26 + | Authentication Guards
23 |-------------------------------------------------------------------------- 27 |--------------------------------------------------------------------------
24 | 28 |
25 - | When using the "Eloquent" authentication driver, we need to know which 29 + | Next, you may define every authentication guard for your application.
26 - | Eloquent model should be used to retrieve your users. Of course, it 30 + | Of course, a great default configuration has been defined for you
27 - | is often just the "User" model but you may use whatever you like. 31 + | here which uses session storage and the Eloquent user provider.
32 + |
33 + | All authentication drivers have a user provider. This defines how the
34 + | users are actually retrieved out of your database or other storage
35 + | mechanisms used by this application to persist your user's data.
36 + |
37 + | Supported: "session", "token"
28 | 38 |
29 */ 39 */
30 40
31 - 'model' => BookStack\User::class, 41 + 'guards' => [
42 + 'web' => [
43 + 'driver' => 'session',
44 + 'provider' => 'users',
45 + ],
46 +
47 + 'api' => [
48 + 'driver' => 'token',
49 + 'provider' => 'users',
50 + ],
51 + ],
32 52
33 /* 53 /*
34 |-------------------------------------------------------------------------- 54 |--------------------------------------------------------------------------
35 - | Authentication Table 55 + | User Providers
36 |-------------------------------------------------------------------------- 56 |--------------------------------------------------------------------------
37 | 57 |
38 - | When using the "Database" authentication driver, we need to know which 58 + | All authentication drivers have a user provider. This defines how the
39 - | table should be used to retrieve your users. We have chosen a basic 59 + | users are actually retrieved out of your database or other storage
40 - | default value but you may easily change it to any table you like. 60 + | mechanisms used by this application to persist your user's data.
61 + |
62 + | If you have multiple user tables or models you may configure multiple
63 + | sources which represent each model / table. These sources may then
64 + | be assigned to any extra authentication guards you have defined.
65 + |
66 + | Supported: "database", "eloquent"
41 | 67 |
42 */ 68 */
43 69
44 - 'table' => 'users', 70 + 'providers' => [
71 + 'users' => [
72 + 'driver' => env('AUTH_METHOD', 'eloquent'),
73 + 'model' => Bookstack\User::class,
74 + ],
75 +
76 + // 'users' => [
77 + // 'driver' => 'database',
78 + // 'table' => 'users',
79 + // ],
80 + ],
45 81
46 /* 82 /*
47 |-------------------------------------------------------------------------- 83 |--------------------------------------------------------------------------
48 - | Password Reset Settings 84 + | Resetting Passwords
49 |-------------------------------------------------------------------------- 85 |--------------------------------------------------------------------------
50 | 86 |
51 | Here you may set the options for resetting passwords including the view 87 | Here you may set the options for resetting passwords including the view
52 - | that is your password reset e-mail. You can also set the name of the 88 + | that is your password reset e-mail. You may also set the name of the
53 | table that maintains all of the reset tokens for your application. 89 | table that maintains all of the reset tokens for your application.
54 | 90 |
91 + | You may specify multiple password reset configurations if you have more
92 + | than one user table or model in the application and you want to have
93 + | separate password reset settings based on the specific user types.
94 + |
55 | The expire time is the number of minutes that the reset token should be 95 | The expire time is the number of minutes that the reset token should be
56 | considered valid. This security feature keeps tokens short-lived so 96 | considered valid. This security feature keeps tokens short-lived so
57 | they have less time to be guessed. You may change this as needed. 97 | they have less time to be guessed. You may change this as needed.
58 | 98 |
59 */ 99 */
60 100
61 - 'password' => [ 101 + 'passwords' => [
62 - 'email' => 'emails.password', 102 + 'users' => [
63 - 'table' => 'password_resets', 103 + 'provider' => 'users',
64 - 'expire' => 60, 104 + 'email' => 'emails.password',
105 + 'table' => 'password_resets',
106 + 'expire' => 60,
107 + ],
65 ], 108 ],
66 109
67 -]; 110 +];
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -15,7 +15,18 @@ return [ ...@@ -15,7 +15,18 @@ return [
15 | 15 |
16 */ 16 */
17 17
18 - 'default' => 'local', 18 + 'default' => env('STORAGE_TYPE', 'local'),
19 +
20 + /*
21 + |--------------------------------------------------------------------------
22 + | Storage URL
23 + |--------------------------------------------------------------------------
24 + |
25 + | This is the url to where the storage is located for when using an external
26 + | file storage service, such as s3, to store publicly accessible assets.
27 + |
28 + */
29 + 'url' => env('STORAGE_URL', false),
19 30
20 /* 31 /*
21 |-------------------------------------------------------------------------- 32 |--------------------------------------------------------------------------
......
...@@ -13,6 +13,8 @@ return [ ...@@ -13,6 +13,8 @@ return [
13 | to have a conventional place to find your various credentials. 13 | to have a conventional place to find your various credentials.
14 | 14 |
15 */ 15 */
16 + 'disable_services' => env('DISABLE_EXTERNAL_SERVICES', false),
17 + 'callback_url' => env('APP_URL', false),
16 18
17 'mailgun' => [ 19 'mailgun' => [
18 'domain' => '', 20 'domain' => '',
...@@ -47,4 +49,12 @@ return [ ...@@ -47,4 +49,12 @@ return [
47 'redirect' => env('APP_URL') . '/login/service/google/callback', 49 'redirect' => env('APP_URL') . '/login/service/google/callback',
48 ], 50 ],
49 51
52 + 'ldap' => [
53 + 'server' => env('LDAP_SERVER', false),
54 + 'dn' => env('LDAP_DN', false),
55 + 'pass' => env('LDAP_PASS', false),
56 + 'base_dn' => env('LDAP_BASE_DN', false),
57 + 'user_filter' => env('LDAP_USER_FILTER', '(&(uid=${user}))')
58 + ]
59 +
50 ]; 60 ];
......
1 +<div class="form-group">
2 + <label for="email">Username</label>
3 + @include('form/text', ['name' => 'email', 'tabindex' => 1])
4 +</div>
5 +
6 +<div class="form-group">
7 + <label for="password">Password</label>
8 + @include('form/password', ['name' => 'password', 'tabindex' => 2])
9 +</div>
...\ No newline at end of file ...\ No newline at end of file
1 +<div class="form-group">
2 + <label for="email">Email</label>
3 + @include('form/text', ['name' => 'email', 'tabindex' => 1])
4 +</div>
5 +
6 +<div class="form-group">
7 + <label for="password">Password</label>
8 + @include('form/password', ['name' => 'password', 'tabindex' => 2])
9 + <span class="block small"><a href="/password/email">Forgot Password?</a></span>
10 +</div>
...\ No newline at end of file ...\ No newline at end of file
...@@ -15,16 +15,8 @@ ...@@ -15,16 +15,8 @@
15 <form action="/login" method="POST" id="login-form"> 15 <form action="/login" method="POST" id="login-form">
16 {!! csrf_field() !!} 16 {!! csrf_field() !!}
17 17
18 - <div class="form-group">
19 - <label for="email">Email</label>
20 - @include('form/text', ['name' => 'email', 'tabindex' => 1])
21 - </div>
22 18
23 - <div class="form-group"> 19 + @include('auth/forms/login/' . $authMethod)
24 - <label for="password">Password</label>
25 - @include('form/password', ['name' => 'password', 'tabindex' => 2])
26 - <span class="block small"><a href="/password/email">Forgot Password?</a></span>
27 - </div>
28 20
29 <div class="form-group"> 21 <div class="form-group">
30 <label for="remember" class="inline">Remember Me</label> 22 <label for="remember" class="inline">Remember Me</label>
...@@ -34,7 +26,7 @@ ...@@ -34,7 +26,7 @@
34 26
35 27
36 <div class="from-group"> 28 <div class="from-group">
37 - <button class="button block pos" tabindex="3">Sign In</button> 29 + <button class="button block pos" tabindex="3"><i class="zmdi zmdi-sign-in"></i> Sign In</button>
38 </div> 30 </div>
39 </form> 31 </form>
40 32
......