diff --git a/app/Http/Controllers/PagesController.php b/app/Http/Controllers/PagesController.php
index 0f785a3..6739082 100644
--- a/app/Http/Controllers/PagesController.php
+++ b/app/Http/Controllers/PagesController.php
@@ -8,4 +8,12 @@ class PagesController extends Controller
{
return view('layouts.root');
}
+
+ public function permissionDenied()
+ {
+ if (config('administrator.permission')) {
+ return redirect(url(config('administrator.uri')), 302);
+ }
+ return view('pages.permission_denied');
+ }
}
diff --git a/app/Http/Controllers/TopicsController.php b/app/Http/Controllers/TopicsController.php
index 6e7b07c..f7d58d1 100644
--- a/app/Http/Controllers/TopicsController.php
+++ b/app/Http/Controllers/TopicsController.php
@@ -76,17 +76,25 @@ class TopicsController extends Controller
public function update(TopicRequest $request, Topic $topic)
{
- $this->authorize('update', $topic);
- $topic->update($request->all());
+ try {
+ $this->authorize('update', $topic);
+ $topic->update($request->all());
+ } catch (\Exception $exception) {
+ echo $exception->getMessage();
+ }
+
return redirect()->route('topics.show', [$topic->id, $topic->slug])->with('success', '编辑成功!');
}
public function destroy(Topic $topic)
{
- $this->authorize('destroy', $topic);
- $topic->delete();
-
+ try {
+ $this->authorize('destroy', $topic);
+ $topic->delete();
+ } catch (\Exception $exception) {
+ echo $exception->getMessage();
+ }
return redirect()->route('topics.index')->with('message', '删除成功.');
}
}
\ No newline at end of file
diff --git a/composer.lock b/composer.lock
index c8d9c31..09d5310 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1,7 +1,7 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "5d821d2cc8afef049d75e4b44976928f",
@@ -65,16 +65,16 @@
},
{
"name": "caouecs/laravel-lang",
- "version": "3.0.43",
+ "version": "3.0.48",
"source": {
"type": "git",
"url": "https://github.com/caouecs/Laravel-lang.git",
- "reference": "73087e07f164e2746bec1c9c116668d100e0af3b"
+ "reference": "00a265f660c80c59d1208f6b190349365d4cb053"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/caouecs/Laravel-lang/zipball/73087e07f164e2746bec1c9c116668d100e0af3b",
- "reference": "73087e07f164e2746bec1c9c116668d100e0af3b",
+ "url": "https://api.github.com/repos/caouecs/Laravel-lang/zipball/00a265f660c80c59d1208f6b190349365d4cb053",
+ "reference": "00a265f660c80c59d1208f6b190349365d4cb053",
"shasum": ""
},
"require-dev": {
@@ -103,20 +103,20 @@
"laravel",
"lpm"
],
- "time": "2018-01-28T10:19:47+00:00"
+ "time": "2018-05-08T14:16:52+00:00"
},
{
"name": "ckeditor/ckeditor",
- "version": "4.8.0",
+ "version": "4.9.2",
"source": {
"type": "git",
"url": "https://github.com/ckeditor/ckeditor-releases.git",
- "reference": "3e0ba2fa7361e0e425b73b2e4400af4a7f767ec5"
+ "reference": "993eb4fba6a70545f6c50da1988d39ecd9cf47a3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ckeditor/ckeditor-releases/zipball/3e0ba2fa7361e0e425b73b2e4400af4a7f767ec5",
- "reference": "3e0ba2fa7361e0e425b73b2e4400af4a7f767ec5",
+ "url": "https://api.github.com/repos/ckeditor/ckeditor-releases/zipball/993eb4fba6a70545f6c50da1988d39ecd9cf47a3",
+ "reference": "993eb4fba6a70545f6c50da1988d39ecd9cf47a3",
"shasum": ""
},
"type": "library",
@@ -144,7 +144,7 @@
"text",
"wysiwyg"
],
- "time": "2017-12-13T16:47:19+00:00"
+ "time": "2018-04-18T09:04:40+00:00"
},
{
"name": "dnoegel/php-xdg-base-dir",
@@ -463,16 +463,16 @@
},
{
"name": "doctrine/dbal",
- "version": "v2.6.3",
+ "version": "v2.7.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13"
+ "reference": "11037b4352c008373561dc6fc836834eed80c3b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/e3eed9b1facbb0ced3a0995244843a189e7d1b13",
- "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/11037b4352c008373561dc6fc836834eed80c3b5",
+ "reference": "11037b4352c008373561dc6fc836834eed80c3b5",
"shasum": ""
},
"require": {
@@ -481,9 +481,11 @@
"php": "^7.1"
},
"require-dev": {
- "phpunit/phpunit": "^5.4.6",
+ "doctrine/coding-standard": "^4.0",
+ "phpunit/phpunit": "^7.0",
"phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5",
- "symfony/console": "2.*||^3.0"
+ "symfony/console": "^2.0.5||^3.0",
+ "symfony/phpunit-bridge": "^3.4.5|^4.0.5"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
@@ -494,7 +496,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.6.x-dev"
+ "dev-master": "2.7.x-dev"
}
},
"autoload": {
@@ -532,7 +534,7 @@
"persistence",
"queryobject"
],
- "time": "2017-11-19T13:38:54+00:00"
+ "time": "2018-04-07T18:44:18+00:00"
},
{
"name": "doctrine/inflector",
@@ -657,16 +659,16 @@
},
{
"name": "egulias/email-validator",
- "version": "2.1.3",
+ "version": "2.1.4",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "1bec00a10039b823cc94eef4eddd47dcd3b2ca04"
+ "reference": "8790f594151ca6a2010c6218e09d96df67173ad3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/1bec00a10039b823cc94eef4eddd47dcd3b2ca04",
- "reference": "1bec00a10039b823cc94eef4eddd47dcd3b2ca04",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/8790f594151ca6a2010c6218e09d96df67173ad3",
+ "reference": "8790f594151ca6a2010c6218e09d96df67173ad3",
"shasum": ""
},
"require": {
@@ -675,7 +677,7 @@
},
"require-dev": {
"dominicsayers/isemail": "dev-master",
- "phpunit/phpunit": "^4.8.35",
+ "phpunit/phpunit": "^4.8.35||^5.7||^6.0",
"satooshi/php-coveralls": "^1.0.1"
},
"suggest": {
@@ -710,23 +712,24 @@
"validation",
"validator"
],
- "time": "2017-11-15T23:40:40+00:00"
+ "time": "2018-04-10T10:11:19+00:00"
},
{
"name": "erusev/parsedown",
- "version": "1.6.4",
+ "version": "1.7.1",
"source": {
"type": "git",
"url": "https://github.com/erusev/parsedown.git",
- "reference": "fbe3fe878f4fe69048bb8a52783a09802004f548"
+ "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/erusev/parsedown/zipball/fbe3fe878f4fe69048bb8a52783a09802004f548",
- "reference": "fbe3fe878f4fe69048bb8a52783a09802004f548",
+ "url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1",
+ "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1",
"shasum": ""
},
"require": {
+ "ext-mbstring": "*",
"php": ">=5.3.0"
},
"require-dev": {
@@ -755,20 +758,20 @@
"markdown",
"parser"
],
- "time": "2017-11-14T20:44:03+00:00"
+ "time": "2018-03-08T01:11:30+00:00"
},
{
"name": "ezyang/htmlpurifier",
- "version": "v4.9.3",
+ "version": "v4.10.0",
"source": {
"type": "git",
"url": "https://github.com/ezyang/htmlpurifier.git",
- "reference": "95e1bae3182efc0f3422896a3236e991049dac69"
+ "reference": "d85d39da4576a6934b72480be6978fb10c860021"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/95e1bae3182efc0f3422896a3236e991049dac69",
- "reference": "95e1bae3182efc0f3422896a3236e991049dac69",
+ "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021",
+ "reference": "d85d39da4576a6934b72480be6978fb10c860021",
"shasum": ""
},
"require": {
@@ -802,7 +805,7 @@
"keywords": [
"html"
],
- "time": "2017-06-03T02:28:16+00:00"
+ "time": "2018-02-23T01:58:20+00:00"
},
{
"name": "fideloper/proxy",
@@ -863,16 +866,16 @@
},
{
"name": "guzzlehttp/guzzle",
- "version": "6.3.0",
+ "version": "6.3.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699"
+ "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699",
- "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba",
+ "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba",
"shasum": ""
},
"require": {
@@ -882,7 +885,7 @@
},
"require-dev": {
"ext-curl": "*",
- "phpunit/phpunit": "^4.0 || ^5.0",
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
"psr/log": "^1.0"
},
"suggest": {
@@ -891,7 +894,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "6.2-dev"
+ "dev-master": "6.3-dev"
}
},
"autoload": {
@@ -924,7 +927,7 @@
"rest",
"web service"
],
- "time": "2017-06-22T18:50:49+00:00"
+ "time": "2018-04-22T15:46:56+00:00"
},
{
"name": "guzzlehttp/promises",
@@ -1107,16 +1110,16 @@
},
{
"name": "intervention/image",
- "version": "2.4.1",
+ "version": "2.4.2",
"source": {
"type": "git",
"url": "https://github.com/Intervention/image.git",
- "reference": "3603dbcc9a17d307533473246a6c58c31cf17919"
+ "reference": "e82d274f786e3d4b866a59b173f42e716f0783eb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Intervention/image/zipball/3603dbcc9a17d307533473246a6c58c31cf17919",
- "reference": "3603dbcc9a17d307533473246a6c58c31cf17919",
+ "url": "https://api.github.com/repos/Intervention/image/zipball/e82d274f786e3d4b866a59b173f42e716f0783eb",
+ "reference": "e82d274f786e3d4b866a59b173f42e716f0783eb",
"shasum": ""
},
"require": {
@@ -1136,7 +1139,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3-dev"
+ "dev-master": "2.4-dev"
},
"laravel": {
"providers": [
@@ -1173,7 +1176,7 @@
"thumbnail",
"watermark"
],
- "time": "2017-09-21T16:29:17+00:00"
+ "time": "2018-05-29T14:19:03+00:00"
},
{
"name": "jakub-onderka/php-console-color",
@@ -1264,27 +1267,27 @@
},
{
"name": "laravel/framework",
- "version": "v5.5.34",
+ "version": "v5.5.40",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "1de7c0aec13eadbdddc2d1ba4019b064b2c6b966"
+ "reference": "d724ce0aa61bbd9adf658215eec484f5dd6711d6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/1de7c0aec13eadbdddc2d1ba4019b064b2c6b966",
- "reference": "1de7c0aec13eadbdddc2d1ba4019b064b2c6b966",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/d724ce0aa61bbd9adf658215eec484f5dd6711d6",
+ "reference": "d724ce0aa61bbd9adf658215eec484f5dd6711d6",
"shasum": ""
},
"require": {
"doctrine/inflector": "~1.1",
- "erusev/parsedown": "~1.6",
+ "erusev/parsedown": "~1.7",
"ext-mbstring": "*",
"ext-openssl": "*",
- "league/flysystem": "~1.0",
+ "league/flysystem": "^1.0.8",
"monolog/monolog": "~1.12",
"mtdowling/cron-expression": "~1.0",
- "nesbot/carbon": "~1.20",
+ "nesbot/carbon": "^1.24.1",
"php": ">=7.0",
"psr/container": "~1.0",
"psr/simple-cache": "^1.0",
@@ -1330,7 +1333,7 @@
"illuminate/translation": "self.version",
"illuminate/validation": "self.version",
"illuminate/view": "self.version",
- "tightenco/collect": "self.version"
+ "tightenco/collect": "<5.5.33"
},
"require-dev": {
"aws/aws-sdk-php": "~3.0",
@@ -1394,20 +1397,20 @@
"framework",
"laravel"
],
- "time": "2018-02-06T15:36:55+00:00"
+ "time": "2018-03-30T13:29:30+00:00"
},
{
"name": "laravel/horizon",
- "version": "v1.2.1",
+ "version": "v1.2.3",
"source": {
"type": "git",
"url": "https://github.com/laravel/horizon.git",
- "reference": "6fe4cd4af88dde8f411e0454e1e64f773cfe0666"
+ "reference": "36ef9e2d6e09e617cf801050326a69e876ff5535"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/horizon/zipball/6fe4cd4af88dde8f411e0454e1e64f773cfe0666",
- "reference": "6fe4cd4af88dde8f411e0454e1e64f773cfe0666",
+ "url": "https://api.github.com/repos/laravel/horizon/zipball/36ef9e2d6e09e617cf801050326a69e876ff5535",
+ "reference": "36ef9e2d6e09e617cf801050326a69e876ff5535",
"shasum": ""
},
"require": {
@@ -1462,20 +1465,20 @@
"laravel",
"queue"
],
- "time": "2018-02-10T16:15:35+00:00"
+ "time": "2018-03-13T18:00:18+00:00"
},
{
"name": "laravel/tinker",
- "version": "v1.0.3",
+ "version": "v1.0.7",
"source": {
"type": "git",
"url": "https://github.com/laravel/tinker.git",
- "reference": "852c2abe0b0991555a403f1c0583e64de6acb4a6"
+ "reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/tinker/zipball/852c2abe0b0991555a403f1c0583e64de6acb4a6",
- "reference": "852c2abe0b0991555a403f1c0583e64de6acb4a6",
+ "url": "https://api.github.com/repos/laravel/tinker/zipball/e3086ee8cb1f54a39ae8dcb72d1c37d10128997d",
+ "reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d",
"shasum": ""
},
"require": {
@@ -1483,7 +1486,7 @@
"illuminate/contracts": "~5.1",
"illuminate/support": "~5.1",
"php": ">=5.5.9",
- "psy/psysh": "0.7.*|0.8.*",
+ "psy/psysh": "0.7.*|0.8.*|0.9.*",
"symfony/var-dumper": "~3.0|~4.0"
},
"require-dev": {
@@ -1525,20 +1528,20 @@
"laravel",
"psysh"
],
- "time": "2017-12-18T16:25:11+00:00"
+ "time": "2018-05-17T13:42:07+00:00"
},
{
"name": "league/flysystem",
- "version": "1.0.42",
+ "version": "1.0.45",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "09eabc54e199950041aef258a85847676496fe8e"
+ "reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/09eabc54e199950041aef258a85847676496fe8e",
- "reference": "09eabc54e199950041aef258a85847676496fe8e",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a99f94e63b512d75f851b181afcdf0ee9ebef7e6",
+ "reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6",
"shasum": ""
},
"require": {
@@ -1609,20 +1612,20 @@
"sftp",
"storage"
],
- "time": "2018-01-27T16:03:56+00:00"
+ "time": "2018-05-07T08:44:23+00:00"
},
{
"name": "mews/captcha",
- "version": "2.1.7",
+ "version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/mewebstudio/captcha.git",
- "reference": "7d48d7dc5df0fb2225b086ba85cb3fef9832b235"
+ "reference": "c9885e31bb2c30fe185c1af6078a53a3bef5db8f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mewebstudio/captcha/zipball/7d48d7dc5df0fb2225b086ba85cb3fef9832b235",
- "reference": "7d48d7dc5df0fb2225b086ba85cb3fef9832b235",
+ "url": "https://api.github.com/repos/mewebstudio/captcha/zipball/c9885e31bb2c30fe185c1af6078a53a3bef5db8f",
+ "reference": "c9885e31bb2c30fe185c1af6078a53a3bef5db8f",
"shasum": ""
},
"require": {
@@ -1676,27 +1679,27 @@
"laravel5 Captcha",
"laravel5 Security"
],
- "time": "2017-09-11T14:59:20+00:00"
+ "time": "2018-04-25T13:44:49+00:00"
},
{
"name": "mews/purifier",
- "version": "2.0.9",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/mewebstudio/Purifier.git",
- "reference": "85af9a2a932583b2c78a0ed762b46cb19399a0a9"
+ "reference": "7333435c9842e207f3381b7319b63122f8c9403e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mewebstudio/Purifier/zipball/85af9a2a932583b2c78a0ed762b46cb19399a0a9",
- "reference": "85af9a2a932583b2c78a0ed762b46cb19399a0a9",
+ "url": "https://api.github.com/repos/mewebstudio/Purifier/zipball/7333435c9842e207f3381b7319b63122f8c9403e",
+ "reference": "7333435c9842e207f3381b7319b63122f8c9403e",
"shasum": ""
},
"require": {
- "ezyang/htmlpurifier": "4.9.*",
- "illuminate/config": "5.*",
- "illuminate/filesystem": "5.*",
- "illuminate/support": "5.*",
+ "ezyang/htmlpurifier": "4.10.*",
+ "illuminate/config": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
+ "illuminate/filesystem": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
+ "illuminate/support": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"php": ">=5.5.9"
},
"require-dev": {
@@ -1751,7 +1754,7 @@
"security",
"xss"
],
- "time": "2017-09-11T15:02:51+00:00"
+ "time": "2018-03-21T12:29:49+00:00"
},
{
"name": "monolog/monolog",
@@ -1877,35 +1880,30 @@
},
{
"name": "nesbot/carbon",
- "version": "1.22.1",
+ "version": "1.29.2",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc"
+ "reference": "ed6aa898982f441ccc9b2acdec51490f2bc5d337"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc",
- "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/ed6aa898982f441ccc9b2acdec51490f2bc5d337",
+ "reference": "ed6aa898982f441ccc9b2acdec51490f2bc5d337",
"shasum": ""
},
"require": {
- "php": ">=5.3.0",
- "symfony/translation": "~2.6 || ~3.0"
+ "php": ">=5.3.9",
+ "symfony/translation": "~2.6 || ~3.0 || ~4.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "~2",
- "phpunit/phpunit": "~4.0 || ~5.0"
+ "phpunit/phpunit": "^4.8.35 || ^5.7"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.23-dev"
- }
- },
"autoload": {
"psr-4": {
- "Carbon\\": "src/Carbon/"
+ "": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1926,28 +1924,28 @@
"datetime",
"time"
],
- "time": "2017-01-16T07:55:07+00:00"
+ "time": "2018-05-29T15:23:46+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v3.1.4",
+ "version": "v4.0.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "e57b3a09784f846411aa7ed664eedb73e3399078"
+ "reference": "e4a54fa90a5cd8e8dd3fb4099942681731c5cdd3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/e57b3a09784f846411aa7ed664eedb73e3399078",
- "reference": "e57b3a09784f846411aa7ed664eedb73e3399078",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/e4a54fa90a5cd8e8dd3fb4099942681731c5cdd3",
+ "reference": "e4a54fa90a5cd8e8dd3fb4099942681731c5cdd3",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
- "php": ">=5.5"
+ "php": ">=7.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.0|~5.0"
+ "phpunit/phpunit": "^6.5 || ^7.0"
},
"bin": [
"bin/php-parse"
@@ -1955,7 +1953,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -1977,7 +1975,7 @@
"parser",
"php"
],
- "time": "2018-01-25T21:31:33+00:00"
+ "time": "2018-03-25T17:35:16+00:00"
},
{
"name": "overtrue/laravel-lang",
@@ -2077,16 +2075,16 @@
},
{
"name": "paragonie/random_compat",
- "version": "v2.0.11",
+ "version": "v2.0.12",
"source": {
"type": "git",
"url": "https://github.com/paragonie/random_compat.git",
- "reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8"
+ "reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/5da4d3c796c275c55f057af5a643ae297d96b4d8",
- "reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8",
+ "url": "https://api.github.com/repos/paragonie/random_compat/zipball/258c89a6b97de7dfaf5b8c7607d0478e236b04fb",
+ "reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb",
"shasum": ""
},
"require": {
@@ -2121,7 +2119,7 @@
"pseudorandom",
"random"
],
- "time": "2017-09-27T21:40:39+00:00"
+ "time": "2018-04-04T21:24:14+00:00"
},
{
"name": "predis/predis",
@@ -2321,16 +2319,16 @@
},
{
"name": "psr/simple-cache",
- "version": "1.0.0",
+ "version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/simple-cache.git",
- "reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24"
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/753fa598e8f3b9966c886fe13f370baa45ef0e24",
- "reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24",
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
"shasum": ""
},
"require": {
@@ -2365,34 +2363,34 @@
"psr-16",
"simple-cache"
],
- "time": "2017-01-02T13:31:39+00:00"
+ "time": "2017-10-23T01:57:42+00:00"
},
{
"name": "psy/psysh",
- "version": "v0.8.17",
+ "version": "v0.9.4",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "5069b70e8c4ea492c2b5939b6eddc78bfe41cfec"
+ "reference": "4d969a0e08e1e05e7207c07cb4207017ecc9a331"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/5069b70e8c4ea492c2b5939b6eddc78bfe41cfec",
- "reference": "5069b70e8c4ea492c2b5939b6eddc78bfe41cfec",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4d969a0e08e1e05e7207c07cb4207017ecc9a331",
+ "reference": "4d969a0e08e1e05e7207c07cb4207017ecc9a331",
"shasum": ""
},
"require": {
"dnoegel/php-xdg-base-dir": "0.1",
"jakub-onderka/php-console-highlighter": "0.3.*",
- "nikic/php-parser": "~1.3|~2.0|~3.0",
- "php": ">=5.3.9",
+ "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0",
+ "php": ">=5.4.0",
"symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0",
"symfony/var-dumper": "~2.7|~3.0|~4.0"
},
"require-dev": {
- "hoa/console": "~3.16|~1.14",
- "phpunit/phpunit": "^4.8.35|^5.4.3",
- "symfony/finder": "~2.1|~3.0|~4.0"
+ "bamarni/composer-bin-plugin": "^1.2",
+ "hoa/console": "~2.15|~3.16",
+ "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0"
},
"suggest": {
"ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
@@ -2407,15 +2405,15 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-develop": "0.8.x-dev"
+ "dev-develop": "0.9.x-dev"
}
},
"autoload": {
"files": [
- "src/Psy/functions.php"
+ "src/functions.php"
],
"psr-4": {
- "Psy\\": "src/Psy/"
+ "Psy\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2437,7 +2435,7 @@
"interactive",
"shell"
],
- "time": "2017-12-28T16:14:16+00:00"
+ "time": "2018-05-22T06:48:07+00:00"
},
{
"name": "ramsey/uuid",
@@ -2521,16 +2519,16 @@
},
{
"name": "spatie/laravel-permission",
- "version": "2.9.0",
+ "version": "2.12.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-permission.git",
- "reference": "4d47ef1644ed451f1ea99d1c44443a3ad9bacfd4"
+ "reference": "c352d83ecb5efb2d68169a1de7b7e263135ad807"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/4d47ef1644ed451f1ea99d1c44443a3ad9bacfd4",
- "reference": "4d47ef1644ed451f1ea99d1c44443a3ad9bacfd4",
+ "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/c352d83ecb5efb2d68169a1de7b7e263135ad807",
+ "reference": "c352d83ecb5efb2d68169a1de7b7e263135ad807",
"shasum": ""
},
"require": {
@@ -2581,20 +2579,20 @@
"security",
"spatie"
],
- "time": "2018-02-07T16:53:52+00:00"
+ "time": "2018-04-23T19:06:39+00:00"
},
{
"name": "summerblue/administrator",
- "version": "v1.1.6",
+ "version": "v1.1.7",
"source": {
"type": "git",
"url": "https://github.com/summerblue/administrator.git",
- "reference": "fb1eafbe6c5422d10104e242415d815866e1009b"
+ "reference": "e775635f3d1d462ae88aaf2d080be863df3a5d54"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/summerblue/administrator/zipball/fb1eafbe6c5422d10104e242415d815866e1009b",
- "reference": "fb1eafbe6c5422d10104e242415d815866e1009b",
+ "url": "https://api.github.com/repos/summerblue/administrator/zipball/e775635f3d1d462ae88aaf2d080be863df3a5d54",
+ "reference": "e775635f3d1d462ae88aaf2d080be863df3a5d54",
"shasum": ""
},
"require": {
@@ -2642,7 +2640,7 @@
"laravel",
"laravel-administrator"
],
- "time": "2017-12-26T07:58:05+00:00"
+ "time": "2018-02-27T01:14:55+00:00"
},
{
"name": "swiftmailer/swiftmailer",
@@ -2701,16 +2699,16 @@
},
{
"name": "symfony/console",
- "version": "v3.4.4",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "26b6f419edda16c19775211987651cb27baea7f1"
+ "reference": "36f83f642443c46f3cf751d4d2ee5d047d757a27"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/26b6f419edda16c19775211987651cb27baea7f1",
- "reference": "26b6f419edda16c19775211987651cb27baea7f1",
+ "url": "https://api.github.com/repos/symfony/console/zipball/36f83f642443c46f3cf751d4d2ee5d047d757a27",
+ "reference": "36f83f642443c46f3cf751d4d2ee5d047d757a27",
"shasum": ""
},
"require": {
@@ -2731,7 +2729,7 @@
"symfony/process": "~3.3|~4.0"
},
"suggest": {
- "psr/log": "For using the console logger",
+ "psr/log-implementation": "For using the console logger",
"symfony/event-dispatcher": "",
"symfony/lock": "",
"symfony/process": ""
@@ -2766,20 +2764,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
- "time": "2018-01-29T09:03:43+00:00"
+ "time": "2018-05-16T08:49:21+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v4.0.4",
+ "version": "v4.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "f97600434e3141ef3cbb9ea42cf500fba88022b7"
+ "reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/f97600434e3141ef3cbb9ea42cf500fba88022b7",
- "reference": "f97600434e3141ef3cbb9ea42cf500fba88022b7",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/03ac71606ecb0b0ce792faa17d74cc32c2949ef4",
+ "reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4",
"shasum": ""
},
"require": {
@@ -2788,7 +2786,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "4.1-dev"
}
},
"autoload": {
@@ -2819,20 +2817,20 @@
],
"description": "Symfony CssSelector Component",
"homepage": "https://symfony.com",
- "time": "2018-01-03T07:38:00+00:00"
+ "time": "2018-05-30T07:26:09+00:00"
},
{
"name": "symfony/debug",
- "version": "v3.4.4",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
- "reference": "53f6af2805daf52a43b393b93d2f24925d35c937"
+ "reference": "b28fd73fefbac341f673f5efd707d539d6a19f68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug/zipball/53f6af2805daf52a43b393b93d2f24925d35c937",
- "reference": "53f6af2805daf52a43b393b93d2f24925d35c937",
+ "url": "https://api.github.com/repos/symfony/debug/zipball/b28fd73fefbac341f673f5efd707d539d6a19f68",
+ "reference": "b28fd73fefbac341f673f5efd707d539d6a19f68",
"shasum": ""
},
"require": {
@@ -2875,20 +2873,20 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
- "time": "2018-01-18T22:16:57+00:00"
+ "time": "2018-05-16T14:03:39+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v4.0.4",
+ "version": "v4.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "74d33aac36208c4d6757807d9f598f0133a3a4eb"
+ "reference": "2391ed210a239868e7256eb6921b1bd83f3087b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/74d33aac36208c4d6757807d9f598f0133a3a4eb",
- "reference": "74d33aac36208c4d6757807d9f598f0133a3a4eb",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2391ed210a239868e7256eb6921b1bd83f3087b5",
+ "reference": "2391ed210a239868e7256eb6921b1bd83f3087b5",
"shasum": ""
},
"require": {
@@ -2911,7 +2909,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "4.1-dev"
}
},
"autoload": {
@@ -2938,20 +2936,20 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
- "time": "2018-01-03T07:38:00+00:00"
+ "time": "2018-04-06T07:35:57+00:00"
},
{
"name": "symfony/finder",
- "version": "v3.4.4",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "613e26310776f49a1773b6737c6bd554b8bc8c6f"
+ "reference": "472a92f3df8b247b49ae364275fb32943b9656c6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/613e26310776f49a1773b6737c6bd554b8bc8c6f",
- "reference": "613e26310776f49a1773b6737c6bd554b8bc8c6f",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/472a92f3df8b247b49ae364275fb32943b9656c6",
+ "reference": "472a92f3df8b247b49ae364275fb32943b9656c6",
"shasum": ""
},
"require": {
@@ -2987,20 +2985,20 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
- "time": "2018-01-03T07:37:34+00:00"
+ "time": "2018-05-16T08:49:21+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v3.4.4",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "8c39071ac9cc7e6d8dab1d556c990dc0d2cc3d30"
+ "reference": "a7b5fc605d1c215cea1122359044b1e682eb70c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/8c39071ac9cc7e6d8dab1d556c990dc0d2cc3d30",
- "reference": "8c39071ac9cc7e6d8dab1d556c990dc0d2cc3d30",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a7b5fc605d1c215cea1122359044b1e682eb70c0",
+ "reference": "a7b5fc605d1c215cea1122359044b1e682eb70c0",
"shasum": ""
},
"require": {
@@ -3041,20 +3039,20 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
- "time": "2018-01-29T09:03:43+00:00"
+ "time": "2018-05-25T11:07:31+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v3.4.4",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "911d2e5dd4beb63caad9a72e43857de984301907"
+ "reference": "3dac45df55ee0c5134c457a730cd68e2a2ce0445"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/911d2e5dd4beb63caad9a72e43857de984301907",
- "reference": "911d2e5dd4beb63caad9a72e43857de984301907",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3dac45df55ee0c5134c457a730cd68e2a2ce0445",
+ "reference": "3dac45df55ee0c5134c457a730cd68e2a2ce0445",
"shasum": ""
},
"require": {
@@ -3062,11 +3060,12 @@
"psr/log": "~1.0",
"symfony/debug": "~2.8|~3.0|~4.0",
"symfony/event-dispatcher": "~2.8|~3.0|~4.0",
- "symfony/http-foundation": "^3.4.4|^4.0.4"
+ "symfony/http-foundation": "^3.4.4|^4.0.4",
+ "symfony/polyfill-ctype": "~1.8"
},
"conflict": {
"symfony/config": "<2.8",
- "symfony/dependency-injection": "<3.4",
+ "symfony/dependency-injection": "<3.4.5|<4.0.5,>=4",
"symfony/var-dumper": "<3.3",
"twig/twig": "<1.34|<2.4,>=2"
},
@@ -3080,7 +3079,7 @@
"symfony/config": "~2.8|~3.0|~4.0",
"symfony/console": "~2.8|~3.0|~4.0",
"symfony/css-selector": "~2.8|~3.0|~4.0",
- "symfony/dependency-injection": "~3.4|~4.0",
+ "symfony/dependency-injection": "^3.4.5|^4.0.5",
"symfony/dom-crawler": "~2.8|~3.0|~4.0",
"symfony/expression-language": "~2.8|~3.0|~4.0",
"symfony/finder": "~2.8|~3.0|~4.0",
@@ -3129,20 +3128,75 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
- "time": "2018-01-29T12:29:46+00:00"
+ "time": "2018-05-25T13:16:28+00:00"
+ },
+ {
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
+ "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.8-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ },
+ {
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
+ }
+ ],
+ "description": "Symfony polyfill for ctype functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
+ "time": "2018-04-30T19:57:29+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.7.0",
+ "version": "v1.8.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
+ "reference": "3296adf6a6454a050679cde90f95350ad604b171"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
- "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171",
+ "reference": "3296adf6a6454a050679cde90f95350ad604b171",
"shasum": ""
},
"require": {
@@ -3154,7 +3208,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "1.8-dev"
}
},
"autoload": {
@@ -3188,20 +3242,20 @@
"portable",
"shim"
],
- "time": "2018-01-30T19:27:44+00:00"
+ "time": "2018-04-26T10:06:28+00:00"
},
{
"name": "symfony/polyfill-php70",
- "version": "v1.7.0",
+ "version": "v1.8.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php70.git",
- "reference": "3532bfcd8f933a7816f3a0a59682fc404776600f"
+ "reference": "77454693d8f10dd23bb24955cffd2d82db1007a6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/3532bfcd8f933a7816f3a0a59682fc404776600f",
- "reference": "3532bfcd8f933a7816f3a0a59682fc404776600f",
+ "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/77454693d8f10dd23bb24955cffd2d82db1007a6",
+ "reference": "77454693d8f10dd23bb24955cffd2d82db1007a6",
"shasum": ""
},
"require": {
@@ -3211,7 +3265,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "1.8-dev"
}
},
"autoload": {
@@ -3247,20 +3301,20 @@
"portable",
"shim"
],
- "time": "2018-01-30T19:27:44+00:00"
+ "time": "2018-04-26T10:06:28+00:00"
},
{
"name": "symfony/process",
- "version": "v3.4.4",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "09a5172057be8fc677840e591b17f385e58c7c0d"
+ "reference": "4cbf2db9abcb01486a21b7a059e03a62fae63187"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/09a5172057be8fc677840e591b17f385e58c7c0d",
- "reference": "09a5172057be8fc677840e591b17f385e58c7c0d",
+ "url": "https://api.github.com/repos/symfony/process/zipball/4cbf2db9abcb01486a21b7a059e03a62fae63187",
+ "reference": "4cbf2db9abcb01486a21b7a059e03a62fae63187",
"shasum": ""
},
"require": {
@@ -3296,27 +3350,27 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
- "time": "2018-01-29T09:03:43+00:00"
+ "time": "2018-05-16T08:49:21+00:00"
},
{
"name": "symfony/routing",
- "version": "v3.4.4",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "235d01730d553a97732990588407eaf6779bb4b2"
+ "reference": "e382da877f5304aabc12ec3073eec430670c8296"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/235d01730d553a97732990588407eaf6779bb4b2",
- "reference": "235d01730d553a97732990588407eaf6779bb4b2",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/e382da877f5304aabc12ec3073eec430670c8296",
+ "reference": "e382da877f5304aabc12ec3073eec430670c8296",
"shasum": ""
},
"require": {
"php": "^5.5.9|>=7.0.8"
},
"conflict": {
- "symfony/config": "<2.8",
+ "symfony/config": "<3.3.1",
"symfony/dependency-injection": "<3.3",
"symfony/yaml": "<3.4"
},
@@ -3324,7 +3378,7 @@
"doctrine/annotations": "~1.0",
"doctrine/common": "~2.2",
"psr/log": "~1.0",
- "symfony/config": "~2.8|~3.0|~4.0",
+ "symfony/config": "^3.3.1|~4.0",
"symfony/dependency-injection": "~3.3|~4.0",
"symfony/expression-language": "~2.8|~3.0|~4.0",
"symfony/http-foundation": "~2.8|~3.0|~4.0",
@@ -3374,48 +3428,49 @@
"uri",
"url"
],
- "time": "2018-01-16T18:03:57+00:00"
+ "time": "2018-05-16T12:49:49+00:00"
},
{
"name": "symfony/translation",
- "version": "v3.4.4",
+ "version": "v4.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "10b32cf0eae28b9b39fe26c456c42b19854c4b84"
+ "reference": "16328f5b217cebc8dd4adfe4aeeaa8c377581f5a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/10b32cf0eae28b9b39fe26c456c42b19854c4b84",
- "reference": "10b32cf0eae28b9b39fe26c456c42b19854c4b84",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/16328f5b217cebc8dd4adfe4aeeaa8c377581f5a",
+ "reference": "16328f5b217cebc8dd4adfe4aeeaa8c377581f5a",
"shasum": ""
},
"require": {
- "php": "^5.5.9|>=7.0.8",
+ "php": "^7.1.3",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/config": "<2.8",
+ "symfony/config": "<3.4",
"symfony/dependency-injection": "<3.4",
"symfony/yaml": "<3.4"
},
"require-dev": {
"psr/log": "~1.0",
- "symfony/config": "~2.8|~3.0|~4.0",
+ "symfony/config": "~3.4|~4.0",
+ "symfony/console": "~3.4|~4.0",
"symfony/dependency-injection": "~3.4|~4.0",
"symfony/finder": "~2.8|~3.0|~4.0",
- "symfony/intl": "^2.8.18|^3.2.5|~4.0",
+ "symfony/intl": "~3.4|~4.0",
"symfony/yaml": "~3.4|~4.0"
},
"suggest": {
- "psr/log": "To use logging capability in translator",
+ "psr/log-implementation": "To use logging capability in translator",
"symfony/config": "",
"symfony/yaml": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.4-dev"
+ "dev-master": "4.1-dev"
}
},
"autoload": {
@@ -3442,20 +3497,20 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
- "time": "2018-01-18T22:16:57+00:00"
+ "time": "2018-05-30T07:26:09+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v3.4.4",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "472a9849930cf21f73abdb02240f17cf5b5bd1a7"
+ "reference": "0e6545672d8c9ce70dd472adc2f8b03155a46f73"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/472a9849930cf21f73abdb02240f17cf5b5bd1a7",
- "reference": "472a9849930cf21f73abdb02240f17cf5b5bd1a7",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0e6545672d8c9ce70dd472adc2f8b03155a46f73",
+ "reference": "0e6545672d8c9ce70dd472adc2f8b03155a46f73",
"shasum": ""
},
"require": {
@@ -3511,7 +3566,7 @@
"debug",
"dump"
],
- "time": "2018-01-29T09:03:43+00:00"
+ "time": "2018-04-26T12:42:15+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@@ -3654,16 +3709,16 @@
"packages-dev": [
{
"name": "barryvdh/laravel-debugbar",
- "version": "v3.1.2",
+ "version": "v3.1.5",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-debugbar.git",
- "reference": "59a7a08d84111a5b2407fb58b9d74af3ebe430e7"
+ "reference": "d3cdca2ad6cc6e67735b4a63e7551c690a497f5f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/59a7a08d84111a5b2407fb58b9d74af3ebe430e7",
- "reference": "59a7a08d84111a5b2407fb58b9d74af3ebe430e7",
+ "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/d3cdca2ad6cc6e67735b4a63e7551c690a497f5f",
+ "reference": "d3cdca2ad6cc6e67735b4a63e7551c690a497f5f",
"shasum": ""
},
"require": {
@@ -3718,7 +3773,7 @@
"profiler",
"webprofiler"
],
- "time": "2018-02-07T19:51:45+00:00"
+ "time": "2018-05-03T18:27:04+00:00"
},
{
"name": "barryvdh/laravel-ide-helper",
@@ -4118,16 +4173,16 @@
},
{
"name": "mockery/mockery",
- "version": "1.0",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/mockery/mockery.git",
- "reference": "1bac8c362b12f522fdd1f1fa3556284c91affa38"
+ "reference": "99e29d3596b16dabe4982548527d5ddf90232e99"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mockery/mockery/zipball/1bac8c362b12f522fdd1f1fa3556284c91affa38",
- "reference": "1bac8c362b12f522fdd1f1fa3556284c91affa38",
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/99e29d3596b16dabe4982548527d5ddf90232e99",
+ "reference": "99e29d3596b16dabe4982548527d5ddf90232e99",
"shasum": ""
},
"require": {
@@ -4136,7 +4191,8 @@
"php": ">=5.6.0"
},
"require-dev": {
- "phpunit/phpunit": "~5.7|~6.1"
+ "phpdocumentor/phpdocumentor": "^2.9",
+ "phpunit/phpunit": "~5.7.10|~6.5"
},
"type": "library",
"extra": {
@@ -4165,8 +4221,8 @@
"homepage": "http://davedevelopment.co.uk"
}
],
- "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.",
- "homepage": "http://github.com/mockery/mockery",
+ "description": "Mockery is a simple yet flexible PHP mock object framework",
+ "homepage": "https://github.com/mockery/mockery",
"keywords": [
"BDD",
"TDD",
@@ -4179,29 +4235,32 @@
"test double",
"testing"
],
- "time": "2017-10-06T16:20:43+00:00"
+ "time": "2018-05-08T08:54:48+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.7.0",
+ "version": "1.8.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e"
+ "reference": "478465659fd987669df0bd8a9bf22a8710e5f1b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
- "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/478465659fd987669df0bd8a9bf22a8710e5f1b6",
+ "reference": "478465659fd987669df0bd8a9bf22a8710e5f1b6",
"shasum": ""
},
"require": {
- "php": "^5.6 || ^7.0"
+ "php": "^7.1"
+ },
+ "replace": {
+ "myclabs/deep-copy": "self.version"
},
"require-dev": {
"doctrine/collections": "^1.0",
"doctrine/common": "^2.6",
- "phpunit/phpunit": "^4.1"
+ "phpunit/phpunit": "^7.1"
},
"type": "library",
"autoload": {
@@ -4224,7 +4283,7 @@
"object",
"object graph"
],
- "time": "2017-10-19T19:58:43+00:00"
+ "time": "2018-05-29T17:25:09+00:00"
},
{
"name": "phar-io/manifest",
@@ -4482,23 +4541,23 @@
},
{
"name": "phpspec/prophecy",
- "version": "1.7.4",
+ "version": "1.7.6",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "9f901e29c93dae4aa77c0bb161df4276f9c9a1be"
+ "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/9f901e29c93dae4aa77c0bb161df4276f9c9a1be",
- "reference": "9f901e29c93dae4aa77c0bb161df4276f9c9a1be",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712",
+ "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.0.2",
"php": "^5.3|^7.0",
"phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
- "sebastian/comparator": "^1.1|^2.0",
+ "sebastian/comparator": "^1.1|^2.0|^3.0",
"sebastian/recursion-context": "^1.0|^2.0|^3.0"
},
"require-dev": {
@@ -4541,20 +4600,20 @@
"spy",
"stub"
],
- "time": "2018-02-11T18:49:29+00:00"
+ "time": "2018-04-18T13:57:24+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "5.3.0",
+ "version": "5.3.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "661f34d0bd3f1a7225ef491a70a020ad23a057a1"
+ "reference": "c89677919c5dd6d3b3852f230a663118762218ac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/661f34d0bd3f1a7225ef491a70a020ad23a057a1",
- "reference": "661f34d0bd3f1a7225ef491a70a020ad23a057a1",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac",
+ "reference": "c89677919c5dd6d3b3852f230a663118762218ac",
"shasum": ""
},
"require": {
@@ -4604,7 +4663,7 @@
"testing",
"xunit"
],
- "time": "2017-12-06T09:29:45+00:00"
+ "time": "2018-04-06T15:36:58+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -4794,16 +4853,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "6.5.6",
+ "version": "6.5.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "3330ef26ade05359d006041316ed0fa9e8e3cefe"
+ "reference": "4f21a3c6b97c42952fd5c2837bb354ec0199b97b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3330ef26ade05359d006041316ed0fa9e8e3cefe",
- "reference": "3330ef26ade05359d006041316ed0fa9e8e3cefe",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4f21a3c6b97c42952fd5c2837bb354ec0199b97b",
+ "reference": "4f21a3c6b97c42952fd5c2837bb354ec0199b97b",
"shasum": ""
},
"require": {
@@ -4874,20 +4933,20 @@
"testing",
"xunit"
],
- "time": "2018-02-01T05:57:37+00:00"
+ "time": "2018-04-10T11:38:34+00:00"
},
{
"name": "phpunit/phpunit-mock-objects",
- "version": "5.0.6",
+ "version": "5.0.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
- "reference": "33fd41a76e746b8fa96d00b49a23dadfa8334cdf"
+ "reference": "3eaf040f20154d27d6da59ca2c6e28ac8fd56dce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/33fd41a76e746b8fa96d00b49a23dadfa8334cdf",
- "reference": "33fd41a76e746b8fa96d00b49a23dadfa8334cdf",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3eaf040f20154d27d6da59ca2c6e28ac8fd56dce",
+ "reference": "3eaf040f20154d27d6da59ca2c6e28ac8fd56dce",
"shasum": ""
},
"require": {
@@ -4933,7 +4992,7 @@
"mock",
"xunit"
],
- "time": "2018-01-06T05:45:45+00:00"
+ "time": "2018-05-29T13:50:43+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@@ -5553,7 +5612,7 @@
},
{
"name": "symfony/class-loader",
- "version": "v3.4.4",
+ "version": "v3.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/class-loader.git",
diff --git a/config/administrator.php b/config/administrator.php
index 4855d2c..cbc4845 100644
--- a/config/administrator.php
+++ b/config/administrator.php
@@ -117,7 +117,7 @@ return array(
*
* @type string
*/
- 'login_path' => 'login',
+ 'login_path' => 'permission-denied',
/**
* The logout path is the path where Administrator will send the user when they click the logout link
@@ -148,4 +148,6 @@ return array(
'locales' => [],
'custom_routes_file' => app_path('Http/routes/administrator.php'),
+
+
);
diff --git a/config/administrator/permissions.php b/config/administrator/permissions.php
new file mode 100644
index 0000000..3df2e55
--- /dev/null
+++ b/config/administrator/permissions.php
@@ -0,0 +1,72 @@
+ '权限',
+ 'single' => '权限',
+ 'model' => Permission::class,
+
+ 'permission' => function () {
+ return Auth::user()->can('manage_users');
+ },
+
+ // 对 CRUD 动作的单独权限控制,通过返回布尔值来控制权限。
+ 'action_permissions' => [
+ // 控制『新建按钮』的显示
+ 'create' => function ($model) {
+ return true;
+ },
+ // 允许更新
+ 'update' => function ($model) {
+ return true;
+ },
+ // 不允许删除
+ 'delete' => function ($model) {
+ return false;
+ },
+ // 允许查看
+ 'view' => function ($model) {
+ return true;
+ },
+ ],
+
+ 'columns' => [
+ 'id' => [
+ 'title' => 'ID',
+ ],
+ 'name' => [
+ 'title' => '标示',
+ ],
+ 'operation' => [
+ 'title' => '管理',
+ 'sortable' => false,
+ ],
+ ],
+
+ 'edit_fields' => [
+ 'name' => [
+ 'title' => '标示(请慎重修改)',
+
+ // 表单条目标题旁的『提示信息』
+ 'hint' => '修改权限标识会影响代码的调用,请不要轻易更改。'
+ ],
+ 'roles' => [
+ 'type' => 'relationship',
+ 'title' => '角色',
+ 'name_field' => 'name',
+ ],
+ ],
+
+ 'filters' => [
+ 'name' => [
+ 'title' => '标示',
+ ],
+ ],
+];
\ No newline at end of file
diff --git a/config/administrator/roles.php b/config/administrator/roles.php
new file mode 100644
index 0000000..125217b
--- /dev/null
+++ b/config/administrator/roles.php
@@ -0,0 +1,79 @@
+ '角色',
+ 'single' => '角色',
+ 'model' => Role::class,
+
+ 'permission' => function () {
+ return Auth::user()->can('manage_users');
+ },
+
+ 'columns' => [
+ 'id' => [
+ 'title' => 'ID',
+ ],
+ 'name' => [
+ 'title' => '标识'
+ ],
+ 'permissions' => [
+ 'title' => '权限',
+ 'output' => function ($value, $model) {
+ $model->load('permissions');
+ $result = [];
+ foreach ($model->permissions as $permission) {
+ $result[] = $permission->name;
+ }
+
+ return empty($result) ? 'N/A' : implode($result, ' | ');
+ },
+ 'sortable' => false,
+ ],
+ 'operation' => [
+ 'title' => '管理',
+ 'output' => function ($value, $model) {
+ return $value;
+ },
+ 'sortable' => false,
+ ],
+ ],
+
+ 'edit_fields' => [
+ 'name' => [
+ 'title' => '标识',
+ ],
+ 'permissions' => [
+ 'type' => 'relationship',
+ 'title' => '权限',
+ 'name_field' => 'name',
+ ],
+ ],
+
+ 'filters' => [
+ 'id' => [
+ 'title' => 'ID',
+ ],
+ 'name' => [
+ 'title' => '标识',
+ ]
+ ],
+
+ // 新建和编辑时的表单验证规则
+ 'rules' => [
+ 'name' => 'required|max:15|unique:roles,name',
+ ],
+
+ // 表单验证错误时定制错误消息
+ 'messages' => [
+ 'name.required' => '标识不能为空',
+ 'name.unique' => '标识已存在',
+ ]
+];
\ No newline at end of file
diff --git a/public/js/app.js b/public/js/app.js
index 11ca34b..db0d9e9 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -4011,9 +4011,9 @@
current = iteratee(value);
if (current != null && (computed === undefined
- ? (current === current && !isSymbol(current))
- : comparator(current, computed)
- )) {
+ ? (current === current && !isSymbol(current))
+ : comparator(current, computed)
+ )) {
var computed = current,
result = value;
}
@@ -4308,15 +4308,15 @@
value = (comparator || value !== 0) ? value : 0;
if (!(seen
- ? cacheHas(seen, computed)
- : includes(result, computed, comparator)
- )) {
+ ? cacheHas(seen, computed)
+ : includes(result, computed, comparator)
+ )) {
othIndex = othLength;
while (--othIndex) {
var cache = caches[othIndex];
if (!(cache
- ? cacheHas(cache, computed)
- : includes(arrays[othIndex], computed, comparator))
+ ? cacheHas(cache, computed)
+ : includes(arrays[othIndex], computed, comparator))
) {
continue outer;
}
@@ -4514,8 +4514,8 @@
while (index--) {
var data = matchData[index];
if ((noCustomizer && data[2])
- ? data[1] !== object[data[0]]
- : !(data[0] in object)
+ ? data[1] !== object[data[0]]
+ : !(data[0] in object)
) {
return false;
}
@@ -4536,9 +4536,9 @@
var result = customizer(objValue, srcValue, key, object, source, stack);
}
if (!(result === undefined
- ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
- : result
- )) {
+ ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
+ : result
+ )) {
return false;
}
}
@@ -6841,18 +6841,18 @@
// Recursively compare arrays (susceptible to call stack limits).
if (seen) {
if (!arraySome(other, function (othValue, othIndex) {
- if (!cacheHas(seen, othIndex) &&
- (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
- return seen.push(othIndex);
- }
- })) {
+ if (!cacheHas(seen, othIndex) &&
+ (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
+ return seen.push(othIndex);
+ }
+ })) {
result = false;
break;
}
} else if (!(
- arrValue === othValue ||
- equalFunc(arrValue, othValue, bitmask, customizer, stack)
- )) {
+ arrValue === othValue ||
+ equalFunc(arrValue, othValue, bitmask, customizer, stack)
+ )) {
result = false;
break;
}
@@ -6996,9 +6996,9 @@
}
// Recursively compare objects (susceptible to call stack limits).
if (!(compared === undefined
- ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
- : compared
- )) {
+ ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
+ : compared
+ )) {
result = false;
break;
}
@@ -7492,8 +7492,8 @@
}
var type = typeof index;
if (type == 'number'
- ? (isArrayLike(object) && isIndex(index, object.length))
- : (type == 'string' && index in object)
+ ? (isArrayLike(object) && isIndex(index, object.length))
+ : (type == 'string' && index in object)
) {
return eq(object[index], value);
}
@@ -15757,9 +15757,9 @@
}
string = toString(string);
if (string && (
- typeof separator == 'string' ||
- (separator != null && !isRegExp(separator))
- )) {
+ typeof separator == 'string' ||
+ (separator != null && !isRegExp(separator))
+ )) {
separator = baseToString(separator);
if (!separator && hasUnicode(string)) {
return castSlice(stringToArray(string), 0, limit);
@@ -18545,7 +18545,7 @@
// Recurse if we're merging plain objects or arrays
if (deep && copy && (jQuery.isPlainObject(copy) ||
- (copyIsArray = Array.isArray(copy)))) {
+ (copyIsArray = Array.isArray(copy)))) {
if (copyIsArray) {
copyIsArray = false;
@@ -19672,10 +19672,10 @@
}
if ((support.matchesSelector = rnative.test((matches = docElem.matches ||
- docElem.webkitMatchesSelector ||
- docElem.mozMatchesSelector ||
- docElem.oMatchesSelector ||
- docElem.msMatchesSelector)))) {
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector)))) {
assert(function (el) {
// Check to see if it's possible to do matchesSelector
@@ -20133,8 +20133,8 @@
node = elem;
while ((node = node[dir])) {
if (ofType ?
- node.nodeName.toLowerCase() === name :
- node.nodeType === 1) {
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1) {
return false;
}
@@ -20203,8 +20203,8 @@
(diff = nodeIndex = 0) || start.pop())) {
if ((ofType ?
- node.nodeName.toLowerCase() === name :
- node.nodeType === 1) &&
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1) &&
++diff) {
// Cache the index of each encountered element
@@ -20334,8 +20334,8 @@
var elemLang;
do {
if ((elemLang = documentIsHTML ?
- elem.lang :
- elem.getAttribute("xml:lang") || elem.getAttribute("lang"))) {
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang"))) {
elemLang = elemLang.toLowerCase();
return elemLang === lang || elemLang.indexOf(lang + "-") === 0;
@@ -20526,7 +20526,7 @@
// Filters
for (type in Expr.filter) {
if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] ||
- (match = preFilters[type](match)))) {
+ (match = preFilters[type](match)))) {
matched = match.shift();
tokens.push({
value: matched,
@@ -21012,9 +21012,9 @@
if ((find = Expr.find[type])) {
// Search, expanding context for leading sibling combinators
if ((seed = find(
- token.matches[0].replace(runescape, funescape),
- rsibling.test(tokens[0].type) && testContext(context.parentNode) || context
- ))) {
+ token.matches[0].replace(runescape, funescape),
+ rsibling.test(tokens[0].type) && testContext(context.parentNode) || context
+ ))) {
// If seed is empty or no tokens remain, we can return early
tokens.splice(i, 1);
@@ -21065,9 +21065,9 @@
// Prevent attribute/property "interpolation"
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if (!assert(function (el) {
- el.innerHTML = "";
- return el.firstChild.getAttribute("href") === "#";
- })) {
+ el.innerHTML = "";
+ return el.firstChild.getAttribute("href") === "#";
+ })) {
addHandle("type|href|height|width", function (elem, name, isXML) {
if (!isXML) {
return elem.getAttribute(name, name.toLowerCase() === "type" ? 1 : 2);
@@ -21078,10 +21078,10 @@
// Support: IE<9
// Use defaultValue in place of getAttribute("value")
if (!support.attributes || !assert(function (el) {
- el.innerHTML = "";
- el.firstChild.setAttribute("value", "");
- return el.firstChild.getAttribute("value") === "";
- })) {
+ el.innerHTML = "";
+ el.firstChild.setAttribute("value", "");
+ return el.firstChild.getAttribute("value") === "";
+ })) {
addHandle("value", function (elem, name, isXML) {
if (!isXML && elem.nodeName.toLowerCase() === "input") {
return elem.defaultValue;
@@ -21092,8 +21092,8 @@
// Support: IE<9
// Use getAttributeNode to fetch booleans when getAttribute lies
if (!assert(function (el) {
- return el.getAttribute("disabled") == null;
- })) {
+ return el.getAttribute("disabled") == null;
+ })) {
addHandle(booleans, function (elem, name, isXML) {
var val;
if (!isXML) {
@@ -21416,11 +21416,11 @@
// Always skip document fragments
if (cur.nodeType < 11 && (targets ?
- targets.index(cur) > -1 :
+ targets.index(cur) > -1 :
- // Don't pass non-elements to Sizzle
- cur.nodeType === 1 &&
- jQuery.find.matchesSelector(cur, selectors))) {
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector(cur, selectors))) {
matched.push(cur);
break;
@@ -26372,7 +26372,7 @@
/* eslint-disable no-cond-assign */
if (option.selected =
- jQuery.inArray(jQuery.valHooks.option.get(option), values) > -1
+ jQuery.inArray(jQuery.valHooks.option.get(option), values) > -1
) {
optionSet = true;
}
@@ -26522,7 +26522,7 @@
if (!onlyHandlers && !event.isDefaultPrevented()) {
if ((!special._default ||
- special._default.apply(eventPath.pop(), data) === false) &&
+ special._default.apply(eventPath.pop(), data) === false) &&
acceptData(elem)) {
// Call a native DOM method on the target with the same name as the event.
@@ -31980,8 +31980,10 @@
* Make a map and return a function for checking if a key
* is in that map.
*/
- function makeMap(str,
- expectsLowerCase) {
+ function makeMap(
+ str,
+ expectsLowerCase
+ ) {
var map = Object.create(null);
var list = str.split(',');
for (var i = 0; i < list.length; i++) {
@@ -32614,14 +32616,16 @@
/* */
- var VNode = function VNode(tag,
- data,
- children,
- text,
- elm,
- context,
- componentOptions,
- asyncFactory) {
+ var VNode = function VNode(
+ tag,
+ data,
+ children,
+ text,
+ elm,
+ context,
+ componentOptions,
+ asyncFactory
+ ) {
this.tag = tag;
this.data = data;
this.children = children;
@@ -32869,11 +32873,13 @@
/**
* Define a reactive property on an Object.
*/
- function defineReactive(obj,
- key,
- val,
- customSetter,
- shallow) {
+ function defineReactive(
+ obj,
+ key,
+ val,
+ customSetter,
+ shallow
+ ) {
var dep = new Dep();
var property = Object.getOwnPropertyDescriptor(obj, key);
@@ -33044,9 +33050,11 @@
/**
* Data
*/
- function mergeDataOrFn(parentVal,
- childVal,
- vm) {
+ function mergeDataOrFn(
+ parentVal,
+ childVal,
+ vm
+ ) {
if (!vm) {
// in a Vue.extend merge, both should be functions
if (!childVal) {
@@ -33084,9 +33092,11 @@
}
}
- strats.data = function (parentVal,
- childVal,
- vm) {
+ strats.data = function (
+ parentVal,
+ childVal,
+ vm
+ ) {
if (!vm) {
if (childVal && typeof childVal !== 'function') {
"development" !== 'production' && warn(
@@ -33107,8 +33117,10 @@
/**
* Hooks and props are merged as arrays.
*/
- function mergeHook(parentVal,
- childVal) {
+ function mergeHook(
+ parentVal,
+ childVal
+ ) {
return childVal
? parentVal
? parentVal.concat(childVal)
@@ -33129,10 +33141,12 @@
* a three-way merge between constructor options, instance
* options and parent options.
*/
- function mergeAssets(parentVal,
- childVal,
- vm,
- key) {
+ function mergeAssets(
+ parentVal,
+ childVal,
+ vm,
+ key
+ ) {
var res = Object.create(parentVal || null);
if (childVal) {
"development" !== 'production' && assertObjectType(key, childVal, vm);
@@ -33152,10 +33166,12 @@
* Watchers hashes should not overwrite one
* another, so we merge them as arrays.
*/
- strats.watch = function (parentVal,
- childVal,
- vm,
- key) {
+ strats.watch = function (
+ parentVal,
+ childVal,
+ vm,
+ key
+ ) {
// work around Firefox's Object.prototype.watch...
if (parentVal === nativeWatch) {
parentVal = undefined;
@@ -33194,10 +33210,12 @@
strats.props =
strats.methods =
strats.inject =
- strats.computed = function (parentVal,
- childVal,
- vm,
- key) {
+ strats.computed = function (
+ parentVal,
+ childVal,
+ vm,
+ key
+ ) {
if (childVal && "development" !== 'production') {
assertObjectType(key, childVal, vm);
}
@@ -33345,9 +33363,11 @@
* Merge two option objects into a new one.
* Core utility used in both instantiation and inheritance.
*/
- function mergeOptions(parent,
- child,
- vm) {
+ function mergeOptions(
+ parent,
+ child,
+ vm
+ ) {
if (true) {
checkComponents(child);
}
@@ -33392,10 +33412,12 @@
* This function is used because child instances need access
* to assets defined in its ancestor chain.
*/
- function resolveAsset(options,
- type,
- id,
- warnMissing) {
+ function resolveAsset(
+ options,
+ type,
+ id,
+ warnMissing
+ ) {
/* istanbul ignore if */
if (typeof id !== 'string') {
return
@@ -33426,10 +33448,12 @@
/* */
- function validateProp(key,
- propOptions,
- propsData,
- vm) {
+ function validateProp(
+ key,
+ propOptions,
+ propsData,
+ vm
+ ) {
var prop = propOptions[key];
var absent = !hasOwn(propsData, key);
var value = propsData[key];
@@ -33495,11 +33519,13 @@
/**
* Assert whether a prop is valid.
*/
- function assertProp(prop,
- name,
- value,
- vm,
- absent) {
+ function assertProp(
+ prop,
+ name,
+ value,
+ vm,
+ absent
+ ) {
if (prop.required && absent) {
warn(
'Missing required prop: "' + name + '"',
@@ -33675,10 +33701,10 @@
setImmediate(flushCallbacks);
};
} else if (typeof MessageChannel !== 'undefined' && (
- isNative(MessageChannel) ||
- // PhantomJS
- MessageChannel.toString() === '[object MessageChannelConstructor]'
- )) {
+ isNative(MessageChannel) ||
+ // PhantomJS
+ MessageChannel.toString() === '[object MessageChannelConstructor]'
+ )) {
var channel = new MessageChannel();
var port = channel.port2;
channel.port1.onmessage = flushCallbacks;
@@ -33935,11 +33961,13 @@
return invoker
}
- function updateListeners(on,
- oldOn,
- add,
- remove$$1,
- vm) {
+ function updateListeners(
+ on,
+ oldOn,
+ add,
+ remove$$1,
+ vm
+ ) {
var name, def, cur, old, event;
for (name in on) {
def = cur = on[name];
@@ -34006,9 +34034,11 @@
/* */
- function extractPropsFromVNodeData(data,
- Ctor,
- tag) {
+ function extractPropsFromVNodeData(
+ data,
+ Ctor,
+ tag
+ ) {
// we are only extracting raw values here.
// validation and default values are handled in the child
// component itself.
@@ -34045,11 +34075,13 @@
return res
}
- function checkProp(res,
- hash,
- key,
- altKey,
- preserve) {
+ function checkProp(
+ res,
+ hash,
+ key,
+ altKey,
+ preserve
+ ) {
if (isDef(hash)) {
if (hasOwn(hash, key)) {
res[key] = hash[key];
@@ -34171,20 +34203,24 @@
: comp
}
- function createAsyncPlaceholder(factory,
- data,
- context,
- children,
- tag) {
+ function createAsyncPlaceholder(
+ factory,
+ data,
+ context,
+ children,
+ tag
+ ) {
var node = createEmptyVNode();
node.asyncFactory = factory;
node.asyncMeta = {data: data, context: context, children: children, tag: tag};
return node
}
- function resolveAsyncComponent(factory,
- baseCtor,
- context) {
+ function resolveAsyncComponent(
+ factory,
+ baseCtor,
+ context
+ ) {
if (isTrue(factory.error) && isDef(factory.errorComp)) {
return factory.errorComp
}
@@ -34329,9 +34365,11 @@
target.$off(event, fn);
}
- function updateComponentListeners(vm,
- listeners,
- oldListeners) {
+ function updateComponentListeners(
+ vm,
+ listeners,
+ oldListeners
+ ) {
target = vm;
updateListeners(listeners, oldListeners || {}, add, remove$1, vm);
target = undefined;
@@ -34447,8 +34485,10 @@
/**
* Runtime helper for resolving raw children VNodes into a slot object.
*/
- function resolveSlots(children,
- context) {
+ function resolveSlots(
+ children,
+ context
+ ) {
var slots = {};
if (!children) {
return slots
@@ -34489,8 +34529,10 @@
return (node.isComment && !node.asyncFactory) || node.text === ' '
}
- function resolveScopedSlots(fns, // see flow/vnode
- res) {
+ function resolveScopedSlots(
+ fns, // see flow/vnode
+ res
+ ) {
res = res || {};
for (var i = 0; i < fns.length; i++) {
if (Array.isArray(fns[i])) {
@@ -34627,9 +34669,11 @@
};
}
- function mountComponent(vm,
- el,
- hydrating) {
+ function mountComponent(
+ vm,
+ el,
+ hydrating
+ ) {
vm.$el = el;
if (!vm.$options.render) {
vm.$options.render = createEmptyVNode;
@@ -34693,11 +34737,13 @@
return vm
}
- function updateChildComponent(vm,
- propsData,
- listeners,
- parentVnode,
- renderChildren) {
+ function updateChildComponent(
+ vm,
+ propsData,
+ listeners,
+ parentVnode,
+ renderChildren
+ ) {
if (true) {
isUpdatingChildComponent = true;
}
@@ -34966,11 +35012,13 @@
* and fires callback when the expression value changes.
* This is used for both the $watch() api and directives.
*/
- var Watcher = function Watcher(vm,
- expOrFn,
- cb,
- options,
- isRenderWatcher) {
+ var Watcher = function Watcher(
+ vm,
+ expOrFn,
+ cb,
+ options,
+ isRenderWatcher
+ ) {
this.vm = vm;
if (isRenderWatcher) {
vm._watcher = this;
@@ -35352,9 +35400,11 @@
}
}
- function defineComputed(target,
- key,
- userDef) {
+ function defineComputed(
+ target,
+ key,
+ userDef
+ ) {
var shouldCache = !isServerRendering();
if (typeof userDef === 'function') {
sharedPropertyDefinition.get = shouldCache
@@ -35439,10 +35489,12 @@
}
}
- function createWatcher(vm,
- keyOrFn,
- handler,
- options) {
+ function createWatcher(
+ vm,
+ keyOrFn,
+ handler,
+ options
+ ) {
if (isPlainObject(handler)) {
options = handler;
handler = handler.handler;
@@ -35483,9 +35535,11 @@
Vue.prototype.$set = set;
Vue.prototype.$delete = del;
- Vue.prototype.$watch = function (expOrFn,
- cb,
- options) {
+ Vue.prototype.$watch = function (
+ expOrFn,
+ cb,
+ options
+ ) {
var vm = this;
if (isPlainObject(cb)) {
return createWatcher(vm, expOrFn, cb, options)
@@ -35578,8 +35632,10 @@
/**
* Runtime helper for rendering v-for lists.
*/
- function renderList(val,
- render) {
+ function renderList(
+ val,
+ render
+ ) {
var ret, i, l, keys, key;
if (Array.isArray(val) || typeof val === 'string') {
ret = new Array(val.length);
@@ -35610,10 +35666,12 @@
/**
* Runtime helper for rendering
*/
- function renderSlot(name,
- fallback,
- props,
- bindObject) {
+ function renderSlot(
+ name,
+ fallback,
+ props,
+ bindObject
+ ) {
var scopedSlotFn = this.$scopedSlots[name];
var nodes;
if (scopedSlotFn) { // scoped slot
@@ -35668,10 +35726,12 @@
* exposed as Vue.prototype._k
* passing in eventKeyName as last argument separately for backwards compat
*/
- function checkKeyCodes(eventKeyCode,
- key,
- builtInAlias,
- eventKeyName) {
+ function checkKeyCodes(
+ eventKeyCode,
+ key,
+ builtInAlias,
+ eventKeyName
+ ) {
var keyCodes = config.keyCodes[key] || builtInAlias;
if (keyCodes) {
if (Array.isArray(keyCodes)) {
@@ -35689,11 +35749,13 @@
/**
* Runtime helper for merging v-bind="object" into a VNode's data.
*/
- function bindObjectProps(data,
- tag,
- value,
- asProp,
- isSync) {
+ function bindObjectProps(
+ data,
+ tag,
+ value,
+ asProp,
+ isSync
+ ) {
if (value) {
if (!isObject(value)) {
"development" !== 'production' && warn(
@@ -35741,8 +35803,10 @@
/**
* Runtime helper for rendering static trees.
*/
- function renderStatic(index,
- isInFor) {
+ function renderStatic(
+ index,
+ isInFor
+ ) {
var cached = this._staticTrees || (this._staticTrees = []);
var tree = cached[index];
// if has already-rendered static tree and not inside v-for,
@@ -35766,16 +35830,20 @@
* Runtime helper for v-once.
* Effectively it means marking the node as static with a unique key.
*/
- function markOnce(tree,
- index,
- key) {
+ function markOnce(
+ tree,
+ index,
+ key
+ ) {
markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true);
return tree
}
- function markStatic(tree,
- key,
- isOnce) {
+ function markStatic(
+ tree,
+ key,
+ isOnce
+ ) {
if (Array.isArray(tree)) {
for (var i = 0; i < tree.length; i++) {
if (tree[i] && typeof tree[i] !== 'string') {
@@ -35836,11 +35904,13 @@
/* */
- function FunctionalRenderContext(data,
- props,
- children,
- parent,
- Ctor) {
+ function FunctionalRenderContext(
+ data,
+ props,
+ children,
+ parent,
+ Ctor
+ ) {
var options = Ctor.options;
this.data = data;
this.props = props;
@@ -35885,11 +35955,13 @@
installRenderHelpers(FunctionalRenderContext.prototype);
- function createFunctionalComponent(Ctor,
- propsData,
- data,
- contextVm,
- children) {
+ function createFunctionalComponent(
+ Ctor,
+ propsData,
+ data,
+ contextVm,
+ children
+ ) {
var options = Ctor.options;
var props = {};
var propOptions = options.props;
@@ -35956,10 +36028,12 @@
// hooks to be invoked on component VNodes during patch
var componentVNodeHooks = {
- init: function init(vnode,
- hydrating,
- parentElm,
- refElm) {
+ init: function init(
+ vnode,
+ hydrating,
+ parentElm,
+ refElm
+ ) {
if (!vnode.componentInstance || vnode.componentInstance._isDestroyed) {
var child = vnode.componentInstance = createComponentInstanceForVnode(
vnode,
@@ -36022,11 +36096,13 @@
var hooksToMerge = Object.keys(componentVNodeHooks);
- function createComponent(Ctor,
- data,
- context,
- children,
- tag) {
+ function createComponent(
+ Ctor,
+ data,
+ context,
+ children,
+ tag
+ ) {
if (isUndef(Ctor)) {
return
}
@@ -36123,10 +36199,12 @@
return vnode
}
- function createComponentInstanceForVnode(vnode, // we know it's MountedComponentVNode but flow doesn't
- parent, // activeInstance in lifecycle state
- parentElm,
- refElm) {
+ function createComponentInstanceForVnode(
+ vnode, // we know it's MountedComponentVNode but flow doesn't
+ parent, // activeInstance in lifecycle state
+ parentElm,
+ refElm
+ ) {
var options = {
_isComponent: true,
parent: parent,
@@ -36183,12 +36261,14 @@
// wrapper function for providing a more flexible interface
// without getting yelled at by flow
- function createElement(context,
- tag,
- data,
- children,
- normalizationType,
- alwaysNormalize) {
+ function createElement(
+ context,
+ tag,
+ data,
+ children,
+ normalizationType,
+ alwaysNormalize
+ ) {
if (Array.isArray(data) || isPrimitive(data)) {
normalizationType = children;
children = data;
@@ -36200,11 +36280,13 @@
return _createElement(context, tag, data, children, normalizationType)
}
- function _createElement(context,
- tag,
- data,
- children,
- normalizationType) {
+ function _createElement(
+ context,
+ tag,
+ data,
+ children,
+ normalizationType
+ ) {
if (isDef(data) && isDef((data).__ob__)) {
"development" !== 'production' && warn(
"Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" +
@@ -36701,8 +36783,10 @@
* Create asset registration methods.
*/
ASSET_TYPES.forEach(function (type) {
- Vue[type] = function (id,
- definition) {
+ Vue[type] = function (
+ id,
+ definition
+ ) {
if (!definition) {
return this.options[type + 's'][id]
} else {
@@ -36757,10 +36841,12 @@
}
}
- function pruneCacheEntry(cache,
- key,
- keys,
- current) {
+ function pruneCacheEntry(
+ cache,
+ key,
+ keys,
+ current
+ ) {
var cached$$1 = cache[key];
if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {
cached$$1.componentInstance.$destroy();
@@ -36819,9 +36905,9 @@
var exclude = ref.exclude;
if (
// not included
- (include && (!name || !matches(include, name))) ||
- // excluded
- (exclude && name && matches(exclude, name))
+ (include && (!name || !matches(include, name))) ||
+ // excluded
+ (exclude && name && matches(exclude, name))
) {
return vnode
}
@@ -36992,8 +37078,10 @@
}
}
- function renderClass(staticClass,
- dynamicClass) {
+ function renderClass(
+ staticClass,
+ dynamicClass
+ ) {
if (isDef(staticClass) || isDef(dynamicClass)) {
return concat(staticClass, stringifyClass(dynamicClass))
}
@@ -38110,8 +38198,10 @@
var emptyModifiers = Object.create(null);
- function normalizeDirectives$1(dirs,
- vm) {
+ function normalizeDirectives$1(
+ dirs,
+ vm
+ ) {
var res = Object.create(null);
if (!dirs) {
// $flow-disable-line
@@ -38418,8 +38508,10 @@
console.error(("[Vue compiler]: " + msg));
}
- function pluckModuleFunction(modules,
- key) {
+ function pluckModuleFunction(
+ modules,
+ key
+ ) {
return modules
? modules.map(function (m) {
return m[key];
@@ -38445,12 +38537,14 @@
el.attrsList.push({name: name, value: value});
}
- function addDirective(el,
- name,
- rawName,
- value,
- arg,
- modifiers) {
+ function addDirective(
+ el,
+ name,
+ rawName,
+ value,
+ arg,
+ modifiers
+ ) {
(el.directives || (el.directives = [])).push({
name: name,
rawName: rawName,
@@ -38461,12 +38555,14 @@
el.plain = false;
}
- function addHandler(el,
- name,
- value,
- modifiers,
- important,
- warn) {
+ function addHandler(
+ el,
+ name,
+ value,
+ modifiers,
+ important,
+ warn
+ ) {
modifiers = modifiers || emptyObject;
// warn prevent and passive modifier
/* istanbul ignore if */
@@ -38533,9 +38629,11 @@
el.plain = false;
}
- function getBindingAttr(el,
- name,
- getStatic) {
+ function getBindingAttr(
+ el,
+ name,
+ getStatic
+ ) {
var dynamicValue =
getAndRemoveAttr(el, ':' + name) ||
getAndRemoveAttr(el, 'v-bind:' + name);
@@ -38553,9 +38651,11 @@
// doesn't get processed by processAttrs.
// By default it does NOT remove it from the map (attrsMap) because the map is
// needed during codegen.
- function getAndRemoveAttr(el,
- name,
- removeFromMap) {
+ function getAndRemoveAttr(
+ el,
+ name,
+ removeFromMap
+ ) {
var val;
if ((val = el.attrsMap[name]) != null) {
var list = el.attrsList;
@@ -38577,9 +38677,11 @@
/**
* Cross-platform code generation for component v-model
*/
- function genComponentModel(el,
- value,
- modifiers) {
+ function genComponentModel(
+ el,
+ value,
+ modifiers
+ ) {
var ref = modifiers || {};
var number = ref.number;
var trim = ref.trim;
@@ -38607,8 +38709,10 @@
/**
* Cross-platform codegen helper for generating v-model value assignment code.
*/
- function genAssignmentCode(value,
- assignment) {
+ function genAssignmentCode(
+ value,
+ assignment
+ ) {
var res = parseModel(value);
if (res.key === null) {
return (value + "=" + assignment)
@@ -38730,9 +38834,11 @@
var RANGE_TOKEN = '__r';
var CHECKBOX_RADIO_TOKEN = '__c';
- function model(el,
- dir,
- _warn) {
+ function model(
+ el,
+ dir,
+ _warn
+ ) {
warn$1 = _warn;
var value = dir.value;
var modifiers = dir.modifiers;
@@ -38779,9 +38885,11 @@
return true
}
- function genCheckboxModel(el,
- value,
- modifiers) {
+ function genCheckboxModel(
+ el,
+ value,
+ modifiers
+ ) {
var number = modifiers && modifiers.number;
var valueBinding = getBindingAttr(el, 'value') || 'null';
var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';
@@ -38808,9 +38916,11 @@
);
}
- function genRadioModel(el,
- value,
- modifiers) {
+ function genRadioModel(
+ el,
+ value,
+ modifiers
+ ) {
var number = modifiers && modifiers.number;
var valueBinding = getBindingAttr(el, 'value') || 'null';
valueBinding = number ? ("_n(" + valueBinding + ")") : valueBinding;
@@ -38818,9 +38928,11 @@
addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);
}
- function genSelect(el,
- value,
- modifiers) {
+ function genSelect(
+ el,
+ value,
+ modifiers
+ ) {
var number = modifiers && modifiers.number;
var selectedVal = "Array.prototype.filter" +
".call($event.target.options,function(o){return o.selected})" +
@@ -38833,9 +38945,11 @@
addHandler(el, 'change', code, null, true);
}
- function genDefaultModel(el,
- value,
- modifiers) {
+ function genDefaultModel(
+ el,
+ value,
+ modifiers
+ ) {
var type = el.attrsMap.type;
// warn if v-bind:value conflicts with v-model
@@ -38916,11 +39030,13 @@
}
}
- function add$1(event,
- handler,
- once$$1,
- capture,
- passive) {
+ function add$1(
+ event,
+ handler,
+ once$$1,
+ capture,
+ passive
+ ) {
handler = withMacroTask(handler);
if (once$$1) {
handler = createOnceHandler(handler, event, capture);
@@ -38934,10 +39050,12 @@
);
}
- function remove$2(event,
- handler,
- capture,
- _target) {
+ function remove$2(
+ event,
+ handler,
+ capture,
+ _target
+ ) {
(_target || target$1).removeEventListener(
event,
handler._withTask || handler,
@@ -39375,9 +39493,11 @@
removeClass(el, cls);
}
- function whenTransitionEnds(el,
- expectedType,
- cb) {
+ function whenTransitionEnds(
+ el,
+ expectedType,
+ cb
+ ) {
var ref = getTransitionInfo(el, expectedType);
var type = ref.type;
var timeout = ref.timeout;
@@ -39863,8 +39983,8 @@
var prevOptions = el._vOptions;
var curOptions = el._vOptions = [].map.call(el.options, getValue);
if (curOptions.some(function (o, i) {
- return !looseEqual(o, prevOptions[i]);
- })) {
+ return !looseEqual(o, prevOptions[i]);
+ })) {
// trigger change event if
// no matching option found for at least one value
var needReset = el.multiple
@@ -40007,11 +40127,13 @@
}
},
- unbind: function unbind(el,
- binding,
- vnode,
- oldVnode,
- isDestroy) {
+ unbind: function unbind(
+ el,
+ binding,
+ vnode,
+ oldVnode,
+ isDestroy
+ ) {
if (!isDestroy) {
el.style.display = el.__vOriginalDisplay;
}
@@ -40175,8 +40297,8 @@
// mark v-show
// so that the transition module can hand over the control to the directive
if (child.data.directives && child.data.directives.some(function (d) {
- return d.name === 'show';
- })) {
+ return d.name === 'show';
+ })) {
child.data.show = true;
}
@@ -40413,8 +40535,10 @@
Vue$3.prototype.__patch__ = inBrowser ? patch : noop;
// public mount method
- Vue$3.prototype.$mount = function (el,
- hydrating) {
+ Vue$3.prototype.$mount = function (
+ el,
+ hydrating
+ ) {
el = el && inBrowser ? query(el) : undefined;
return mountComponent(this, el, hydrating)
};
@@ -40456,8 +40580,10 @@
});
- function parseText(text,
- delimiters) {
+ function parseText(
+ text,
+ delimiters
+ ) {
var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;
if (!tagRE.test(text)) {
return
@@ -40958,9 +41084,11 @@
var platformGetTagNamespace;
- function createASTElement(tag,
- attrs,
- parent) {
+ function createASTElement(
+ tag,
+ attrs,
+ parent
+ ) {
return {
type: 1,
tag: tag,
@@ -40974,8 +41102,10 @@
/**
* Convert HTML string to AST.
*/
- function parse(template,
- options) {
+ function parse(
+ template,
+ options
+ ) {
warn$2 = options.warn || baseWarn;
platformIsPreTag = options.isPreTag || no;
@@ -41454,8 +41584,8 @@
}
}
if (isProp || (
- !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)
- )) {
+ !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)
+ )) {
addProp(el, name, value);
} else {
addAttr(el, name, value);
@@ -41776,9 +41906,9 @@
// are not just static text. Otherwise the cost of hoisting out will
// outweigh the benefits and it's better off to just always render it fresh.
if (node.static && node.children.length && !(
- node.children.length === 1 &&
- node.children[0].type === 3
- )) {
+ node.children.length === 1 &&
+ node.children[0].type === 3
+ )) {
node.staticRoot = true;
return
} else {
@@ -41865,9 +41995,11 @@
right: genGuard("'button' in $event && $event.button !== 2")
};
- function genHandlers(events,
- isNative,
- warn) {
+ function genHandlers(
+ events,
+ isNative,
+ warn
+ ) {
var res = isNative ? 'nativeOn:{' : 'on:{';
for (var name in events) {
res += "\"" + name + "\":" + (genHandler(name, events[name])) + ",";
@@ -41875,8 +42007,10 @@
return res.slice(0, -1) + '}'
}
- function genHandler(name,
- handler) {
+ function genHandler(
+ name,
+ handler
+ ) {
if (!handler) {
return 'function(){}'
}
@@ -42002,8 +42136,10 @@
};
- function generate(ast,
- options) {
+ function generate(
+ ast,
+ options
+ ) {
var state = new CodegenState(options);
var code = ast ? genElement(ast, state) : '_c("div")';
return {
@@ -42078,18 +42214,22 @@
}
}
- function genIf(el,
- state,
- altGen,
- altEmpty) {
+ function genIf(
+ el,
+ state,
+ altGen,
+ altEmpty
+ ) {
el.ifProcessed = true; // avoid recursion
return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)
}
- function genIfConditions(conditions,
- state,
- altGen,
- altEmpty) {
+ function genIfConditions(
+ conditions,
+ state,
+ altGen,
+ altEmpty
+ ) {
if (!conditions.length) {
return altEmpty || '_e()'
}
@@ -42111,10 +42251,12 @@
}
}
- function genFor(el,
- state,
- altGen,
- altHelper) {
+ function genFor(
+ el,
+ state,
+ altGen,
+ altHelper
+ ) {
var exp = el.for;
var alias = el.alias;
var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
@@ -42251,8 +42393,8 @@
function genInlineTemplate(el, state) {
var ast = el.children[0];
if ("development" !== 'production' && (
- el.children.length !== 1 || ast.type !== 1
- )) {
+ el.children.length !== 1 || ast.type !== 1
+ )) {
state.warn('Inline-template components must have exactly one child element.');
}
if (ast.type === 1) {
@@ -42263,16 +42405,20 @@
}
}
- function genScopedSlots(slots,
- state) {
+ function genScopedSlots(
+ slots,
+ state
+ ) {
return ("scopedSlots:_u([" + (Object.keys(slots).map(function (key) {
return genScopedSlot(key, slots[key], state)
}).join(',')) + "])")
}
- function genScopedSlot(key,
- el,
- state) {
+ function genScopedSlot(
+ key,
+ el,
+ state
+ ) {
if (el.for && !el.forProcessed) {
return genForScopedSlot(key, el, state)
}
@@ -42285,9 +42431,11 @@
return ("{key:" + key + ",fn:" + fn + "}")
}
- function genForScopedSlot(key,
- el,
- state) {
+ function genForScopedSlot(
+ key,
+ el,
+ state
+ ) {
var exp = el.for;
var alias = el.alias;
var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
@@ -42299,11 +42447,13 @@
'})'
}
- function genChildren(el,
- state,
- checkSkip,
- altGenElement,
- altGenNode) {
+ function genChildren(
+ el,
+ state,
+ checkSkip,
+ altGenElement,
+ altGenNode
+ ) {
var children = el.children;
if (children.length) {
var el$1 = children[0];
@@ -42329,8 +42479,10 @@
// 0: no normalization needed
// 1: simple normalization needed (possible 1-level deep nested array)
// 2: full normalization needed
- function getNormalizationType(children,
- maybeComponent) {
+ function getNormalizationType(
+ children,
+ maybeComponent
+ ) {
var res = 0;
for (var i = 0; i < children.length; i++) {
var el = children[i];
@@ -42400,9 +42552,11 @@
}
// componentName is el.component, take it as argument to shun flow's pessimistic refinement
- function genComponent(componentName,
- el,
- state) {
+ function genComponent(
+ componentName,
+ el,
+ state
+ ) {
var children = el.inlineTemplate ? null : genChildren(el, state, true);
return ("_c(" + componentName + "," + (genData$2(el, state)) + (children ? ("," + children) : '') + ")")
}
@@ -42498,10 +42652,12 @@
checkIdentifier(node.iterator2, 'v-for iterator', text, errors);
}
- function checkIdentifier(ident,
- type,
- text,
- errors) {
+ function checkIdentifier(
+ ident,
+ type,
+ text,
+ errors
+ ) {
if (typeof ident === 'string') {
try {
new Function(("var " + ident + "=_"));
@@ -42545,9 +42701,11 @@
function createCompileToFunctionFn(compile) {
var cache = Object.create(null);
- return function compileToFunctions(template,
- options,
- vm) {
+ return function compileToFunctions(
+ template,
+ options,
+ vm
+ ) {
options = extend({}, options);
var warn$$1 = options.warn || warn;
delete options.warn;
@@ -42634,8 +42792,10 @@
function createCompilerCreator(baseCompile) {
return function createCompiler(baseOptions) {
- function compile(template,
- options) {
+ function compile(
+ template,
+ options
+ ) {
var finalOptions = Object.create(baseOptions);
var errors = [];
var tips = [];
@@ -42685,8 +42845,10 @@
// `createCompilerCreator` allows creating compilers that use alternative
// parser/optimizer/codegen, e.g the SSR optimizing compiler.
// Here we just export a default compiler using the default parts.
- var createCompiler = createCompilerCreator(function baseCompile(template,
- options) {
+ var createCompiler = createCompilerCreator(function baseCompile(
+ template,
+ options
+ ) {
var ast = parse(template.trim(), options);
if (options.optimize !== false) {
optimize(ast, options);
@@ -42728,8 +42890,10 @@
});
var mount = Vue$3.prototype.$mount;
- Vue$3.prototype.$mount = function (el,
- hydrating) {
+ Vue$3.prototype.$mount = function (
+ el,
+ hydrating
+ ) {
el = el && query(el);
/* istanbul ignore if */
@@ -43137,12 +43301,14 @@
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
- module.exports = function normalizeComponent(rawScriptExports,
- compiledTemplate,
- functionalTemplate,
- injectStyles,
- scopeId,
- moduleIdentifier /* server only */) {
+ module.exports = function normalizeComponent(
+ rawScriptExports,
+ compiledTemplate,
+ functionalTemplate,
+ injectStyles,
+ scopeId,
+ moduleIdentifier /* server only */
+ ) {
var esModule
var scriptExports = rawScriptExports = rawScriptExports || {}
diff --git a/resources/views/pages/permission_denied.blade.php b/resources/views/pages/permission_denied.blade.php
new file mode 100644
index 0000000..9db986b
--- /dev/null
+++ b/resources/views/pages/permission_denied.blade.php
@@ -0,0 +1,26 @@
+@extends('layouts.app')
+
+@section('title','无权限访问')
+
+@section('content')
+
+
+
+ @if (Auth::check())
+
+ 当前登录账号无后台访问权限。
+
+ @else
+
+ 请登录以后再操作
+
+
+
+
+ 登 录
+
+ @endif
+
+
+
+@endsection
\ No newline at end of file
diff --git a/routes/web.php b/routes/web.php
index 3120c7b..7bdf1d7 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -39,4 +39,6 @@ Route::post('upload_image', 'TopicsController@uploadImage')->name('topics.upload
Route::resource('replies', 'RepliesController', ['only' => ['store', 'destroy']]);
-Route::resource('notifications', 'NotificationsController', ['only' => ['index']])->middleware('auth');
\ No newline at end of file
+Route::resource('notifications', 'NotificationsController', ['only' => ['index']])->middleware('auth');
+
+Route::get('permission-denied', 'PagesController@permissionDenied')->name('permission-denied');
\ No newline at end of file
diff --git a/storage/administrator_settings/site.json b/storage/administrator_settings/site.json
new file mode 100644
index 0000000..743506a
--- /dev/null
+++ b/storage/administrator_settings/site.json
@@ -0,0 +1,6 @@
+{
+ "site_name": "larabbs - Powered by LaraBBS",
+ "contact_email": "fthvgb1@163.com",
+ "seo_description": "laravel\u642d\u5efa\u7684bbs",
+ "seo_keyword": "laravel,bbs,laravel\u793e\u533a"
+}
\ No newline at end of file