diff --git a/app/Exceptions/Trackers/Bugsnag.php b/app/Exceptions/Trackers/Bugsnag.php index 1ec5a68f3..7e5e0e497 100644 --- a/app/Exceptions/Trackers/Bugsnag.php +++ b/app/Exceptions/Trackers/Bugsnag.php @@ -3,6 +3,7 @@ namespace App\Exceptions\Trackers; use App\Traits\Trackers as Base; +use Akaunting\Version\Version; use Throwable; class Bugsnag @@ -11,7 +12,7 @@ class Bugsnag public static function beforeSend(Throwable $e): void { - app('bugsnag')->setAppVersion(version('short')); + app('bugsnag')->setAppVersion(Version::short()); $tags = static::getTrackerTags(); diff --git a/app/Exceptions/Trackers/Sentry.php b/app/Exceptions/Trackers/Sentry.php index e345c91c0..844919574 100644 --- a/app/Exceptions/Trackers/Sentry.php +++ b/app/Exceptions/Trackers/Sentry.php @@ -2,6 +2,7 @@ namespace App\Exceptions\Trackers; +use Akaunting\Version\Version; use App\Traits\Trackers as Base; use Illuminate\Support\Str; use Sentry\Event; @@ -14,7 +15,7 @@ class Sentry public static function beforeSend(Event $event, ?EventHint $hint): ?Event { - $event->setRelease(version('short')); + $event->setRelease(Version::short()); $tags = static::getTrackerTags(); diff --git a/app/Http/Livewire/Menu/Settings.php b/app/Http/Livewire/Menu/Settings.php index a293591d2..8d39b5f54 100644 --- a/app/Http/Livewire/Menu/Settings.php +++ b/app/Http/Livewire/Menu/Settings.php @@ -52,25 +52,23 @@ class Settings extends Component public function addSettingsOfModulesFromJsonFile($menu): void { // Get enabled modules - $enabled_modules = Module::enabled()->get(); + $enabled_modules = module()->allEnabled(); $order = 110; foreach ($enabled_modules as $module) { - $m = module($module->alias); - - // Check if the module exists and has settings - if (!$m || empty($m->get('settings'))) { + // Check if the module has settings + if (empty($module->get('settings'))) { continue; } - if ($this->user->cannot('read-' . $m->getAlias() . '-settings')) { + if ($this->user->cannot('read-' . $module->getAlias() . '-settings')) { continue; } - $menu->route('settings.module.edit', $m->getName(), ['alias' => $m->getAlias()], $m->get('setting_order', $order), [ - 'icon' => $m->get('icon', 'custom-akaunting'), - 'search_keywords' => $m->getDescription(), + $menu->route('settings.module.edit', $module->getName(), ['alias' => $module->getAlias()], $module->get('setting_order', $order), [ + 'icon' => $module->get('icon', 'custom-akaunting'), + 'search_keywords' => $module->getDescription(), ]); $order += 10; diff --git a/app/Http/Middleware/IdentifyCompany.php b/app/Http/Middleware/IdentifyCompany.php index c318b4b9c..f32c7767a 100644 --- a/app/Http/Middleware/IdentifyCompany.php +++ b/app/Http/Middleware/IdentifyCompany.php @@ -2,15 +2,14 @@ namespace App\Http\Middleware; +use App\Traits\Companies; use App\Traits\Users; use Closure; use Illuminate\Auth\AuthenticationException; class IdentifyCompany { - use Users; - - public $request; + use Companies, Users; /** * Handle an incoming request. @@ -57,44 +56,4 @@ class IdentifyCompany return $next($this->request); } - - protected function getCompanyId() - { - if ($company_id = company_id()) { - return $company_id; - } - - if ($this->request->isApi()) { - return $this->getCompanyIdFromApi(); - } - - return $this->getCompanyIdFromWeb(); - } - - protected function getCompanyIdFromWeb() - { - return $this->getCompanyIdFromRoute() ?: ($this->getCompanyIdFromQuery() ?: $this->getCompanyIdFromHeader()); - } - - protected function getCompanyIdFromApi() - { - $company_id = $this->getCompanyIdFromQuery() ?: $this->getCompanyIdFromHeader(); - - return $company_id ?: $this->getFirstCompanyOfUser()?->id; - } - - protected function getCompanyIdFromRoute() - { - return (int) $this->request->route('company_id'); - } - - protected function getCompanyIdFromQuery() - { - return (int) $this->request->query('company_id'); - } - - protected function getCompanyIdFromHeader() - { - return (int) $this->request->header('X-Company'); - } } diff --git a/app/Traits/Cloud.php b/app/Traits/Cloud.php index 1eaa17124..f68db4acc 100644 --- a/app/Traits/Cloud.php +++ b/app/Traits/Cloud.php @@ -36,9 +36,8 @@ trait Cloud ]); } - // @deprecated 3.1 public function isCloud() { - return request()->isCloudHost(); + return request()->getHost() == config('cloud.host', 'app.akaunting.com'); } } diff --git a/app/Traits/Companies.php b/app/Traits/Companies.php new file mode 100644 index 000000000..e5cd342a2 --- /dev/null +++ b/app/Traits/Companies.php @@ -0,0 +1,62 @@ +request ?: request(); + + if ($this->isCompanyApiRequest($request)) { + return $this->getCompanyIdFromApi($request); + } + + return $this->getCompanyIdFromWeb($request); + } + + public function getCompanyIdFromWeb($request) + { + return $this->getCompanyIdFromRoute($request) ?: ($this->getCompanyIdFromQuery($request) ?: $this->getCompanyIdFromHeader($request)); + } + + public function getCompanyIdFromApi($request) + { + $company_id = $this->getCompanyIdFromQuery($request) ?: $this->getCompanyIdFromHeader($request); + + return $company_id ?: $this->getFirstCompanyOfUser()?->id; + } + + public function getCompanyIdFromRoute($request) + { + $route_id = (int) $request->route('company_id'); + $segment_id = (int) $request->segment(1); + + return $route_id ?: $segment_id; + } + + public function getCompanyIdFromQuery($request) + { + return (int) $request->query('company_id'); + } + + public function getCompanyIdFromHeader($request) + { + return (int) $request->header('X-Company'); + } + + public function isCompanyApiRequest($request) + { + return $request->is(config('api.prefix') . '/*'); + } +} diff --git a/app/Traits/Modules.php b/app/Traits/Modules.php index 92002a249..09c57386f 100644 --- a/app/Traits/Modules.php +++ b/app/Traits/Modules.php @@ -3,6 +3,7 @@ namespace App\Traits; use App\Models\Module\Module; +use App\Traits\Cloud; use App\Traits\SiteApi; use App\Utilities\Date; use App\Utilities\Info; @@ -415,29 +416,7 @@ trait Modules return false; } - if (request()->isCloudHost()) { - static $modules; - - if (empty($modules)) { - $modules = Cache::get('cloud.companies.' . company_id() . '.modules.installed', []); - } - - if (in_array($alias, $modules)) { - return true; - } - - return false; - } - - if (module($alias)->disabled()) { - return false; - } - - if (! Module::alias($alias)->enabled()->first()) { - return false; - } - - return true; + return module($alias)->enabled(); } public function moduleIsDisabled($alias): bool @@ -445,6 +424,23 @@ trait Modules return ! $this->moduleIsEnabled($alias); } + public function loadSubscriptions() + { + $key = 'apps.subscriptions'; + + return Cache::remember($key, Date::now()->addHours(6), function () { + $data = []; + + if (! is_cloud()) { + $data['headers'] = [ + 'X-Akaunting-Modules' => implode(',', module()->getAvailable()), + ]; + } + + return (array) static::getResponseData('GET', 'apps/subscriptions', $data); + }); + } + public function loadSuggestions() { $key = 'apps.suggestions'; @@ -496,6 +492,17 @@ trait Modules }); } + public function getSubscription($alias) + { + $data = $this->loadSubscriptions(); + + if (! empty($data) && array_key_exists($alias, $data)) { + return $data[$alias]; + } + + return false; + } + public function getSuggestions($path) { $data = $this->loadSuggestions(); diff --git a/app/Traits/SiteApi.php b/app/Traits/SiteApi.php index ed424abc4..e6650bd14 100644 --- a/app/Traits/SiteApi.php +++ b/app/Traits/SiteApi.php @@ -3,6 +3,7 @@ namespace App\Traits; use App\Utilities\Info; +use Akaunting\Version\Version; use Exception; use GuzzleHttp\Client; use GuzzleHttp\Exception\ConnectException; @@ -20,7 +21,7 @@ trait SiteApi 'Authorization' => 'Bearer ' . setting('apps.api_key'), 'Accept' => 'application/json', 'Referer' => app()->runningInConsole() ? config('app.url') : url('/'), - 'Akaunting' => version('short'), + 'Akaunting' => Version::short(), 'Language' => language()->getShortCode(), 'Information' => json_encode(Info::all()), ]; diff --git a/app/Utilities/Info.php b/app/Utilities/Info.php index e0aa22e73..c8e945025 100644 --- a/app/Utilities/Info.php +++ b/app/Utilities/Info.php @@ -2,10 +2,10 @@ namespace App\Utilities; +use Akaunting\Version\Version; use App\Models\Common\Company; use App\Models\Common\Contact; use App\Models\Document\Document; -use App\Traits\Cloud; use Composer\InstalledVersions; use Illuminate\Support\Facades\DB; @@ -20,7 +20,7 @@ class Info 'ip' => static::ip(), ]; - if (! empty($info) || request()->isCloudHost()) { + if (! empty($info) || is_cloud()) { return array_merge($info, $basic); } @@ -44,7 +44,7 @@ class Info } $versions = [ - 'akaunting' => version('short'), + 'akaunting' => Version::short(), 'laravel' => InstalledVersions::getPrettyVersion('laravel/framework'), 'php' => static::phpVersion(), 'mysql' => static::mysqlVersion(), diff --git a/app/Utilities/ModuleActivator.php b/app/Utilities/ModuleActivator.php new file mode 100644 index 000000000..a1c8a0597 --- /dev/null +++ b/app/Utilities/ModuleActivator.php @@ -0,0 +1,145 @@ +cache = $app['cache']; + $this->config = $app['config']; + $this->statuses = $this->getStatuses(); + } + + public function is(Module $module, bool $active): bool + { + if (! isset($this->statuses[$module->getAlias()])) { + if (empty($this->company_id)) { + $company_id = $this->getCompanyId(); + + if (empty($company_id)) { + return false; + } + + $this->company_id = $company_id; + } + + $model = Model::companyId($this->company_id)->alias($module->getAlias())->get('enabled')->first(); + $status = $model ? $model->enabled : false; + + $this->setActive($module, $status); + } + + return $this->statuses[$module->getAlias()] === $active; + } + + public function enable(Module $module): void + { + $this->setActive($module, true); + } + + public function disable(Module $module): void + { + $this->setActive($module, false); + } + + public function setActive(Module $module, bool $active): void + { + $this->statuses[$module->getAlias()] = $active; + + Model::alias($module->getAlias())->updateOrCreate([ + 'enabled' => $active, + ], [ + 'company_id' => $this->company_id, + 'alias' => $module->getAlias(), + 'created_from' => 'core::activator', + ]); + + $this->flushCache(); + } + + public function delete(Module $module): void + { + if (! isset($this->statuses[$module->getAlias()])) { + return; + } + + unset($this->statuses[$module->getAlias()]); + + Model::alias($module->getAlias())->delete(); + + $this->flushCache(); + } + + public function getStatuses(): array + { + if (! $this->config->get('module.cache.enabled')) { + return $this->readDatabase(); + } + + $key = $this->config->get('module.cache.key') . '.statuses'; + $lifetime = $this->config->get('module.cache.lifetime'); + + return $this->cache->remember($key, $lifetime, function () { + return $this->readDatabase(); + }); + } + + public function readDatabase(): array + { + $company_id = $this->getCompanyId(); + + if (empty($company_id)) { + return []; + } + + $this->company_id = $company_id; + + $modules = Model::companyId($this->company_id)->pluck('enabled', 'alias')->toArray(); + + foreach ($modules as $alias => $enabled) { + $subscription = $this->getSubscription($alias); + + if (! is_object($subscription)) { + continue; + } + + $modules[$alias] = $subscription->status; + } + + return $modules; + } + + public function reset(): void + { + $this->statuses = []; + + $this->flushCache(); + } + + public function flushCache(): void + { + $key = $this->config->get('module.cache.key') . '.statuses'; + + $this->cache->forget($key); + } +} diff --git a/app/Utilities/Reports.php b/app/Utilities/Reports.php index 05a5dec1f..d36f8a5c6 100644 --- a/app/Utilities/Reports.php +++ b/app/Utilities/Reports.php @@ -114,7 +114,7 @@ class Reports return true; } - if (Module::alias($alias)->enabled()->first()) { + if (module_is_enabled($alias)) { return true; } diff --git a/app/Utilities/Widgets.php b/app/Utilities/Widgets.php index 7d2ebc04b..277f255a2 100644 --- a/app/Utilities/Widgets.php +++ b/app/Utilities/Widgets.php @@ -156,7 +156,7 @@ class Widgets return true; } - if (Module::alias($alias)->enabled()->first()) { + if (module_is_enabled($alias)) { return true; } diff --git a/app/Utilities/helpers.php b/app/Utilities/helpers.php index 91ab6d388..73063b986 100644 --- a/app/Utilities/helpers.php +++ b/app/Utilities/helpers.php @@ -1,6 +1,7 @@ moduleIsEnabled($alias); } @@ -129,9 +128,7 @@ if (! function_exists('source_name')) { */ function source_name(string|null $alias = null): string { - $tmp = new class() { - use Sources; - }; + $tmp = new class() { use Sources; }; return $tmp->getSourceName(null, $alias); } @@ -307,3 +304,12 @@ if (! function_exists('search_string_value')) { return $search->getSearchStringValue($name, $default, $input); } } + +if (! function_exists('is_cloud')) { + function is_cloud(): bool + { + $cloud = new class() { use Cloud; }; + + return $cloud->isCloud(); + } +} diff --git a/composer.json b/composer.json index fdd258697..793ec89e9 100644 --- a/composer.json +++ b/composer.json @@ -32,7 +32,7 @@ "akaunting/laravel-firewall": "^2.0", "akaunting/laravel-language": "^1.0", "akaunting/laravel-menu": "^3.0", - "akaunting/laravel-module": "^3.0", + "akaunting/laravel-module": "^4.0", "akaunting/laravel-money": "^5.0", "akaunting/laravel-mutable-observer": "^2.0", "akaunting/laravel-setting": "^1.2", diff --git a/composer.lock b/composer.lock index 3758fdef3..e31f0db6b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d176cc8d87916f97ee94bee140cdb8ad", + "content-hash": "a881332461ad08fff484880b91aa4c2e", "packages": [ { "name": "akaunting/laravel-apexcharts", @@ -271,16 +271,16 @@ }, { "name": "akaunting/laravel-menu", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/akaunting/laravel-menu.git", - "reference": "913c6b1c53f7596cff7fea69afe76ba3f9cc22c0" + "reference": "5177c7ccdadc6e82a6426e6861296cbf14d84043" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/laravel-menu/zipball/913c6b1c53f7596cff7fea69afe76ba3f9cc22c0", - "reference": "913c6b1c53f7596cff7fea69afe76ba3f9cc22c0", + "url": "https://api.github.com/repos/akaunting/laravel-menu/zipball/5177c7ccdadc6e82a6426e6861296cbf14d84043", + "reference": "5177c7ccdadc6e82a6426e6861296cbf14d84043", "shasum": "" }, "require": { @@ -337,22 +337,22 @@ ], "support": { "issues": "https://github.com/akaunting/laravel-menu/issues", - "source": "https://github.com/akaunting/laravel-menu/tree/3.1.0" + "source": "https://github.com/akaunting/laravel-menu/tree/3.1.1" }, - "time": "2023-03-04T13:08:39+00:00" + "time": "2023-10-17T07:38:40+00:00" }, { "name": "akaunting/laravel-module", - "version": "3.0.2", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/akaunting/laravel-module.git", - "reference": "848e1f38c3375bddb75229afb27d73e4fe023330" + "reference": "9aba233a9349c0e8b6c3ebab142e77acb77bcaa3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/laravel-module/zipball/848e1f38c3375bddb75229afb27d73e4fe023330", - "reference": "848e1f38c3375bddb75229afb27d73e4fe023330", + "url": "https://api.github.com/repos/akaunting/laravel-module/zipball/9aba233a9349c0e8b6c3ebab142e77acb77bcaa3", + "reference": "9aba233a9349c0e8b6c3ebab142e77acb77bcaa3", "shasum": "" }, "require": { @@ -403,9 +403,9 @@ ], "support": { "issues": "https://github.com/akaunting/laravel-module/issues", - "source": "https://github.com/akaunting/laravel-module/tree/3.0.2" + "source": "https://github.com/akaunting/laravel-module/tree/4.0.2" }, - "time": "2023-10-08T17:24:14+00:00" + "time": "2023-10-25T08:20:01+00:00" }, { "name": "akaunting/laravel-money", @@ -730,16 +730,16 @@ }, { "name": "akaunting/module-offline-payments", - "version": "3.0.2", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/akaunting/module-offline-payments.git", - "reference": "9ac105c829da615f244ecbebdb42295824c32c78" + "reference": "14c9e485ed84fe6221ecec00a9912637da4f461e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/module-offline-payments/zipball/9ac105c829da615f244ecbebdb42295824c32c78", - "reference": "9ac105c829da615f244ecbebdb42295824c32c78", + "url": "https://api.github.com/repos/akaunting/module-offline-payments/zipball/14c9e485ed84fe6221ecec00a9912637da4f461e", + "reference": "14c9e485ed84fe6221ecec00a9912637da4f461e", "shasum": "" }, "type": "library", @@ -758,22 +758,22 @@ ], "support": { "issues": "https://github.com/akaunting/module-offline-payments/issues", - "source": "https://github.com/akaunting/module-offline-payments/tree/3.0.2" + "source": "https://github.com/akaunting/module-offline-payments/tree/3.0.3" }, - "time": "2023-07-06T10:00:06+00:00" + "time": "2023-10-19T09:17:59+00:00" }, { "name": "akaunting/module-paypal-standard", - "version": "3.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/akaunting/module-paypal-standard.git", - "reference": "dbd7d2efadfcd99937a875abc335529fddf47739" + "reference": "745af131e857d40c56e43e646cee297821192043" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/akaunting/module-paypal-standard/zipball/dbd7d2efadfcd99937a875abc335529fddf47739", - "reference": "dbd7d2efadfcd99937a875abc335529fddf47739", + "url": "https://api.github.com/repos/akaunting/module-paypal-standard/zipball/745af131e857d40c56e43e646cee297821192043", + "reference": "745af131e857d40c56e43e646cee297821192043", "shasum": "" }, "type": "library", @@ -792,22 +792,22 @@ ], "support": { "issues": "https://github.com/akaunting/module-paypal-standard/issues", - "source": "https://github.com/akaunting/module-paypal-standard/tree/3.0.1" + "source": "https://github.com/akaunting/module-paypal-standard/tree/3.0.2" }, - "time": "2023-07-06T10:03:44+00:00" + "time": "2023-10-19T09:03:36+00:00" }, { "name": "aws/aws-crt-php", - "version": "v1.2.2", + "version": "v1.2.3", "source": { "type": "git", "url": "https://github.com/awslabs/aws-crt-php.git", - "reference": "2f1dc7b7eda080498be96a4a6d683a41583030e9" + "reference": "5545a4fa310aec39f54279fdacebcce33b3ff382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/2f1dc7b7eda080498be96a4a6d683a41583030e9", - "reference": "2f1dc7b7eda080498be96a4a6d683a41583030e9", + "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/5545a4fa310aec39f54279fdacebcce33b3ff382", + "reference": "5545a4fa310aec39f54279fdacebcce33b3ff382", "shasum": "" }, "require": { @@ -846,26 +846,26 @@ ], "support": { "issues": "https://github.com/awslabs/aws-crt-php/issues", - "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.2" + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.3" }, - "time": "2023-07-20T16:49:55+00:00" + "time": "2023-10-16T20:10:06+00:00" }, { "name": "aws/aws-sdk-php", - "version": "3.283.2", + "version": "3.283.11", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "6616677d76e39af28138512740199d38a461859f" + "reference": "348b68edcc83062c329cf7540c4c92d061d27d9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/6616677d76e39af28138512740199d38a461859f", - "reference": "6616677d76e39af28138512740199d38a461859f", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/348b68edcc83062c329cf7540c4c92d061d27d9c", + "reference": "348b68edcc83062c329cf7540c4c92d061d27d9c", "shasum": "" }, "require": { - "aws/aws-crt-php": "^1.0.4", + "aws/aws-crt-php": "^1.2.3", "ext-json": "*", "ext-pcre": "*", "ext-simplexml": "*", @@ -941,9 +941,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.283.2" + "source": "https://github.com/aws/aws-sdk-php/tree/3.283.11" }, - "time": "2023-10-06T18:09:54+00:00" + "time": "2023-10-24T18:10:38+00:00" }, { "name": "balping/json-raw-encoder", @@ -1297,16 +1297,16 @@ }, { "name": "bkwld/cloner", - "version": "3.11.1", + "version": "3.11.2", "source": { "type": "git", "url": "https://github.com/BKWLD/cloner.git", - "reference": "18fbd1c42dfe10991f964c3668be61e05e414ab6" + "reference": "ebce0acded4cd4aeb92eb0bdb2f946fa7e1aa9f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/BKWLD/cloner/zipball/18fbd1c42dfe10991f964c3668be61e05e414ab6", - "reference": "18fbd1c42dfe10991f964c3668be61e05e414ab6", + "url": "https://api.github.com/repos/BKWLD/cloner/zipball/ebce0acded4cd4aeb92eb0bdb2f946fa7e1aa9f4", + "reference": "ebce0acded4cd4aeb92eb0bdb2f946fa7e1aa9f4", "shasum": "" }, "require": { @@ -1350,9 +1350,9 @@ "description": "A trait for Laravel Eloquent models that lets you clone of a model and it's relationships, including files.", "support": { "issues": "https://github.com/BKWLD/cloner/issues", - "source": "https://github.com/BKWLD/cloner/tree/3.11.1" + "source": "https://github.com/BKWLD/cloner/tree/3.11.2" }, - "time": "2023-04-20T00:19:55+00:00" + "time": "2023-10-17T14:34:42+00:00" }, { "name": "brick/math", @@ -1809,16 +1809,16 @@ }, { "name": "composer/pcre", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", "shasum": "" }, "require": { @@ -1860,7 +1860,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" + "source": "https://github.com/composer/pcre/tree/3.1.1" }, "funding": [ { @@ -1876,7 +1876,7 @@ "type": "tidelift" } ], - "time": "2022-11-17T09:50:14+00:00" + "time": "2023-10-11T07:11:09+00:00" }, { "name": "composer/semver", @@ -2215,16 +2215,16 @@ }, { "name": "doctrine/dbal", - "version": "3.7.0", + "version": "3.7.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "00d03067f07482f025d41ab55e4ba0db5eca2cdf" + "reference": "5b7bd66c9ff58c04c5474ab85edce442f8081cb2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/00d03067f07482f025d41ab55e4ba0db5eca2cdf", - "reference": "00d03067f07482f025d41ab55e4ba0db5eca2cdf", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/5b7bd66c9ff58c04c5474ab85edce442f8081cb2", + "reference": "5b7bd66c9ff58c04c5474ab85edce442f8081cb2", "shasum": "" }, "require": { @@ -2308,7 +2308,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.7.0" + "source": "https://github.com/doctrine/dbal/tree/3.7.1" }, "funding": [ { @@ -2324,7 +2324,7 @@ "type": "tidelift" } ], - "time": "2023-09-26T20:56:55+00:00" + "time": "2023-10-06T05:06:20+00:00" }, { "name": "doctrine/deprecations", @@ -2885,21 +2885,21 @@ }, { "name": "fruitcake/php-cors", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/fruitcake/php-cors.git", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e" + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", "shasum": "" }, "require": { "php": "^7.4|^8.0", - "symfony/http-foundation": "^4.4|^5.4|^6" + "symfony/http-foundation": "^4.4|^5.4|^6|^7" }, "require-dev": { "phpstan/phpstan": "^1.4", @@ -2909,7 +2909,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.1-dev" + "dev-master": "1.2-dev" } }, "autoload": { @@ -2940,7 +2940,7 @@ ], "support": { "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/v1.2.0" + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" }, "funding": [ { @@ -2952,7 +2952,7 @@ "type": "github" } ], - "time": "2022-02-20T15:07:15+00:00" + "time": "2023-10-12T05:21:21+00:00" }, { "name": "genealabs/laravel-model-caching", @@ -4968,16 +4968,16 @@ }, { "name": "laravel/framework", - "version": "v10.26.2", + "version": "v10.29.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "6e5440f7c518f26b4495e5d7e4796ec239e26df9" + "reference": "2d002849a16ad131110a50cbea4d64dbb78515a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/6e5440f7c518f26b4495e5d7e4796ec239e26df9", - "reference": "6e5440f7c518f26b4495e5d7e4796ec239e26df9", + "url": "https://api.github.com/repos/laravel/framework/zipball/2d002849a16ad131110a50cbea4d64dbb78515a3", + "reference": "2d002849a16ad131110a50cbea4d64dbb78515a3", "shasum": "" }, "require": { @@ -5010,7 +5010,7 @@ "symfony/console": "^6.2", "symfony/error-handler": "^6.2", "symfony/finder": "^6.2", - "symfony/http-foundation": "^6.2", + "symfony/http-foundation": "^6.3", "symfony/http-kernel": "^6.2", "symfony/mailer": "^6.2", "symfony/mime": "^6.2", @@ -5077,13 +5077,15 @@ "league/flysystem-read-only": "^3.3", "league/flysystem-sftp-v3": "^3.0", "mockery/mockery": "^1.5.1", + "nyholm/psr7": "^1.2", "orchestra/testbench-core": "^8.12", "pda/pheanstalk": "^4.0", "phpstan/phpstan": "^1.4.7", "phpunit/phpunit": "^10.0.7", "predis/predis": "^2.0.2", "symfony/cache": "^6.2", - "symfony/http-client": "^6.2.4" + "symfony/http-client": "^6.2.4", + "symfony/psr-http-message-bridge": "^2.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", @@ -5164,27 +5166,27 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-03T14:24:20+00:00" + "time": "2023-10-24T13:48:53+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.11", + "version": "v0.1.12", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "cce65a90e64712909ea1adc033e1d88de8455ffd" + "reference": "b35f249028c22016e45e48626e19e5d42fd827ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/cce65a90e64712909ea1adc033e1d88de8455ffd", - "reference": "cce65a90e64712909ea1adc033e1d88de8455ffd", + "url": "https://api.github.com/repos/laravel/prompts/zipball/b35f249028c22016e45e48626e19e5d42fd827ff", + "reference": "b35f249028c22016e45e48626e19e5d42fd827ff", "shasum": "" }, "require": { "ext-mbstring": "*", "illuminate/collections": "^10.0|^11.0", "php": "^8.1", - "symfony/console": "^6.2" + "symfony/console": "^6.2|^7.0" }, "conflict": { "illuminate/console": ">=10.17.0 <10.25.0", @@ -5219,9 +5221,9 @@ ], "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.11" + "source": "https://github.com/laravel/prompts/tree/v0.1.12" }, - "time": "2023-10-03T01:07:35+00:00" + "time": "2023-10-18T14:18:57+00:00" }, { "name": "laravel/sanctum", @@ -5291,16 +5293,16 @@ }, { "name": "laravel/serializable-closure", - "version": "v1.3.1", + "version": "v1.3.2", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902" + "reference": "076fe2cf128bd54b4341cdc6d49b95b34e101e4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/e5a3057a5591e1cfe8183034b0203921abe2c902", - "reference": "e5a3057a5591e1cfe8183034b0203921abe2c902", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/076fe2cf128bd54b4341cdc6d49b95b34e101e4c", + "reference": "076fe2cf128bd54b4341cdc6d49b95b34e101e4c", "shasum": "" }, "require": { @@ -5347,7 +5349,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2023-07-14T13:56:28+00:00" + "time": "2023-10-17T13:38:16+00:00" }, { "name": "laravel/slack-notification-channel", @@ -5804,16 +5806,16 @@ }, { "name": "league/flysystem", - "version": "3.17.0", + "version": "3.18.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "bd4c9b26849d82364119c68429541f1631fba94b" + "reference": "015633a05aee22490495159237a5944091d8281e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/bd4c9b26849d82364119c68429541f1631fba94b", - "reference": "bd4c9b26849d82364119c68429541f1631fba94b", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/015633a05aee22490495159237a5944091d8281e", + "reference": "015633a05aee22490495159237a5944091d8281e", "shasum": "" }, "require": { @@ -5842,7 +5844,7 @@ "google/cloud-storage": "^1.23", "microsoft/azure-storage-blob": "^1.1", "phpseclib/phpseclib": "^3.0.14", - "phpstan/phpstan": "^0.12.26", + "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", "sabre/dav": "^4.3.1" }, @@ -5878,7 +5880,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.17.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.18.0" }, "funding": [ { @@ -5890,7 +5892,7 @@ "type": "github" } ], - "time": "2023-10-05T20:15:05+00:00" + "time": "2023-10-20T17:59:40+00:00" }, { "name": "league/flysystem-aws-s3-v3", @@ -5960,16 +5962,16 @@ }, { "name": "league/flysystem-local", - "version": "3.16.0", + "version": "3.18.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "ec7383f25642e6fd4bb0c9554fc2311245391781" + "reference": "e7381ef7643f658b87efb7dbe98fe538fb1bbf32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/ec7383f25642e6fd4bb0c9554fc2311245391781", - "reference": "ec7383f25642e6fd4bb0c9554fc2311245391781", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/e7381ef7643f658b87efb7dbe98fe538fb1bbf32", + "reference": "e7381ef7643f658b87efb7dbe98fe538fb1bbf32", "shasum": "" }, "require": { @@ -6004,7 +6006,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem-local/issues", - "source": "https://github.com/thephpleague/flysystem-local/tree/3.16.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.18.0" }, "funding": [ { @@ -6016,20 +6018,20 @@ "type": "github" } ], - "time": "2023-08-30T10:23:59+00:00" + "time": "2023-10-19T20:07:13+00:00" }, { "name": "league/mime-type-detection", - "version": "1.13.0", + "version": "1.14.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96" + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/a6dfb1194a2946fcdc1f38219445234f65b35c96", - "reference": "a6dfb1194a2946fcdc1f38219445234f65b35c96", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b6a5854368533df0295c5761a0253656a2e52d9e", + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e", "shasum": "" }, "require": { @@ -6060,7 +6062,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.13.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.14.0" }, "funding": [ { @@ -6072,7 +6074,7 @@ "type": "tidelift" } ], - "time": "2023-08-05T12:09:49+00:00" + "time": "2023-10-17T14:13:20+00:00" }, { "name": "league/oauth2-client", @@ -6677,16 +6679,16 @@ }, { "name": "maximebf/debugbar", - "version": "v1.19.0", + "version": "v1.19.1", "source": { "type": "git", "url": "https://github.com/maximebf/php-debugbar.git", - "reference": "30f65f18f7ac086255a77a079f8e0dcdd35e828e" + "reference": "03dd40a1826f4d585ef93ef83afa2a9874a00523" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/30f65f18f7ac086255a77a079f8e0dcdd35e828e", - "reference": "30f65f18f7ac086255a77a079f8e0dcdd35e828e", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/03dd40a1826f4d585ef93ef83afa2a9874a00523", + "reference": "03dd40a1826f4d585ef93ef83afa2a9874a00523", "shasum": "" }, "require": { @@ -6737,9 +6739,9 @@ ], "support": { "issues": "https://github.com/maximebf/php-debugbar/issues", - "source": "https://github.com/maximebf/php-debugbar/tree/v1.19.0" + "source": "https://github.com/maximebf/php-debugbar/tree/v1.19.1" }, - "time": "2023-09-19T19:53:10+00:00" + "time": "2023-10-12T08:10:52+00:00" }, { "name": "mnsami/composer-custom-directory-installer", @@ -8273,31 +8275,26 @@ }, { "name": "php-http/promise", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/php-http/promise.git", - "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88" + "reference": "ef4905bfb492ff389eb7f12e26925a0f20073050" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", - "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", + "url": "https://api.github.com/repos/php-http/promise/zipball/ef4905bfb492ff389eb7f12e26925a0f20073050", + "reference": "ef4905bfb492ff389eb7f12e26925a0f20073050", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.3.2", - "phpspec/phpspec": "^5.1.2 || ^6.2" + "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3", + "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, "autoload": { "psr-4": { "Http\\Promise\\": "src/" @@ -8324,9 +8321,9 @@ ], "support": { "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.1.0" + "source": "https://github.com/php-http/promise/tree/1.2.0" }, - "time": "2020-07-07T09:29:14+00:00" + "time": "2023-10-24T09:20:26+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -9208,16 +9205,16 @@ }, { "name": "psy/psysh", - "version": "v0.11.21", + "version": "v0.11.22", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "bcb22101107f3bf770523b65630c9d547f60c540" + "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/bcb22101107f3bf770523b65630c9d547f60c540", - "reference": "bcb22101107f3bf770523b65630c9d547f60c540", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/128fa1b608be651999ed9789c95e6e2a31b5802b", + "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b", "shasum": "" }, "require": { @@ -9246,7 +9243,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "0.11.x-dev" + "dev-0.11": "0.11.x-dev" }, "bamarni-bin": { "bin-links": false, @@ -9282,9 +9279,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.21" + "source": "https://github.com/bobthecow/psysh/tree/v0.11.22" }, - "time": "2023-09-17T21:15:54+00:00" + "time": "2023-10-14T21:56:36+00:00" }, { "name": "ralouphie/getallheaders", @@ -9828,16 +9825,16 @@ }, { "name": "sentry/sentry", - "version": "3.21.0", + "version": "3.22.0", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "624aafc22b84b089ffa43b71fb01e0096505ec4f" + "reference": "c0e3df5a5c1d133cd9461e7672568ff07042c19d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/624aafc22b84b089ffa43b71fb01e0096505ec4f", - "reference": "624aafc22b84b089ffa43b71fb01e0096505ec4f", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/c0e3df5a5c1d133cd9461e7672568ff07042c19d", + "reference": "c0e3df5a5c1d133cd9461e7672568ff07042c19d", "shasum": "" }, "require": { @@ -9855,7 +9852,7 @@ "psr/http-factory": "^1.0", "psr/http-factory-implementation": "^1.0", "psr/log": "^1.0|^2.0|^3.0", - "symfony/options-resolver": "^3.4.43|^4.4.30|^5.0.11|^6.0", + "symfony/options-resolver": "^3.4.43|^4.4.30|^5.0.11|^6.0|^7.0", "symfony/polyfill-php80": "^1.17" }, "conflict": { @@ -9912,7 +9909,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/3.21.0" + "source": "https://github.com/getsentry/sentry-php/tree/3.22.0" }, "funding": [ { @@ -9924,20 +9921,20 @@ "type": "custom" } ], - "time": "2023-07-31T15:31:24+00:00" + "time": "2023-10-23T20:34:53+00:00" }, { "name": "sentry/sentry-laravel", - "version": "3.8.1", + "version": "3.8.2", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "b6142a80fa9360a10b786d2da032339602d0e362" + "reference": "1293e5732f8405e12f000cdf5dee78c927a18de0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/b6142a80fa9360a10b786d2da032339602d0e362", - "reference": "b6142a80fa9360a10b786d2da032339602d0e362", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/1293e5732f8405e12f000cdf5dee78c927a18de0", + "reference": "1293e5732f8405e12f000cdf5dee78c927a18de0", "shasum": "" }, "require": { @@ -10004,7 +10001,7 @@ ], "support": { "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/3.8.1" + "source": "https://github.com/getsentry/sentry-laravel/tree/3.8.2" }, "funding": [ { @@ -10016,20 +10013,20 @@ "type": "custom" } ], - "time": "2023-10-04T10:21:16+00:00" + "time": "2023-10-12T14:38:46+00:00" }, { "name": "simple-icons/simple-icons", - "version": "9.17.0", + "version": "9.19.0", "source": { "type": "git", "url": "https://github.com/simple-icons/simple-icons.git", - "reference": "43c52d2821ee41026cfcbf4f8dd5b868169f8152" + "reference": "802fd7074325f8506b09450dd430f0816d4e914e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simple-icons/simple-icons/zipball/43c52d2821ee41026cfcbf4f8dd5b868169f8152", - "reference": "43c52d2821ee41026cfcbf4f8dd5b868169f8152", + "url": "https://api.github.com/repos/simple-icons/simple-icons/zipball/802fd7074325f8506b09450dd430f0816d4e914e", + "reference": "802fd7074325f8506b09450dd430f0816d4e914e", "shasum": "" }, "type": "library", @@ -10054,7 +10051,7 @@ "type": "opencollective" } ], - "time": "2023-10-08T05:06:32+00:00" + "time": "2023-10-22T00:54:55+00:00" }, { "name": "simshaun/recurr", @@ -10788,16 +10785,16 @@ }, { "name": "symfony/http-client", - "version": "v6.3.5", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "213e564da4cbf61acc9728d97e666bcdb868c10d" + "reference": "ab8446f997efb9913627e9da10fa784d2182fe92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/213e564da4cbf61acc9728d97e666bcdb868c10d", - "reference": "213e564da4cbf61acc9728d97e666bcdb868c10d", + "url": "https://api.github.com/repos/symfony/http-client/zipball/ab8446f997efb9913627e9da10fa784d2182fe92", + "reference": "ab8446f997efb9913627e9da10fa784d2182fe92", "shasum": "" }, "require": { @@ -10860,7 +10857,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.3.5" + "source": "https://github.com/symfony/http-client/tree/v6.3.6" }, "funding": [ { @@ -10876,7 +10873,7 @@ "type": "tidelift" } ], - "time": "2023-09-29T15:57:12+00:00" + "time": "2023-10-06T10:08:56+00:00" }, { "name": "symfony/http-client-contracts", @@ -10958,16 +10955,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.3.5", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "b50f5e281d722cb0f4c296f908bacc3e2b721957" + "reference": "c186627f52febe09c6d5270b04f8462687a250a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b50f5e281d722cb0f4c296f908bacc3e2b721957", - "reference": "b50f5e281d722cb0f4c296f908bacc3e2b721957", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c186627f52febe09c6d5270b04f8462687a250a6", + "reference": "c186627f52febe09c6d5270b04f8462687a250a6", "shasum": "" }, "require": { @@ -10977,12 +10974,12 @@ "symfony/polyfill-php83": "^1.27" }, "conflict": { - "symfony/cache": "<6.2" + "symfony/cache": "<6.3" }, "require-dev": { - "doctrine/dbal": "^2.13.1|^3.0", + "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^5.4|^6.0", + "symfony/cache": "^6.3", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", @@ -11015,7 +11012,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.3.5" + "source": "https://github.com/symfony/http-foundation/tree/v6.3.6" }, "funding": [ { @@ -11031,20 +11028,20 @@ "type": "tidelift" } ], - "time": "2023-09-04T21:33:54+00:00" + "time": "2023-10-17T11:32:53+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.3.5", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "9f991a964368bee8d883e8d57ced4fe9fff04dfc" + "reference": "4945f5001b06ff9080cd3d8f1f9f069094c0d156" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9f991a964368bee8d883e8d57ced4fe9fff04dfc", - "reference": "9f991a964368bee8d883e8d57ced4fe9fff04dfc", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/4945f5001b06ff9080cd3d8f1f9f069094c0d156", + "reference": "4945f5001b06ff9080cd3d8f1f9f069094c0d156", "shasum": "" }, "require": { @@ -11128,7 +11125,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.3.5" + "source": "https://github.com/symfony/http-kernel/tree/v6.3.6" }, "funding": [ { @@ -11144,7 +11141,7 @@ "type": "tidelift" } ], - "time": "2023-09-30T06:37:04+00:00" + "time": "2023-10-21T13:12:51+00:00" }, { "name": "symfony/mailer", @@ -11228,16 +11225,16 @@ }, { "name": "symfony/mailgun-mailer", - "version": "v6.3.5", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/mailgun-mailer.git", - "reference": "b467aba49c8240a71f7027c213d9d140ba1abce7" + "reference": "8d9741467c53750dc8ccda23a1cdb91cda732571" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/b467aba49c8240a71f7027c213d9d140ba1abce7", - "reference": "b467aba49c8240a71f7027c213d9d140ba1abce7", + "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/8d9741467c53750dc8ccda23a1cdb91cda732571", + "reference": "8d9741467c53750dc8ccda23a1cdb91cda732571", "shasum": "" }, "require": { @@ -11277,7 +11274,7 @@ "description": "Symfony Mailgun Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailgun-mailer/tree/v6.3.5" + "source": "https://github.com/symfony/mailgun-mailer/tree/v6.3.6" }, "funding": [ { @@ -11293,7 +11290,7 @@ "type": "tidelift" } ], - "time": "2023-09-29T17:30:10+00:00" + "time": "2023-10-12T13:32:47+00:00" }, { "name": "symfony/mime", @@ -12725,16 +12722,16 @@ }, { "name": "symfony/translation", - "version": "v6.3.3", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd" + "reference": "869b26c7a9d4b8a48afdd77ab36031909c87e3a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd", - "reference": "3ed078c54bc98bbe4414e1e9b2d5e85ed5a5c8bd", + "url": "https://api.github.com/repos/symfony/translation/zipball/869b26c7a9d4b8a48afdd77ab36031909c87e3a2", + "reference": "869b26c7a9d4b8a48afdd77ab36031909c87e3a2", "shasum": "" }, "require": { @@ -12800,7 +12797,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.3.3" + "source": "https://github.com/symfony/translation/tree/v6.3.6" }, "funding": [ { @@ -12816,7 +12813,7 @@ "type": "tidelift" } ], - "time": "2023-07-31T07:08:24+00:00" + "time": "2023-10-17T11:32:53+00:00" }, { "name": "symfony/translation-contracts", @@ -12972,16 +12969,16 @@ }, { "name": "symfony/var-dumper", - "version": "v6.3.5", + "version": "v6.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "3d9999376be5fea8de47752837a3e1d1c5f69ef5" + "reference": "999ede244507c32b8e43aebaa10e9fce20de7c97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3d9999376be5fea8de47752837a3e1d1c5f69ef5", - "reference": "3d9999376be5fea8de47752837a3e1d1c5f69ef5", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/999ede244507c32b8e43aebaa10e9fce20de7c97", + "reference": "999ede244507c32b8e43aebaa10e9fce20de7c97", "shasum": "" }, "require": { @@ -13036,7 +13033,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.3.5" + "source": "https://github.com/symfony/var-dumper/tree/v6.3.6" }, "funding": [ { @@ -13052,7 +13049,7 @@ "type": "tidelift" } ], - "time": "2023-09-12T10:11:35+00:00" + "time": "2023-10-12T18:45:56+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -13392,16 +13389,16 @@ }, { "name": "brianium/paratest", - "version": "v7.2.9", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "1f9e41c0779be4540654d92a9314016713f5e62c" + "reference": "2951d3f773ea91451c7440f48122287778634b0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/1f9e41c0779be4540654d92a9314016713f5e62c", - "reference": "1f9e41c0779be4540654d92a9314016713f5e62c", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/2951d3f773ea91451c7440f48122287778634b0d", + "reference": "2951d3f773ea91451c7440f48122287778634b0d", "shasum": "" }, "require": { @@ -13415,22 +13412,22 @@ "phpunit/php-code-coverage": "^10.1.7", "phpunit/php-file-iterator": "^4.1.0", "phpunit/php-timer": "^6.0", - "phpunit/phpunit": "^10.4.0", + "phpunit/phpunit": "^10.4.1", "sebastian/environment": "^6.0.1", - "symfony/console": "^6.3.4", - "symfony/process": "^6.3.4" + "symfony/console": "^6.3.4 || ^7.0.0", + "symfony/process": "^6.3.4 || ^7.0.0" }, "require-dev": { "doctrine/coding-standard": "^12.0.0", "ext-pcov": "*", "ext-posix": "*", - "infection/infection": "^0.27.3", - "phpstan/phpstan": "^1.10.37", + "infection/infection": "^0.27.4", + "phpstan/phpstan": "^1.10.38", "phpstan/phpstan-deprecation-rules": "^1.1.4", - "phpstan/phpstan-phpunit": "^1.3.14", + "phpstan/phpstan-phpunit": "^1.3.15", "phpstan/phpstan-strict-rules": "^1.5.1", "squizlabs/php_codesniffer": "^3.7.2", - "symfony/filesystem": "^6.3.1" + "symfony/filesystem": "^6.3.1 || ^7.0.0" }, "bin": [ "bin/paratest", @@ -13471,7 +13468,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v7.2.9" + "source": "https://github.com/paratestphp/paratest/tree/v7.3.0" }, "funding": [ { @@ -13483,7 +13480,7 @@ "type": "paypal" } ], - "time": "2023-10-06T07:53:04+00:00" + "time": "2023-10-10T15:11:25+00:00" }, { "name": "fakerphp/faker", @@ -13882,16 +13879,16 @@ }, { "name": "nunomaduro/collision", - "version": "v7.9.0", + "version": "v7.10.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "296d0cf9fe462837ac0da8a568b56fc026b132da" + "reference": "49ec67fa7b002712da8526678abd651c09f375b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/296d0cf9fe462837ac0da8a568b56fc026b132da", - "reference": "296d0cf9fe462837ac0da8a568b56fc026b132da", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/49ec67fa7b002712da8526678abd651c09f375b2", + "reference": "49ec67fa7b002712da8526678abd651c09f375b2", "shasum": "" }, "require": { @@ -13900,19 +13897,22 @@ "php": "^8.1.0", "symfony/console": "^6.3.4" }, + "conflict": { + "laravel/framework": ">=11.0.0" + }, "require-dev": { - "brianium/paratest": "^7.2.7", - "laravel/framework": "^10.23.1", - "laravel/pint": "^1.13.1", + "brianium/paratest": "^7.3.0", + "laravel/framework": "^10.28.0", + "laravel/pint": "^1.13.3", "laravel/sail": "^1.25.0", "laravel/sanctum": "^3.3.1", "laravel/tinker": "^2.8.2", "nunomaduro/larastan": "^2.6.4", - "orchestra/testbench-core": "^8.11.0", - "pestphp/pest": "^2.19.1", - "phpunit/phpunit": "^10.3.5", + "orchestra/testbench-core": "^8.13.0", + "pestphp/pest": "^2.23.2", + "phpunit/phpunit": "^10.4.1", "sebastian/environment": "^6.0.1", - "spatie/laravel-ignition": "^2.3.0" + "spatie/laravel-ignition": "^2.3.1" }, "type": "library", "extra": { @@ -13971,7 +13971,7 @@ "type": "patreon" } ], - "time": "2023-09-19T10:45:09+00:00" + "time": "2023-10-11T15:45:01+00:00" }, { "name": "phar-io/manifest", @@ -15485,35 +15485,35 @@ }, { "name": "spatie/flare-client-php", - "version": "1.4.2", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "5f2c6a7a0d2c1d90c12559dc7828fd942911a544" + "reference": "5db2fdd743c3ede33f2a5367d89ec1a7c9c1d1ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/5f2c6a7a0d2c1d90c12559dc7828fd942911a544", - "reference": "5f2c6a7a0d2c1d90c12559dc7828fd942911a544", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/5db2fdd743c3ede33f2a5367d89ec1a7c9c1d1ec", + "reference": "5db2fdd743c3ede33f2a5367d89ec1a7c9c1d1ec", "shasum": "" }, "require": { - "illuminate/pipeline": "^8.0|^9.0|^10.0", + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", "nesbot/carbon": "^2.62.1", "php": "^8.0", "spatie/backtrace": "^1.5.2", - "symfony/http-foundation": "^5.0|^6.0", - "symfony/mime": "^5.2|^6.0", - "symfony/process": "^5.2|^6.0", - "symfony/var-dumper": "^5.2|^6.0" + "symfony/http-foundation": "^5.2|^6.0|^7.0", + "symfony/mime": "^5.2|^6.0|^7.0", + "symfony/process": "^5.2|^6.0|^7.0", + "symfony/var-dumper": "^5.2|^6.0|^7.0" }, "require-dev": { - "dms/phpunit-arraysubset-asserts": "^0.3.0", - "pestphp/pest": "^1.20", + "dms/phpunit-arraysubset-asserts": "^0.5.0", + "pestphp/pest": "^1.20|^2.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "spatie/phpunit-snapshot-assertions": "^4.0" + "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" }, "type": "library", "extra": { @@ -15543,7 +15543,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.4.2" + "source": "https://github.com/spatie/flare-client-php/tree/1.4.3" }, "funding": [ { @@ -15551,20 +15551,20 @@ "type": "github" } ], - "time": "2023-07-28T08:07:24+00:00" + "time": "2023-10-17T15:54:07+00:00" }, { "name": "spatie/ignition", - "version": "1.11.2", + "version": "1.11.3", "source": { "type": "git", "url": "https://github.com/spatie/ignition.git", - "reference": "48b23411ca4bfbc75c75dfc638b6b36159c375aa" + "reference": "3d886de644ff7a5b42e4d27c1e1f67c8b5f00044" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/48b23411ca4bfbc75c75dfc638b6b36159c375aa", - "reference": "48b23411ca4bfbc75c75dfc638b6b36159c375aa", + "url": "https://api.github.com/repos/spatie/ignition/zipball/3d886de644ff7a5b42e4d27c1e1f67c8b5f00044", + "reference": "3d886de644ff7a5b42e4d27c1e1f67c8b5f00044", "shasum": "" }, "require": { @@ -15573,19 +15573,19 @@ "php": "^8.0", "spatie/backtrace": "^1.5.3", "spatie/flare-client-php": "^1.4.0", - "symfony/console": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "require-dev": { - "illuminate/cache": "^9.52", + "illuminate/cache": "^9.52|^10.0|^11.0", "mockery/mockery": "^1.4", - "pestphp/pest": "^1.20", + "pestphp/pest": "^1.20|^2.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", "psr/simple-cache-implementation": "*", - "symfony/cache": "^6.0", - "symfony/process": "^5.4|^6.0", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", "vlucas/phpdotenv": "^5.5" }, "suggest": { @@ -15634,20 +15634,20 @@ "type": "github" } ], - "time": "2023-09-19T15:29:52+00:00" + "time": "2023-10-18T14:09:40+00:00" }, { "name": "spatie/laravel-ignition", - "version": "2.3.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "4ed813d16edb5a1ab0d7f4b1d116c37ee8cdf3c0" + "reference": "bf21cd15aa47fa4ec5d73bbc932005c70261efc8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/4ed813d16edb5a1ab0d7f4b1d116c37ee8cdf3c0", - "reference": "4ed813d16edb5a1ab0d7f4b1d116c37ee8cdf3c0", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/bf21cd15aa47fa4ec5d73bbc932005c70261efc8", + "reference": "bf21cd15aa47fa4ec5d73bbc932005c70261efc8", "shasum": "" }, "require": { @@ -15726,7 +15726,7 @@ "type": "github" } ], - "time": "2023-08-23T06:24:34+00:00" + "time": "2023-10-09T12:55:26+00:00" }, { "name": "stefanzweifel/laravel-stats-phploc", @@ -15845,16 +15845,16 @@ }, { "name": "wnx/laravel-stats", - "version": "v2.11.4", + "version": "v2.12.0", "source": { "type": "git", "url": "https://github.com/stefanzweifel/laravel-stats.git", - "reference": "6332e688eff4cffa17e40c9a31373a92c1fe1a8a" + "reference": "df3b996b629cd4c22018ca6c651059d04572077d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stefanzweifel/laravel-stats/zipball/6332e688eff4cffa17e40c9a31373a92c1fe1a8a", - "reference": "6332e688eff4cffa17e40c9a31373a92c1fe1a8a", + "url": "https://api.github.com/repos/stefanzweifel/laravel-stats/zipball/df3b996b629cd4c22018ca6c651059d04572077d", + "reference": "df3b996b629cd4c22018ca6c651059d04572077d", "shasum": "" }, "require": { @@ -15912,7 +15912,7 @@ ], "support": { "issues": "https://github.com/stefanzweifel/laravel-stats/issues", - "source": "https://github.com/stefanzweifel/laravel-stats/tree/v2.11.4" + "source": "https://github.com/stefanzweifel/laravel-stats/tree/v2.12.0" }, "funding": [ { @@ -15924,7 +15924,7 @@ "type": "github" } ], - "time": "2023-08-28T17:15:35+00:00" + "time": "2023-10-16T12:29:02+00:00" } ], "aliases": [], @@ -15949,5 +15949,5 @@ "ext-zip": "*" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/config/module.php b/config/module.php index ccec1175a..40ce7c59e 100644 --- a/config/module.php +++ b/config/module.php @@ -187,4 +187,14 @@ return [ 'composer' => 'register', ], + /* + |-------------------------------------------------------------------------- + | Activator + |-------------------------------------------------------------------------- + | + | Here is the activator class. + | + */ + 'activator' => env('MODULE_ACTIVATOR', \App\Utilities\ModuleActivator::class), + ];