diff --git a/.env.example b/.env.example index 18a473c3..9a8a9202 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,5 @@ APP_DEMO=false -APP_NAME="Laravel 5.8 AdminPanel" +APP_NAME="Laravel 6.0 AdminPanel" APP_ENV=local APP_KEY= APP_DEBUG=true diff --git a/app/Console/Commands/InstallAppCommand.php b/app/Console/Commands/InstallAppCommand.php index be14862c..db0f0f26 100644 --- a/app/Console/Commands/InstallAppCommand.php +++ b/app/Console/Commands/InstallAppCommand.php @@ -8,6 +8,7 @@ use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\File; +use Illuminate\Support\Str; use PDOException; use Symfony\Component\Console\Helper\SymfonyQuestionHelper; use Symfony\Component\Console\Question\Question; @@ -217,7 +218,7 @@ protected function guessDatabaseName() $segments = array_reverse(explode(DIRECTORY_SEPARATOR, app_path())); $name = explode('.', $segments[1])[0]; - return str_replace('-', '_', str_slug($name)); + return str_replace('-', '_', Str::slug($name)); } catch (Exception $e) { return ''; } diff --git a/app/Helpers/activeHelpers.php b/app/Helpers/activeHelpers.php new file mode 100644 index 00000000..b6df362e --- /dev/null +++ b/app/Helpers/activeHelpers.php @@ -0,0 +1,160 @@ +getClassIf($condition, $activeClass, $inactiveClass); + } +} +if (!function_exists('if_uri')) { + /** + * Check if the URI of the current request matches one of the specific URIs. + * + * @param array|string $uris + * + * @return bool + */ + function if_uri($uris) + { + return app('active')->checkUri($uris); + } +} +if (!function_exists('if_uri_pattern')) { + /** + * Check if the current URI matches one of specific patterns (using `str_is`). + * + * @param array|string $patterns + * + * @return bool + */ + function if_uri_pattern($patterns) + { + return app('active')->checkUriPattern($patterns); + } +} +if (!function_exists('if_query')) { + /** + * Check if one of the following condition is true: + * + the value of $value is `false` and the current querystring contain the key $key + * + the value of $value is not `false` and the current value of the $key key in the querystring equals to $value + * + the value of $value is not `false` and the current value of the $key key in the querystring is an array that + * contains the $value. + * + * @param string $key + * @param mixed $value + * + * @return bool + */ + function if_query($key, $value) + { + return app('active')->checkQuery($key, $value); + } +} +if (!function_exists('if_route')) { + /** + * Check if the name of the current route matches one of specific values. + * + * @param array|string $routeNames + * + * @return bool + */ + function if_route($routeNames) + { + return app('active')->checkRoute($routeNames); + } +} +if (!function_exists('if_route_pattern')) { + /** + * Check the current route name with one or some patterns. + * + * @param array|string $patterns + * + * @return bool + */ + function if_route_pattern($patterns) + { + return app('active')->checkRoutePattern($patterns); + } +} +if (!function_exists('if_route_param')) { + /** + * Check if the parameter of the current route has the correct value. + * + * @param $param + * @param $value + * + * @return bool + */ + function if_route_param($param, $value) + { + return app('active')->checkRouteParam($param, $value); + } +} +if (!function_exists('if_action')) { + /** + * Return 'active' class if current route action match one of provided action names. + * + * @param array|string $actions + * + * @return bool + */ + function if_action($actions) + { + return app('active')->checkAction($actions); + } +} +if (!function_exists('if_controller')) { + /** + * Check if the current controller class matches one of specific values. + * + * @param array|string $controllers + * + * @return bool + */ + function if_controller($controllers) + { + return app('active')->checkController($controllers); + } +} +if (!function_exists('current_controller')) { + /** + * Get the current controller class. + * + * @return string + */ + function current_controller() + { + return app('active')->getController(); + } +} +if (!function_exists('current_method')) { + /** + * Get the current controller method. + * + * @return string + */ + function current_method() + { + return app('active')->getMethod(); + } +} +if (!function_exists('current_action')) { + /** + * Get the current action string. + * + * @return string + */ + function current_action() + { + return app('active')->getAction(); + } +} diff --git a/app/Http/Requests/Backend/Notification/MarkNotificationRequest.php b/app/Http/Requests/Backend/Notification/MarkNotificationRequest.php new file mode 100644 index 00000000..1c59fcea --- /dev/null +++ b/app/Http/Requests/Backend/Notification/MarkNotificationRequest.php @@ -0,0 +1,32 @@ +_pushToIos($devicetoken, $msg); return true; + break; case 'android': return $this->_pushToAndroid($devicetoken, $msg); + break; default: diff --git a/app/Models/Access/PasswordReset/PasswordReset.php b/app/Models/Access/PasswordReset/PasswordReset.php index a2c49793..d3ca7699 100755 --- a/app/Models/Access/PasswordReset/PasswordReset.php +++ b/app/Models/Access/PasswordReset/PasswordReset.php @@ -10,7 +10,9 @@ class PasswordReset extends BaseModel { public $timestamps = false; + protected $table = 'password_resets'; + protected $fillable = [ 'email', 'token', diff --git a/app/Models/Access/User/Traits/Attribute/UserAttribute.php b/app/Models/Access/User/Traits/Attribute/UserAttribute.php index 8216082f..22a49b15 100755 --- a/app/Models/Access/User/Traits/Attribute/UserAttribute.php +++ b/app/Models/Access/User/Traits/Attribute/UserAttribute.php @@ -151,6 +151,7 @@ public function getStatusButtonAttribute($class) return ''.$name.''; } + break; case 1: @@ -159,6 +160,7 @@ public function getStatusButtonAttribute($class) return ''.$name.''; } + break; default: @@ -313,6 +315,7 @@ public function getActionButtonsByPermissionName($permissionName, $counter) $button = ($counter <= 3) ? $this->getShowButtonAttribute($class) : '
  • ' .$this->getShowButtonAttribute($class). '
  • '; + break; case 'edit-user': $button = ($counter <= 3) ? $this->getEditButtonAttribute($class) : '
  • ' @@ -321,6 +324,7 @@ public function getActionButtonsByPermissionName($permissionName, $counter) $button .= ($counter <= 3) ? $this->getChangePasswordButtonAttribute($class) : '
  • ' .$this->getChangePasswordButtonAttribute($class). '
  • '; + break; case 'activate-user': if (\Route::currentRouteName() == 'admin.access.user.deactivated.get') { @@ -330,6 +334,7 @@ public function getActionButtonsByPermissionName($permissionName, $counter) } else { $button = ''; } + break; case 'deactivate-user': if (\Route::currentRouteName() == 'admin.access.user.get') { @@ -339,6 +344,7 @@ public function getActionButtonsByPermissionName($permissionName, $counter) } else { $button = ''; } + break; case 'delete-user': if (access()->user()->id != $this->id) { @@ -348,6 +354,7 @@ public function getActionButtonsByPermissionName($permissionName, $counter) } else { $button = ''; } + break; case 'login-as-user': if (access()->user()->id != $this->id) { @@ -357,6 +364,7 @@ public function getActionButtonsByPermissionName($permissionName, $counter) } else { $button = ''; } + break; case 'clear-user-session': if (access()->user()->id != $this->id) { @@ -366,9 +374,11 @@ public function getActionButtonsByPermissionName($permissionName, $counter) } else { $button = ''; } + break; default: $button = ''; + break; } diff --git a/app/Models/Access/User/User.php b/app/Models/Access/User/User.php index 250c000b..74dc4d15 100755 --- a/app/Models/Access/User/User.php +++ b/app/Models/Access/User/User.php @@ -25,6 +25,7 @@ class User extends Authenticatable UserRelationship, UserSendPasswordReset, HasApiTokens; + /** * The database table used by the model. * diff --git a/app/Notifications/Frontend/Auth/UserNeedsPasswordReset.php b/app/Notifications/Frontend/Auth/UserNeedsPasswordReset.php index 12eabbc7..2ff4460b 100755 --- a/app/Notifications/Frontend/Auth/UserNeedsPasswordReset.php +++ b/app/Notifications/Frontend/Auth/UserNeedsPasswordReset.php @@ -12,6 +12,7 @@ class UserNeedsPasswordReset extends Notification { use Queueable; + /** * The password reset token. * diff --git a/app/Notifications/PasswordReset.php b/app/Notifications/PasswordReset.php index b133bb57..2f6b4492 100644 --- a/app/Notifications/PasswordReset.php +++ b/app/Notifications/PasswordReset.php @@ -16,6 +16,7 @@ class PasswordReset extends Notification * @return void */ protected $user; + protected $token; public function __construct($user, $token) diff --git a/app/Providers/ActiveServiceProvider.php b/app/Providers/ActiveServiceProvider.php new file mode 100644 index 00000000..327db743 --- /dev/null +++ b/app/Providers/ActiveServiceProvider.php @@ -0,0 +1,56 @@ +=')) { + app('router')->matched( + function (RouteMatched $event) use ($instance) { + $instance->updateInstances($event->route, $event->request); + } + ); + } else { + app('router')->matched( + function ($route, $request) use ($instance) { + $instance->updateInstances($route, $request); + } + ); + } + } + + /** + * Register the service provider. + * + * @return void + */ + public function register() + { + $this->app->singleton( + 'active', + function ($app) { + $instance = new Active($app['router']->getCurrentRequest()); + + return $instance; + } + ); + } +} diff --git a/app/Repositories/Backend/Access/User/UserRepository.php b/app/Repositories/Backend/Access/User/UserRepository.php index 6d5ee120..8d519d4e 100755 --- a/app/Repositories/Backend/Access/User/UserRepository.php +++ b/app/Repositories/Backend/Access/User/UserRepository.php @@ -306,10 +306,12 @@ public function mark($user, $status) switch ($status) { case 0: event(new UserDeactivated($user)); + break; case 1: event(new UserReactivated($user)); + break; } diff --git a/app/Repositories/Backend/Blogs/BlogsRepository.php b/app/Repositories/Backend/Blogs/BlogsRepository.php index c502da90..d4622938 100755 --- a/app/Repositories/Backend/Blogs/BlogsRepository.php +++ b/app/Repositories/Backend/Blogs/BlogsRepository.php @@ -15,6 +15,7 @@ use Carbon\Carbon; use DB; use Illuminate\Support\Facades\Storage; +use Illuminate\Support\Str; /** * Class BlogsRepository. @@ -73,7 +74,7 @@ public function create(array $input) unset($input['tags'], $input['categories']); DB::transaction(function () use ($input, $tagsArray, $categoriesArray) { - $input['slug'] = str_slug($input['name']); + $input['slug'] = Str::slug($input['name']); $input['publish_datetime'] = Carbon::parse($input['publish_datetime']); $input = $this->uploadImage($input); $input['created_by'] = access()->user()->id; @@ -110,7 +111,7 @@ public function update(Blog $blog, array $input) $categoriesArray = $this->createCategories($input['categories']); unset($input['tags'], $input['categories']); - $input['slug'] = str_slug($input['name']); + $input['slug'] = Str::slug($input['name']); $input['publish_datetime'] = Carbon::parse($input['publish_datetime']); $input['updated_by'] = access()->user()->id; diff --git a/app/Repositories/Backend/History/EloquentHistoryRepository.php b/app/Repositories/Backend/History/EloquentHistoryRepository.php index ff713046..0f2e4564 100755 --- a/app/Repositories/Backend/History/EloquentHistoryRepository.php +++ b/app/Repositories/Backend/History/EloquentHistoryRepository.php @@ -243,18 +243,22 @@ public function renderDescription($text, $assets = false) switch (count($values)) { case 1: $text = str_replace('{'.$key.'}', link_to_route($values[0], $values[0]), $text); + break; case 2: $text = str_replace('{'.$key.'}', link_to_route($values[0], $values[1]), $text); + break; case 3: $text = str_replace('{'.$key.'}', link_to_route($values[0], $values[1], $values[2]), $text); + break; case 4: $text = str_replace('{'.$key.'}', link_to_route($values[0], $values[1], $values[2], $values[3]), $text); + break; } } else { @@ -266,6 +270,7 @@ public function renderDescription($text, $assets = false) case 'string': $text = str_replace('{'.$key.'}', $values, $text); + break; } diff --git a/app/Repositories/Backend/Notification/NotificationRepository.php b/app/Repositories/Backend/Notification/NotificationRepository.php index bbbe6454..c50b36fb 100755 --- a/app/Repositories/Backend/Notification/NotificationRepository.php +++ b/app/Repositories/Backend/Notification/NotificationRepository.php @@ -18,6 +18,7 @@ class NotificationRepository extends BaseRepository * @var object */ public $model; + public $timestamps = false; public function __construct(Notification $model) diff --git a/app/Repositories/Backend/Pages/PagesRepository.php b/app/Repositories/Backend/Pages/PagesRepository.php index 42190754..deb89bd2 100644 --- a/app/Repositories/Backend/Pages/PagesRepository.php +++ b/app/Repositories/Backend/Pages/PagesRepository.php @@ -8,6 +8,7 @@ use App\Exceptions\GeneralException; use App\Models\Page\Page; use App\Repositories\BaseRepository; +use Illuminate\Support\Str; /** * Class PagesRepository. @@ -51,7 +52,7 @@ public function create(array $input) } // Making extra fields - $input['page_slug'] = str_slug($input['title']); + $input['page_slug'] = Str::slug($input['title']); $input['status'] = isset($input['status']) ? 1 : 0; $input['created_by'] = auth()->id(); @@ -79,7 +80,7 @@ public function update($page, array $input) } // Making extra fields - $input['page_slug'] = str_slug($input['title']); + $input['page_slug'] = Str::slug($input['title']); $input['status'] = isset($input['status']) ? 1 : 0; $input['updated_by'] = access()->user()->id; diff --git a/app/Services/Active/Active.php b/app/Services/Active/Active.php new file mode 100644 index 00000000..fbf580a1 --- /dev/null +++ b/app/Services/Active/Active.php @@ -0,0 +1,318 @@ + + *
  • current route URI
  • + *
  • current route name
  • + *
  • current action
  • + *
  • current controller
  • + * + * + * @author Hieu Le + * + * @version 3.2.0 + */ +class Active +{ + /** + * Current request. + * + * @var Request + */ + protected $request; + /** + * Current matched route. + * + * @var Route + */ + protected $route; + /** + * Current action string. + * + * @var string + */ + protected $action; + /** + * Current controller class. + * + * @var string + */ + protected $controller; + /** + * Current controller method. + * + * @var string + */ + protected $method; + /** + * Current URI. + * + * @var string + */ + protected $uri; + + /** + * Active constructor. + * + * @param Request $request current request instance + */ + public function __construct($request) + { + $this->updateInstances(null, $request); + } + + /** + * Update the route and request instances. + * + * @param Route $route + * @param Request $request + */ + public function updateInstances($route, $request) + { + $this->request = $request; + if ($request) { + $this->uri = urldecode($request->path()); + } + $this->route = $route; + if ($route) { + $this->action = $route->getActionName(); + $actionSegments = Str::parseCallback($this->action, null); + $this->controller = head($actionSegments); + $this->method = last($actionSegments); + } + } + + /** + * Get the active class if the condition is not falsy. + * + * @param $condition + * @param string $activeClass + * @param string $inactiveClass + * + * @return string + */ + public function getClassIf($condition, $activeClass = 'active', $inactiveClass = '') + { + return $condition ? $activeClass : $inactiveClass; + } + + /** + * Check if the URI of the current request matches one of the specific URIs. + * + * @param array|string $uris + * + * @return bool + */ + public function checkUri($uris) + { + if (!$this->request) { + return false; + } + foreach ((array) $uris as $uri) { + if ($this->uri == $uri) { + return true; + } + } + + return false; + } + + /** + * Check if the current URI matches one of specific patterns (using `Str::is`). + * + * @param array|string $patterns + * + * @return bool + */ + public function checkUriPattern($patterns) + { + if (!$this->request) { + return false; + } + foreach ((array) $patterns as $p) { + if (Str::is($p, $this->uri)) { + return true; + } + } + + return false; + } + + /** + * Check if one of the following condition is true: + * + the value of $value is `false` and the current querystring contain the key $key + * + the value of $value is not `false` and the current value of the $key key in the querystring equals to $value + * + the value of $value is not `false` and the current value of the $key key in the querystring is an array that + * contains the $value. + * + * @param string $key + * @param mixed $value + * + * @return bool + */ + public function checkQuery($key, $value) + { + if (!$this->request) { + return false; + } + $queryValue = $this->request->query($key); + // if the `key` exists in the query string with the correct value + // OR it exists with any value + // OR its value is an array that contains the specific value + if (($queryValue == $value) || ($queryValue !== null && $value === false) || (is_array($queryValue) && in_array( + $value, + $queryValue + )) + ) { + return true; + } + + return false; + } + + /** + * Check if the name of the current route matches one of specific values. + * + * @param array|string $routeNames + * + * @return bool + */ + public function checkRoute($routeNames) + { + if (!$this->route) { + return false; + } + $routeName = $this->route->getName(); + if (in_array($routeName, (array) $routeNames)) { + return true; + } + + return false; + } + + /** + * Check the current route name with one or some patterns. + * + * @param array|string $patterns + * + * @return bool + */ + public function checkRoutePattern($patterns) + { + if (!$this->route) { + return false; + } + $routeName = $this->route->getName(); + if ($routeName == null) { + return in_array(null, $patterns); + } + foreach ((array) $patterns as $p) { + if (Str::is($p, $routeName)) { + return true; + } + } + + return false; + } + + /** + * Check if the parameter of the current route has the correct value. + * + * @param $param + * @param $value + * + * @return bool + */ + public function checkRouteParam($param, $value) + { + if (!$this->route) { + return false; + } + $paramValue = $this->route->parameter($param); + // If the parameter value is an instance of Model class, we compare $value with the value of + // its primary key. + if (is_a($paramValue, Model::class)) { + return $paramValue->{$paramValue->getKeyName()} == $value; + } + + return $paramValue == $value; + } + + /** + * Return 'active' class if current route action match one of provided action names. + * + * @param array|string $actions + * + * @return bool + */ + public function checkAction($actions) + { + if (!$this->action) { + return false; + } + if (in_array($this->action, (array) $actions)) { + return true; + } + + return false; + } + + /** + * Check if the current controller class matches one of specific values. + * + * @param array|string $controllers + * + * @return bool + */ + public function checkController($controllers) + { + if (!$this->controller) { + return false; + } + if (in_array($this->controller, (array) $controllers)) { + return true; + } + + return false; + } + + /** + * Get the current controller method. + * + * @return string + */ + public function getMethod() + { + return $this->method ?: ''; + } + + /** + * Get the current action string. + * + * @return string + */ + public function getAction() + { + return $this->action ?: ''; + } + + /** + * Get the current controller class. + * + * @return string + */ + public function getController() + { + return $this->controller ?: ''; + } +} diff --git a/app/Services/Active/Facades/Active.php b/app/Services/Active/Facades/Active.php new file mode 100644 index 00000000..27370f6c --- /dev/null +++ b/app/Services/Active/Facades/Active.php @@ -0,0 +1,18 @@ +=7.1.3", - "arcanedev/log-viewer": "^4.5", - "arcanedev/no-captcha": "^9.0", + "php": "^7.2", "beyondcode/laravel-self-diagnosis": "^1.2", "creativeorange/gravatar": "~1.0", "davejamesmiller/laravel-breadcrumbs": "^5.0", "doctrine/dbal": "^2.9", + "arcanedev/log-viewer": "^5.1", "fideloper/proxy": "^4.0", - "hieu-le/active": "^3.5", - "laravel/framework": "5.8.*", - "laravel/passport": "^7.2", - "laravel/socialite": "^4.1", + "laravel/framework": "^6.0", + "laravel/passport": "^7.3.3", + "laravel/socialite": "^4.2", "laravel/tinker": "~1.0", - "laravelcollective/html": "^5.4.0", - "spatie/laravel-cors": "^1.2", + "laravelcollective/html": "6.0.*", + "spatie/laravel-cors": "^1.6", "unisharp/laravel-filemanager": "~1.8", "yajra/laravel-datatables-oracle": "~9.0" }, "require-dev": { "bvipul/generator": "^5.8.2", - "codedungeon/phpunit-result-printer": "^0.26.1", - "filp/whoops": "^2.0", + "codedungeon/phpunit-result-printer": "^0.26", "friendsofphp/php-cs-fixer": "^2.14", "fzaninotto/faker": "^1.4", - "laravel/telescope": "^2.0", + "laravel/telescope": "^2.1", "mockery/mockery": "^1.0", - "phpunit/phpunit": "^8.0" + "phpunit/phpunit": "^8.0", + "facade/ignition": "^1.4", + "nunomaduro/collision": "^3.0" }, "config": { "optimize-autoloader": true, @@ -54,7 +53,8 @@ "App\\": "app/" }, "files": [ - "app/Helpers/helpers.php" + "app/Helpers/helpers.php", + "app/Helpers/activeHelpers.php" ] }, "autoload-dev": { @@ -116,4 +116,4 @@ "npm audit" ] } -} +} \ No newline at end of file diff --git a/composer.lock b/composer.lock index 59b52e23..7ca712e6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,39 +4,40 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e0aac0786fde1c97a765c5b8f0c35ae5", + "content-hash": "13dcf4a023a54a3a3a798e8b73053c78", "packages": [ { "name": "arcanedev/log-viewer", - "version": "4.7.3", + "version": "5.1.4", "source": { "type": "git", "url": "https://github.com/ARCANEDEV/LogViewer.git", - "reference": "bb7bbce12d6220edff8bb4a2e45d1210cb4e08b6" + "reference": "560d395293b1d5797443b836b9fa18da872204cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/bb7bbce12d6220edff8bb4a2e45d1210cb4e08b6", - "reference": "bb7bbce12d6220edff8bb4a2e45d1210cb4e08b6", + "url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/560d395293b1d5797443b836b9fa18da872204cc", + "reference": "560d395293b1d5797443b836b9fa18da872204cc", "shasum": "" }, "require": { - "arcanedev/support": "~4.5.0", + "arcanedev/support": "^5.0", "ext-json": "*", - "php": ">=7.1.3", - "psr/log": "~1.0" + "php": ">=7.2.0", + "psr/log": "^1.0" }, "require-dev": { - "mockery/mockery": "~1.0", - "orchestra/testbench": "~3.8.0", - "phpunit/phpcov": "~5.0|~6.0", - "phpunit/phpunit": "~7.0|~8.0" + "mockery/mockery": "^1.0", + "orchestra/testbench": "^4.0", + "phpunit/phpcov": "^6.0", + "phpunit/phpunit": "^8.0" }, "type": "library", "extra": { "laravel": { "providers": [ - "Arcanedev\\LogViewer\\LogViewerServiceProvider" + "Arcanedev\\LogViewer\\LogViewerServiceProvider", + "Arcanedev\\LogViewer\\Providers\\DeferredServicesProvider" ] } }, @@ -72,150 +73,31 @@ "log-viewer", "logviewer" ], - "time": "2019-09-12T19:13:38+00:00" - }, - { - "name": "arcanedev/no-captcha", - "version": "9.0.1", - "source": { - "type": "git", - "url": "https://github.com/ARCANEDEV/noCAPTCHA.git", - "reference": "ec3702eb76cb611340348625e115fc94dad42204" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ARCANEDEV/noCAPTCHA/zipball/ec3702eb76cb611340348625e115fc94dad42204", - "reference": "ec3702eb76cb611340348625e115fc94dad42204", - "shasum": "" - }, - "require": { - "arcanedev/php-html": "~2.0.0", - "arcanedev/support": "~4.5.0", - "ext-curl": "*", - "ext-json": "*", - "php": ">=7.1.3", - "psr/http-message": "~1.0" - }, - "require-dev": { - "arcanedev/laravel-html": "~5.8.0", - "orchestra/testbench": "~3.8.0", - "phpunit/phpcov": "~5.0|~6.0", - "phpunit/phpunit": "~7.0|~8.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Arcanedev\\NoCaptcha\\NoCaptchaServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Arcanedev\\NoCaptcha\\": "src/" - }, - "files": [ - "helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "ARCANEDEV", - "email": "arcanedev.maroc@gmail.com", - "homepage": "https://github.com/arcanedev-maroc", - "role": "Developer" - } - ], - "description": "No CAPTCHA (new Google reCAPTCHA) with Laravel support", - "homepage": "https://github.com/ARCANEDEV/noCAPTCHA", - "keywords": [ - "arcanedev", - "captcha", - "google", - "laravel", - "no-captcha", - "recaptcha" - ], - "time": "2019-02-27T22:06:02+00:00" - }, - { - "name": "arcanedev/php-html", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/ARCANEDEV/php-html.git", - "reference": "9132616bbc817b7aaa7bec6bce26abe05c3aa5bd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ARCANEDEV/php-html/zipball/9132616bbc817b7aaa7bec6bce26abe05c3aa5bd", - "reference": "9132616bbc817b7aaa7bec6bce26abe05c3aa5bd", - "shasum": "" - }, - "require": { - "illuminate/support": "~5.8", - "php": ">=7.1.3" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpcov": "~5.0|~6.0", - "phpunit/phpunit": "~7.0|~8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Arcanedev\\Html\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "ARCANEDEV", - "email": "arcanedev.maroc@gmail.com", - "homepage": "https://github.com/arcanedev-maroc", - "role": "Developer" - } - ], - "description": "A simple way to create html tags with php.", - "homepage": "https://github.com/ARCANEDEV/php-html", - "keywords": [ - "arcanedev", - "form", - "html", - "tags" - ], - "time": "2019-07-24T08:40:16+00:00" + "time": "2019-10-03T13:08:24+00:00" }, { "name": "arcanedev/support", - "version": "4.5.0", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/ARCANEDEV/Support.git", - "reference": "2bb6e901404a12caa440520676b6507569d20715" + "reference": "cf731be18e7d0138223bd8e134f623a9d8c674d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ARCANEDEV/Support/zipball/2bb6e901404a12caa440520676b6507569d20715", - "reference": "2bb6e901404a12caa440520676b6507569d20715", + "url": "https://api.github.com/repos/ARCANEDEV/Support/zipball/cf731be18e7d0138223bd8e134f623a9d8c674d7", + "reference": "cf731be18e7d0138223bd8e134f623a9d8c674d7", "shasum": "" }, "require": { - "illuminate/filesystem": "~5.8.0", - "illuminate/support": "~5.8.0", - "php": ">=7.1.3" + "illuminate/filesystem": "^6.0", + "illuminate/support": "^6.0", + "php": ">=7.2.0" }, "require-dev": { - "orchestra/testbench": "~3.8.0", - "phpunit/phpcov": "~5.0|~6.0", - "phpunit/phpunit": "~7.0|~8.0" + "orchestra/testbench": "^4.0", + "phpunit/phpcov": "^6.0", + "phpunit/phpunit": "^8.0" }, "type": "library", "autoload": { @@ -246,7 +128,7 @@ "laravel", "support" ], - "time": "2019-02-27T18:33:30+00:00" + "time": "2019-10-02T18:20:38+00:00" }, { "name": "beyondcode/laravel-self-diagnosis", @@ -1463,69 +1345,6 @@ ], "time": "2019-07-01T23:21:34+00:00" }, - { - "name": "hieu-le/active", - "version": "3.5.1", - "source": { - "type": "git", - "url": "https://github.com/letrunghieu/active.git", - "reference": "42d0f50be74b89d730bb4c0ee8c32447630506c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/letrunghieu/active/zipball/42d0f50be74b89d730bb4c0ee8c32447630506c6", - "reference": "42d0f50be74b89d730bb4c0ee8c32447630506c6", - "shasum": "" - }, - "require": { - "laravel/framework": "^5.5", - "php": ">=7.0" - }, - "require-dev": { - "codeclimate/php-test-reporter": "dev-master", - "orchestra/testbench": "^3.1", - "phpunit/phpunit": "~6.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "HieuLe\\Active\\ActiveServiceProvider" - ], - "aliases": { - "Active": "HieuLe\\Active\\Facades\\Active" - } - } - }, - "autoload": { - "psr-4": { - "HieuLe\\Active\\": "src/", - "HieuLe\\ActiveTest\\": "tests/" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Hieu Le", - "email": "letrunghieu.cse09@gmail.com", - "homepage": "https://www.hieule.info" - } - ], - "description": "The helper class for Laravel (4/5) applications to get active class base on current route", - "homepage": "https://www.hieule.info/tag/laravel-active/", - "keywords": [ - "active", - "laravel", - "routing" - ], - "time": "2017-09-07T02:36:51+00:00" - }, { "name": "intervention/image", "version": "2.5.0", @@ -1686,43 +1505,43 @@ }, { "name": "laravel/framework", - "version": "v5.8.35", + "version": "v6.1.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "5a9e4d241a8b815e16c9d2151e908992c38db197" + "reference": "a365bea7ff0dea9a50f5904be9e41656def9af4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/5a9e4d241a8b815e16c9d2151e908992c38db197", - "reference": "5a9e4d241a8b815e16c9d2151e908992c38db197", + "url": "https://api.github.com/repos/laravel/framework/zipball/a365bea7ff0dea9a50f5904be9e41656def9af4b", + "reference": "a365bea7ff0dea9a50f5904be9e41656def9af4b", "shasum": "" }, "require": { "doctrine/inflector": "^1.1", "dragonmantank/cron-expression": "^2.0", - "egulias/email-validator": "^2.0", + "egulias/email-validator": "^2.1.10", "erusev/parsedown": "^1.7", "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", "league/flysystem": "^1.0.8", - "monolog/monolog": "^1.12", - "nesbot/carbon": "^1.26.3 || ^2.0", + "monolog/monolog": "^1.12|^2.0", + "nesbot/carbon": "^2.0", "opis/closure": "^3.1", - "php": "^7.1.3", + "php": "^7.2", "psr/container": "^1.0", "psr/simple-cache": "^1.0", "ramsey/uuid": "^3.7", "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^4.2", - "symfony/debug": "^4.2", - "symfony/finder": "^4.2", - "symfony/http-foundation": "^4.2", - "symfony/http-kernel": "^4.2", - "symfony/process": "^4.2", - "symfony/routing": "^4.2", - "symfony/var-dumper": "^4.2", + "symfony/console": "^4.3.4", + "symfony/debug": "^4.3.4", + "symfony/finder": "^4.3.4", + "symfony/http-foundation": "^4.3.4", + "symfony/http-kernel": "^4.3.4", + "symfony/process": "^4.3.4", + "symfony/routing": "^4.3.4", + "symfony/var-dumper": "^4.3.4", "tijsverkoyen/css-to-inline-styles": "^2.2.1", "vlucas/phpdotenv": "^3.3" }, @@ -1762,47 +1581,44 @@ "require-dev": { "aws/aws-sdk-php": "^3.0", "doctrine/dbal": "^2.6", - "filp/whoops": "^2.1.4", + "filp/whoops": "^2.4", "guzzlehttp/guzzle": "^6.3", "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.0", + "mockery/mockery": "^1.2.3", "moontoast/math": "^1.1", - "orchestra/testbench-core": "3.8.*", + "orchestra/testbench-core": "^4.0", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^7.5|^8.0", + "phpunit/phpunit": "^8.3", "predis/predis": "^1.1.1", - "symfony/css-selector": "^4.2", - "symfony/dom-crawler": "^4.2", + "symfony/cache": "^4.3", "true/punycode": "^2.1" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (^3.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", "ext-pcntl": "Required to use all features of the queue worker.", "ext-posix": "Required to use all features of the queue worker.", - "filp/whoops": "Required for friendly error pages in development (^2.1.4).", + "ext-redis": "Required to use the Redis cache and queue drivers.", + "filp/whoops": "Required for friendly error pages in development (^2.4).", "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", - "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (^6.0).", + "guzzlehttp/guzzle": "Required to use the Mailgun mail driver and the ping methods on schedules (^6.0).", "laravel/tinker": "Required to use the tinker console command (^1.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "nexmo/client": "Required to use the Nexmo transport (^1.0).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "predis/predis": "Required to use the redis cache and queue drivers (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^3.0).", - "symfony/css-selector": "Required to use some of the crawler integration testing tools (^4.2).", - "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (^4.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^1.1).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^4.3.4).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^1.2).", "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.8-dev" + "dev-master": "6.x-dev" } }, "autoload": { @@ -1830,7 +1646,7 @@ "framework", "laravel" ], - "time": "2019-09-03T16:44:30+00:00" + "time": "2019-10-01T13:55:56+00:00" }, { "name": "laravel/passport", @@ -2032,35 +1848,35 @@ }, { "name": "laravelcollective/html", - "version": "v5.8.1", + "version": "v6.0.3", "source": { "type": "git", "url": "https://github.com/LaravelCollective/html.git", - "reference": "3a1c9974ea629eed96e101a24e3852ced382eb29" + "reference": "bcc317d21a7e04eebcc81c4109fa84feaab63590" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/LaravelCollective/html/zipball/3a1c9974ea629eed96e101a24e3852ced382eb29", - "reference": "3a1c9974ea629eed96e101a24e3852ced382eb29", + "url": "https://api.github.com/repos/LaravelCollective/html/zipball/bcc317d21a7e04eebcc81c4109fa84feaab63590", + "reference": "bcc317d21a7e04eebcc81c4109fa84feaab63590", "shasum": "" }, "require": { - "illuminate/http": "5.8.*", - "illuminate/routing": "5.8.*", - "illuminate/session": "5.8.*", - "illuminate/support": "5.8.*", - "illuminate/view": "5.8.*", - "php": ">=7.1.3" + "illuminate/http": "^6.0", + "illuminate/routing": "^6.0", + "illuminate/session": "^6.0", + "illuminate/support": "^6.0", + "illuminate/view": "^6.0", + "php": ">=7.2" }, "require-dev": { - "illuminate/database": "5.8.*", + "illuminate/database": "^6.0", "mockery/mockery": "~1.0", "phpunit/phpunit": "~7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.8-dev" + "dev-master": "6.0-dev" }, "laravel": { "providers": [ @@ -2096,7 +1912,7 @@ ], "description": "HTML and Form Builders for the Laravel Framework", "homepage": "https://laravelcollective.com", - "time": "2019-09-05T12:32:25+00:00" + "time": "2019-10-02T00:37:39+00:00" }, { "name": "lcobucci/jwt", @@ -2429,21 +2245,21 @@ }, { "name": "monolog/monolog", - "version": "1.25.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "70e65a5470a42cfec1a7da00d30edb6e617e8dcf" + "reference": "68545165e19249013afd1d6f7485aecff07a2d22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/70e65a5470a42cfec1a7da00d30edb6e617e8dcf", - "reference": "70e65a5470a42cfec1a7da00d30edb6e617e8dcf", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/68545165e19249013afd1d6f7485aecff07a2d22", + "reference": "68545165e19249013afd1d6f7485aecff07a2d22", "shasum": "" }, "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" + "php": "^7.2", + "psr/log": "^1.0.1" }, "provide": { "psr/log-implementation": "1.0.0" @@ -2451,33 +2267,36 @@ "require-dev": { "aws/aws-sdk-php": "^2.4.9 || ^3.0", "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", + "elasticsearch/elasticsearch": "^6.0", + "graylog2/gelf-php": "^1.4.2", + "jakub-onderka/php-parallel-lint": "^0.9", "php-amqplib/php-amqplib": "~2.4", "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", + "phpspec/prophecy": "^1.6.1", + "phpunit/phpunit": "^8.3", + "predis/predis": "^1.1", + "rollbar/rollbar": "^1.3", "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", "swiftmailer/swiftmailer": "^5.3|^6.0" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", "php-console/php-console": "Allow sending log messages to Google Chrome", "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2503,20 +2322,20 @@ "logging", "psr-3" ], - "time": "2019-09-06T13:49:17+00:00" + "time": "2019-08-30T09:56:44+00:00" }, { "name": "nesbot/carbon", - "version": "2.24.0", + "version": "2.25.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "934459c5ac0658bc765ad1e53512c7c77adcac29" + "reference": "b70da677101cca7b584c7489770d2677c2733593" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/934459c5ac0658bc765ad1e53512c7c77adcac29", - "reference": "934459c5ac0658bc765ad1e53512c7c77adcac29", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/b70da677101cca7b584c7489770d2677c2733593", + "reference": "b70da677101cca7b584c7489770d2677c2733593", "shasum": "" }, "require": { @@ -2563,14 +2382,14 @@ "homepage": "http://github.com/kylekatarnls" } ], - "description": "A API extension for DateTime that supports 281 different languages.", + "description": "An API extension for DateTime that supports 281 different languages.", "homepage": "http://carbon.nesbot.com", "keywords": [ "date", "datetime", "time" ], - "time": "2019-08-31T16:37:55+00:00" + "time": "2019-09-30T16:22:22+00:00" }, { "name": "nikic/php-parser", @@ -4932,16 +4751,16 @@ }, { "name": "vlucas/phpdotenv", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "95cb0fa6c025f7f0db7fc60f81e9fb231eb2d222" + "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/95cb0fa6c025f7f0db7fc60f81e9fb231eb2d222", - "reference": "95cb0fa6c025f7f0db7fc60f81e9fb231eb2d222", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1bdf24f065975594f6a117f0f1f6cabf1333b156", + "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156", "shasum": "" }, "require": { @@ -4950,12 +4769,12 @@ "symfony/polyfill-ctype": "^1.9" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0" + "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.5-dev" + "dev-master": "3.6-dev" } }, "autoload": { @@ -4985,7 +4804,7 @@ "env", "environment" ], - "time": "2019-08-27T17:00:38+00:00" + "time": "2019-09-10T21:37:39+00:00" }, { "name": "yajra/laravel-datatables-oracle", @@ -5347,16 +5166,16 @@ }, { "name": "doctrine/annotations", - "version": "v1.7.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb" + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/fa4c4e861e809d6a1103bd620cce63ed91aedfeb", - "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/904dca4eb10715b92569fbcd79e201d5c349b6bc", + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc", "shasum": "" }, "require": { @@ -5365,7 +5184,7 @@ }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "^7.5@dev" + "phpunit/phpunit": "^7.5" }, "type": "library", "extra": { @@ -5411,7 +5230,7 @@ "docblock", "parser" ], - "time": "2019-08-08T18:11:40+00:00" + "time": "2019-10-01T18:55:10+00:00" }, { "name": "doctrine/instantiator", @@ -5469,6 +5288,131 @@ ], "time": "2019-03-17T17:37:11+00:00" }, + { + "name": "facade/flare-client-php", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/facade/flare-client-php.git", + "reference": "4de2e8062e66edadbff261ebb5baae6eccfb799c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/4de2e8062e66edadbff261ebb5baae6eccfb799c", + "reference": "4de2e8062e66edadbff261ebb5baae6eccfb799c", + "shasum": "" + }, + "require": { + "facade/ignition-contracts": "~1.0", + "illuminate/pipeline": "~5.5|~5.6|~5.7|~5.8|^6.0", + "php": "^7.1", + "symfony/http-foundation": "~3.3|~4.1", + "symfony/var-dumper": "^3.4|^4.0" + }, + "require-dev": { + "larapack/dd": "^1.1", + "phpunit/phpunit": "^7.5.16", + "spatie/phpunit-snapshot-assertions": "^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Facade\\FlareClient\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/facade/flare-client-php", + "keywords": [ + "exception", + "facade", + "flare", + "reporting" + ], + "time": "2019-09-27T14:54:17+00:00" + }, + { + "name": "facade/ignition", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/facade/ignition.git", + "reference": "ca7ab4f49230cb57c62fedddc5245f5496b82065" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/ignition/zipball/ca7ab4f49230cb57c62fedddc5245f5496b82065", + "reference": "ca7ab4f49230cb57c62fedddc5245f5496b82065", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "facade/flare-client-php": "^1.1", + "facade/ignition-contracts": "^1.0", + "filp/whoops": "^2.4", + "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0", + "monolog/monolog": "^1.12 || ^2.0", + "php": "^7.1", + "scrivo/highlight.php": "^9.15", + "symfony/console": "^3.4 || ^4.0", + "symfony/var-dumper": "^3.4 || ^4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", + "mockery/mockery": "^1.2", + "orchestra/testbench": "^3.5 || ^3.6 || ^3.7 || ^3.8 || ^4.0" + }, + "suggest": { + "laravel/telescope": "^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Facade\\Ignition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Facade\\Ignition\\Facades\\Flare" + } + } + }, + "autoload": { + "psr-4": { + "Facade\\Ignition\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://github.com/facade/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "time": "2019-10-01T17:44:44+00:00" + }, { "name": "filp/whoops", "version": "2.5.0", @@ -5998,6 +5942,70 @@ ], "time": "2019-08-09T12:45:53+00:00" }, + { + "name": "nunomaduro/collision", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/af42d339fe2742295a54f6fdd42aaa6f8c4aca68", + "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.1.4", + "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", + "php": "^7.1", + "symfony/console": "~2.8|~3.3|~4.0" + }, + "require-dev": { + "laravel/framework": "5.8.*", + "nunomaduro/larastan": "^0.3.0", + "phpstan/phpstan": "^0.11", + "phpunit/phpunit": "~8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "time": "2019-03-07T21:35:13+00:00" + }, { "name": "phar-io/manifest", "version": "1.0.3", @@ -6303,22 +6311,22 @@ }, { "name": "phpspec/prophecy", - "version": "1.8.1", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76" + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", "sebastian/comparator": "^1.1|^2.0|^3.0", "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, @@ -6362,20 +6370,20 @@ "spy", "stub" ], - "time": "2019-06-13T12:50:23+00:00" + "time": "2019-10-03T11:07:50+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "7.0.7", + "version": "7.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7743bbcfff2a907e9ee4a25be13d0f8ec5e73800" + "reference": "aa0d179a13284c7420fc281fc32750e6cc7c9e2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7743bbcfff2a907e9ee4a25be13d0f8ec5e73800", - "reference": "7743bbcfff2a907e9ee4a25be13d0f8ec5e73800", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/aa0d179a13284c7420fc281fc32750e6cc7c9e2f", + "reference": "aa0d179a13284c7420fc281fc32750e6cc7c9e2f", "shasum": "" }, "require": { @@ -6384,7 +6392,7 @@ "php": "^7.2", "phpunit/php-file-iterator": "^2.0.2", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.0", + "phpunit/php-token-stream": "^3.1.1", "sebastian/code-unit-reverse-lookup": "^1.0.1", "sebastian/environment": "^4.2.2", "sebastian/version": "^2.0.1", @@ -6425,7 +6433,7 @@ "testing", "xunit" ], - "time": "2019-07-25T05:31:54+00:00" + "time": "2019-09-17T06:24:36+00:00" }, { "name": "phpunit/php-file-iterator", @@ -6569,16 +6577,16 @@ }, { "name": "phpunit/php-token-stream", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a" + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e899757bb3df5ff6e95089132f32cd59aac2220a", - "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", "shasum": "" }, "require": { @@ -6614,20 +6622,20 @@ "keywords": [ "tokenizer" ], - "time": "2019-07-25T05:29:42+00:00" + "time": "2019-09-17T06:23:10+00:00" }, { "name": "phpunit/phpunit", - "version": "8.3.5", + "version": "8.4.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "302faed7059fde575cf3403a78c730c5e3a62750" + "reference": "57e5e77b62086033528ee1f4063ae03035f57894" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/302faed7059fde575cf3403a78c730c5e3a62750", - "reference": "302faed7059fde575cf3403a78c730c5e3a62750", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/57e5e77b62086033528ee1f4063ae03035f57894", + "reference": "57e5e77b62086033528ee1f4063ae03035f57894", "shasum": "" }, "require": { @@ -6671,7 +6679,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.3-dev" + "dev-master": "8.4-dev" } }, "autoload": { @@ -6697,7 +6705,74 @@ "testing", "xunit" ], - "time": "2019-09-14T09:12:03+00:00" + "time": "2019-10-04T03:12:25+00:00" + }, + { + "name": "scrivo/highlight.php", + "version": "v9.15.10.0", + "source": { + "type": "git", + "url": "https://github.com/scrivo/highlight.php.git", + "reference": "9ad3adb4456dc91196327498dbbce6aa1ba1239e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/scrivo/highlight.php/zipball/9ad3adb4456dc91196327498dbbce6aa1ba1239e", + "reference": "9ad3adb4456dc91196327498dbbce6aa1ba1239e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.7", + "symfony/finder": "^2.8" + }, + "suggest": { + "ext-dom": "Needed to make use of the features in the utilities namespace" + }, + "type": "library", + "autoload": { + "psr-0": { + "Highlight\\": "", + "HighlightUtilities\\": "" + }, + "files": [ + "HighlightUtilities/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Geert Bergman", + "homepage": "http://www.scrivo.org/", + "role": "Project Author" + }, + { + "name": "Vladimir Jimenez", + "homepage": "https://allejo.io", + "role": "Contributor" + }, + { + "name": "Martin Folkers", + "homepage": "https://twobrain.io", + "role": "Contributor" + } + ], + "description": "Server side syntax highlighter that supports 185 languages. It's a PHP port of highlight.js", + "keywords": [ + "code", + "highlight", + "highlight.js", + "highlight.php", + "syntax" + ], + "time": "2019-08-27T04:27:48+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -7683,7 +7758,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=7.1.3" + "php": "^7.2" }, "platform-dev": [] } diff --git a/config/app.php b/config/app.php index b8e06eeb..2c9b3b55 100755 --- a/config/app.php +++ b/config/app.php @@ -175,12 +175,10 @@ /* * Package Service Providers... */ - Arcanedev\LogViewer\LogViewerServiceProvider::class, - Arcanedev\NoCaptcha\NoCaptchaServiceProvider::class, Collective\Html\HtmlServiceProvider::class, Creativeorange\Gravatar\GravatarServiceProvider::class, //DaveJamesMiller\Breadcrumbs\ServiceProvider::class, - HieuLe\Active\ActiveServiceProvider::class, + //HieuLe\Active\ActiveServiceProvider::class, Laravel\Socialite\SocialiteServiceProvider::class, Laravel\Tinker\TinkerServiceProvider::class, Yajra\DataTables\DataTablesServiceProvider::class, @@ -189,6 +187,7 @@ * Application Service Providers... */ App\Providers\AccessServiceProvider::class, + App\Providers\ActiveServiceProvider::class, App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, App\Providers\BladeServiceProvider::class, @@ -251,13 +250,13 @@ /* * Third Party Aliases */ - 'Active' => HieuLe\Active\Facades\Active::class, + 'Active' => App\Services\Active\Facades\Active::class, 'Breadcrumbs' => DaveJamesMiller\Breadcrumbs\Facade::class, 'Captcha' => Arcanedev\NoCaptcha\Facades\NoCaptcha::class, 'Form' => Collective\Html\FormFacade::class, 'Gravatar' => Creativeorange\Gravatar\Facades\Gravatar::class, 'Html' => Collective\Html\HtmlFacade::class, 'Socialite' => Laravel\Socialite\Facades\Socialite::class, - //'Datatables' => Yajra\DataTables\Facades\DataTables::class + //'Datatables' => Yajra\DataTables\Facades\DataTables::class, ], ]; diff --git a/config/broadcasting.php b/config/broadcasting.php index 2f417296..ec2d8a3d 100755 --- a/config/broadcasting.php +++ b/config/broadcasting.php @@ -36,7 +36,8 @@ 'secret' => env('PUSHER_APP_SECRET'), 'app_id' => env('PUSHER_APP_ID'), 'options' => [ - // + 'cluster' => env('PUSHER_APP_CLUSTER'), + 'useTLS' => true, ], ], diff --git a/config/cache.php b/config/cache.php index b12eff52..0cbc938a 100755 --- a/config/cache.php +++ b/config/cache.php @@ -1,5 +1,7 @@ [ - // Memcached::OPT_CONNECT_TIMEOUT => 2000, + // Memcached::OPT_CONNECT_TIMEOUT => 2000, ], 'servers' => [ [ @@ -70,7 +73,16 @@ 'redis' => [ 'driver' => 'redis', - 'connection' => 'default', + 'connection' => 'cache', + ], + + 'dynamodb' => [ + 'driver' => 'dynamodb', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'endpoint' => env('DYNAMODB_ENDPOINT'), ], ], @@ -86,6 +98,6 @@ | */ - 'prefix' => 'laravel', + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'), ]; diff --git a/config/database.php b/config/database.php index 7e50442e..273e1f6e 100755 --- a/config/database.php +++ b/config/database.php @@ -1,6 +1,9 @@ [ + 'sqlite' => [ 'driver' => 'sqlite', + 'url' => env('DATABASE_URL'), 'database' => env('DB_DATABASE', database_path('database.sqlite')), - 'foreign_key_constraints' => true, 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), ], 'mysql' => [ - 'driver' => 'mysql', - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => 'utf8mb4', - 'collation' => 'utf8mb4_unicode_ci', - 'prefix' => '', - 'strict' => false, //If you set strict to true, then make sure to enable which modes you want to enable by looking at 'modes' key in this config - 'engine' => null, - 'modes' => [ - // "ONLY_FULL_GROUP_BY", - // "STRICT_TRANS_TABLES", - // "NO_ZERO_IN_DATE", - // "NO_ZERO_DATE", - // "ERROR_FOR_DIVISION_BY_ZERO", - // "NO_AUTO_CREATE_USER", - // "NO_ENGINE_SUBSTITUTION", - ], + 'driver' => 'mysql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], ], 'pgsql' => [ - 'driver' => 'pgsql', - 'host' => env('DB_HOST', '127.0.0.1'), - 'port' => env('DB_PORT', '5432'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), - 'password' => env('DB_PASSWORD', ''), - 'charset' => 'utf8', - 'prefix' => '', - 'schema' => 'public', - 'sslmode' => 'prefer', + 'driver' => 'pgsql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + 'schema' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, ], + ], /* @@ -95,19 +112,36 @@ |-------------------------------------------------------------------------- | | Redis is an open source, fast, and advanced key-value store that also - | provides a richer set of commands than a typical key-value systems + | provides a richer body of commands than a typical key-value system | such as APC or Memcached. Laravel makes it easy to dig right in. | */ 'redis' => [ - 'client' => 'predis', + + 'client' => env('REDIS_CLIENT', 'phpredis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + ], 'default' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', 6379), + 'database' => env('REDIS_DB', 0), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), - 'database' => 0, + 'database' => env('REDIS_CACHE_DB', 1), ], + ], + ]; diff --git a/config/filesystems.php b/config/filesystems.php index f99803df..e92b5c1d 100755 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -13,7 +13,7 @@ | */ - 'default' => 'local', + 'default' => env('FILESYSTEM_DRIVER', 'local'), /* |-------------------------------------------------------------------------- @@ -26,7 +26,7 @@ | */ - 'cloud' => 's3', + 'cloud' => env('FILESYSTEM_CLOUD', 's3'), /* |-------------------------------------------------------------------------- @@ -37,7 +37,7 @@ | may even configure multiple disks of the same driver. Defaults have | been setup for each driver as an example of the required options. | - | Supported Drivers: "local", "ftp", "s3", "rackspace" + | Supported Drivers: "local", "ftp", "sftp", "s3" | */ @@ -57,10 +57,11 @@ 's3' => [ 'driver' => 's3', - 'key' => env('AWS_KEY'), - 'secret' => env('AWS_SECRET'), - 'region' => env('AWS_REGION'), + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), ], ], diff --git a/config/logging.php b/config/logging.php index e0a412a7..d9b7c0ee 100644 --- a/config/logging.php +++ b/config/logging.php @@ -1,5 +1,9 @@ [ 'stack' => [ - 'driver' => 'stack', - 'channels' => ['single'], + 'driver' => 'stack', + 'channels' => ['daily'], + 'ignore_exceptions' => false, ], 'single' => [ @@ -45,7 +51,7 @@ 'driver' => 'daily', 'path' => storage_path('logs/laravel.log'), 'level' => 'debug', - 'days' => 7, + 'days' => 14, ], 'slack' => [ @@ -56,6 +62,25 @@ 'level' => 'critical', ], + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => 'debug', + 'handler' => SyslogUdpHandler::class, + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + ], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'handler' => StreamHandler::class, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + ], + 'syslog' => [ 'driver' => 'syslog', 'level' => 'debug', @@ -65,6 +90,11 @@ 'driver' => 'errorlog', 'level' => 'debug', ], + + 'null' => [ + 'driver' => 'monolog', + 'handler' => NullHandler::class, + ], ], ]; diff --git a/config/mail.php b/config/mail.php index e2a0a4b4..c939f114 100755 --- a/config/mail.php +++ b/config/mail.php @@ -11,8 +11,8 @@ | sending of e-mail. You may specify which one you're using throughout | your application here. By default, Laravel is setup for SMTP mail. | - | Supported: "smtp", "sendmail", "mailgun", "mandrill", "ses", - | "sparkpost", "log", "array" + | Supported: "smtp", "sendmail", "mailgun", "ses", + | "postmark", "log", "array" | */ @@ -29,7 +29,7 @@ | */ - 'host' => env('MAIL_HOST', 'smtp.gmail.com'), + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), /* |-------------------------------------------------------------------------- @@ -56,8 +56,8 @@ */ 'from' => [ - 'address' => env('MAIL_FROM', 'viral.solani@gmail.com'), - 'name' => env('MAIL_FROM_NAME', 'Admin'), + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), ], /* @@ -120,4 +120,17 @@ ], ], + /* + |-------------------------------------------------------------------------- + | Log Channel + |-------------------------------------------------------------------------- + | + | If you are using the "log" driver, you may specify the logging channel + | if you prefer to keep mail messages separate from other log entries + | for simpler reading. Otherwise, the default channel will be used. + | + */ + + 'log_channel' => env('MAIL_LOG_CHANNEL'), + ]; diff --git a/config/queue.php b/config/queue.php index 3a5de83f..3895ab4c 100755 --- a/config/queue.php +++ b/config/queue.php @@ -4,18 +4,16 @@ /* |-------------------------------------------------------------------------- - | Default Queue Driver + | Default Queue Connection Name |-------------------------------------------------------------------------- | | Laravel's queue API supports an assortment of back-ends via a single | API, giving you convenient access to each back-end using the same - | syntax for each one. Here you may set the default queue driver. - | - | Supported: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | syntax for every one. Here you may define a default connection. | */ - 'default' => env('QUEUE_DRIVER', 'sync'), + 'default' => env('QUEUE_CONNECTION', 'sync'), /* |-------------------------------------------------------------------------- @@ -26,6 +24,8 @@ | is used by your application. A default configuration has been added | for each back-end shipped with Laravel. You are free to add more. | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | */ 'connections' => [ @@ -46,22 +46,24 @@ 'host' => 'localhost', 'queue' => 'default', 'retry_after' => 90, + 'block_for' => 0, ], 'sqs' => [ 'driver' => 'sqs', - 'key' => 'your-public-key', - 'secret' => 'your-secret-key', - 'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id', - 'queue' => 'your-queue-name', - 'region' => 'us-east-1', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'your-queue-name'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), ], 'redis' => [ 'driver' => 'redis', 'connection' => 'default', - 'queue' => 'default', + 'queue' => env('REDIS_QUEUE', 'default'), 'retry_after' => 90, + 'block_for' => null, ], ], @@ -78,6 +80,7 @@ */ 'failed' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database'), 'database' => env('DB_CONNECTION', 'mysql'), 'table' => 'failed_jobs', ], diff --git a/config/services.php b/config/services.php index b0060db3..3215b423 100755 --- a/config/services.php +++ b/config/services.php @@ -1,7 +1,5 @@ [ - 'domain' => env('MAILGUN_DOMAIN'), - 'secret' => env('MAILGUN_SECRET'), - ], - - 'ses' => [ - 'key' => env('SES_KEY'), - 'secret' => env('SES_SECRET'), - 'region' => 'us-east-1', - ], - - 'sparkpost' => [ - 'secret' => env('SPARKPOST_SECRET'), + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), ], - 'stripe' => [ - 'model' => User::class, - 'key' => env('STRIPE_KEY'), - 'secret' => env('STRIPE_SECRET'), + 'postmark' => [ + 'token' => env('POSTMARK_TOKEN'), ], - /* - * Socialite Credentials - * Redirect URL's need to be the same as specified on each network you set up this application on - * as well as conform to the route: - * http://localhost/public/login/SERVICE - * Where service can github, facebook, twitter, google, linkedin, or bitbucket - * Docs: https://github.com/laravel/socialite - * Make sure 'scopes' and 'with' are arrays, if their are none, use empty arrays [] - */ - 'bitbucket' => [ - 'client_id' => env('BITBUCKET_CLIENT_ID'), - 'client_secret' => env('BITBUCKET_CLIENT_SECRET'), - 'redirect' => env('BITBUCKET_REDIRECT'), - 'scopes' => [], - 'with' => [], - ], - - 'facebook' => [ - 'client_id' => env('FACEBOOK_CLIENT_ID'), - 'client_secret' => env('FACEBOOK_CLIENT_SECRET'), - 'redirect' => env('FACEBOOK_REDIRECT'), - 'scopes' => [], - 'with' => [], - 'fields' => [], - ], - - 'github' => [ - 'client_id' => env('GITHUB_CLIENT_ID'), - 'client_secret' => env('GITHUB_CLIENT_SECRET'), - 'redirect' => env('GITHUB_REDIRECT'), - 'scopes' => [], - 'with' => [], - ], - - 'google' => [ - 'client_id' => env('GOOGLE_CLIENT_ID'), - 'client_secret' => env('GOOGLE_CLIENT_SECRET'), - 'redirect' => env('GOOGLE_REDIRECT'), - - /* - * Only allows google to grab email address - * Default scopes array also has: 'https://www.googleapis.com/auth/plus.login' - * https://medium.com/@njovin/fixing-laravel-socialite-s-google-permissions-2b0ef8c18205 - */ - 'scopes' => [ - 'https://www.googleapis.com/auth/plus.me', - 'https://www.googleapis.com/auth/plus.profile.emails.read', - ], - - 'with' => [], - ], - - 'linkedin' => [ - 'client_id' => env('LINKEDIN_CLIENT_ID'), - 'client_secret' => env('LINKEDIN_CLIENT_SECRET'), - 'redirect' => env('LINKEDIN_REDIRECT'), - 'scopes' => [], - 'with' => [], - 'fields' => [], + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), ], - 'twitter' => [ - 'client_id' => env('TWITTER_CLIENT_ID'), - 'client_secret' => env('TWITTER_CLIENT_SECRET'), - 'redirect' => env('TWITTER_REDIRECT'), - 'scopes' => [], - 'with' => [], - ], ]; diff --git a/database/factories/PageFactory.php b/database/factories/PageFactory.php index a18bee47..922c0e8b 100644 --- a/database/factories/PageFactory.php +++ b/database/factories/PageFactory.php @@ -3,6 +3,7 @@ use App\Models\Access\User\User; use App\Models\Page\Page; use Faker\Generator as Faker; +use Illuminate\Support\Str; $factory->define(Page::class, function (Faker $faker) { $title = $faker->sentence; @@ -11,9 +12,9 @@ return [ 'title' => $title, - 'page_slug' => str_slug($title), + 'page_slug' => Str::slug($title), 'description' => $faker->paragraph, - 'cannonical_link' => 'http://localhost:8000/'.str_slug($title), + 'cannonical_link' => 'http://localhost:8000/'.Str::slug($title), 'created_by' => function () { return factory(User::class)->create()->id; }, diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index c7fb4fb2..2ae833f6 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -2,6 +2,7 @@ use App\Models\Access\User\User; use Faker\Generator; +use Illuminate\Support\Str; $factory->define(User::class, function (Generator $faker) { static $password; @@ -12,7 +13,7 @@ 'email' => $faker->safeEmail, 'password' => $password ?: $password = bcrypt('secret'), 'confirmation_code' => md5(uniqid(mt_rand(), true)), - 'remember_token' => str_random(10), + 'remember_token' => Str::random(10), ]; }); diff --git a/docker-compose.yml b/docker-compose.yml index 2ddc97f4..a5461388 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3" +version: "2" services: app: @@ -9,7 +9,7 @@ services: dockerfile: Dockerfile restart: always ports: - - 80:80 + - 8080:80 volumes: - .:/var/www/html/ mysql: diff --git a/routes/Backend/Helpers.php b/routes/Backend/Helpers.php index dd1f383a..cf688c00 100644 --- a/routes/Backend/Helpers.php +++ b/routes/Backend/Helpers.php @@ -1,8 +1,10 @@ name('generate.slug'); diff --git a/tests/BrowserKitTestCase.php b/tests/BrowserKitTestCase.php index 37c3af38..b35d8be5 100644 --- a/tests/BrowserKitTestCase.php +++ b/tests/BrowserKitTestCase.php @@ -50,7 +50,7 @@ abstract class BrowserKitTestCase extends BaseTestCase */ protected $userRole; - public function setUp(): void + protected function setUp(): void { parent::setUp(); @@ -76,7 +76,7 @@ public function setUp(): void $this->userRole = Role::find(3); } - public function tearDown(): void + protected function tearDown(): void { $this->beforeApplicationDestroyed(function () { DB::disconnect(); diff --git a/tests/TestCase.php b/tests/TestCase.php index fd7bade6..543c24a0 100755 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -54,7 +54,7 @@ public function signIn($user = null) /** * Set up tests. */ - public function setUp(): void + protected function setUp(): void { parent::setUp(); @@ -80,7 +80,7 @@ public function setUp(): void $this->userRole = Role::find(3); } - public function tearDown(): void + protected function tearDown(): void { $this->beforeApplicationDestroyed(function () { DB::disconnect();