diff --git a/themes/demo/_partials/head.blade.php b/themes/demo/_partials/head.blade.php
deleted file mode 100644
index 09383543c1..0000000000
--- a/themes/demo/_partials/head.blade.php
+++ /dev/null
@@ -1,5 +0,0 @@
-{!! get_metas() !!}
-
-{{ sprintf(lang('igniter::main.site_title'), lang(get_title()), setting('site_name')) }}
-
-@styles
diff --git a/themes/demo/_partials/payregister/cod.blade.php b/themes/demo/_partials/payregister/cod.blade.php
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/themes/demo/theme.json b/themes/demo/theme.json
deleted file mode 100644
index e0e7b0c6c5..0000000000
--- a/themes/demo/theme.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "code": "demo",
- "parent": null,
- "name": "Demo Theme",
- "description": "Demonstration theme for TastyIgniter front-end",
- "author": "TastyIgniter Dev Team",
- "version": "1.0.0",
- "tags": {
- "1.0.0": "Theme initialization"
- }
-}
\ No newline at end of file
From 2241338ac195208f222d78691caa431aadae7b1d Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Wed, 23 Nov 2022 12:28:05 +0000
Subject: [PATCH 04/28] wip
---
composer.json | 8 --------
1 file changed, 8 deletions(-)
diff --git a/composer.json b/composer.json
index 097ec3019f..695dc214ef 100644
--- a/composer.json
+++ b/composer.json
@@ -39,15 +39,7 @@
"tastyigniter/ti-ext-api": "v4.x-dev",
"tastyigniter/ti-ext-automation": "v4.x-dev",
"tastyigniter/ti-ext-broadcast": "v4.x-dev",
- "tastyigniter/ti-ext-cart": "v4.x-dev",
- "tastyigniter/ti-ext-coupons": "v4.x-dev",
- "tastyigniter/ti-ext-frontend": "v4.x-dev",
- "tastyigniter/ti-ext-local": "v4.x-dev",
- "tastyigniter/ti-ext-pages": "v4.x-dev",
- "tastyigniter/ti-ext-payregister": "v4.x-dev",
- "tastyigniter/ti-ext-reservation": "v4.x-dev",
"tastyigniter/ti-ext-socialite": "v4.x-dev",
- "tastyigniter/ti-ext-user": "v4.x-dev",
"tastyigniter/ti-theme-orange": "v4.x-dev"
},
"autoload": {
From 527451976ec618ebc819711d3dc9e57fbdce2670 Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Wed, 23 Nov 2022 18:51:04 +0000
Subject: [PATCH 05/28] Merge branch tastyigniter/tastyigniter/3.x
- Remove locked property from composer.json manifest (tastyigniter/tastyigniter@be92fda8)
- Drop asset minification feature to fix JS issue with admin not able to login and unable to edit mail templates. #970 #948 (tastyigniter/tastyigniter@b9df4df1)
- Add allergens relation to 3.x branch (tastyigniter/tastyigniter#978) (tastyigniter/tastyigniter@ed16a6d3)
- minor fix (tastyigniter/tastyigniter@e8d87178)
- Fix location_options issue when creating a location #981 (tastyigniter/tastyigniter@ccbba690)
- minor fixes (tastyigniter/tastyigniter@721943ae)
- Remove unique validation rule on allergen, category, location, mealtime, menu and table requests (tastyigniter/tastyigniter@20a9e629)
- Add permissions to order, reservation delete bulk action #986 (tastyigniter/tastyigniter@16f24e05)
- Add padding to modal form fields container (tastyigniter/tastyigniter@bc9ceb12)
- Add branch name to split GA (tastyigniter/tastyigniter@f70ccc7b)
- New admin.list.extendRecords event (tastyigniter/tastyigniter#989) (tastyigniter/tastyigniter@aeb055b7)
- Minor fix (tastyigniter/tastyigniter@f4996352)
- Use locale dates formats in order and reservation emails (tastyigniter/tastyigniter@3f5303e6)
- Minor refactor to assignables (tastyigniter/tastyigniter@d5fd36cc)
- Add location logo mail variables (tastyigniter/tastyigniter@d91683e9)
- Move allocate table logic from booking manager to reservation mode (tastyigniter/tastyigniter@a4530bdd)
- Minor fix (tastyigniter/tastyigniter@4d9bdeb8)
- Add migration to drop all foreign keys due to irritating foreign key errors (tastyigniter/tastyigniter@ec0542bd)
- Ensure list column names do not much model relation name (tastyigniter/tastyigniter@5e84a712)
- Check foreign key/index exists before dropping (tastyigniter/tastyigniter@bbaa0796)
- Use customer email as replyTo when appropriate (tastyigniter/tastyigniter@#1002) (tastyigniter/tastyigniter@4635985d)
- Ensure guest_num and duration have minimum values (tastyigniter/tastyigniter#1001) (tastyigniter/tastyigniter@a3f024a0)
- use lowest menu option price when menu item price is 0 (tastyigniter/tastyigniter@137734cb)
- Add location options as HasMany relation (tastyigniter/tastyigniter@652cb6e2)
- Fix location list order type filter (tastyigniter/tastyigniter@68e405b0)
- Add comment column to reservations list tastyigniter/ti-ext-reservation#32 (tastyigniter/tastyigniter@3016c2fd)
- Sort menu item option dropdown alphabetically (tastyigniter/tastyigniter@f30bbff6)
- Fix issue where cart item option quantity type calculated value is not properly displayed (tastyigniter/tastyigniter@f2c500cc)
- Update [README.md](http://readme.md/) (tastyigniter/tastyigniter@b3732a3f)
- Install core update first instead of ignoring non-core updates (tastyigniter/tastyigniter@2a754e46)
- Fix broken link (tastyigniter/tastyigniter@a937a00d)
- Minor fix (tastyigniter/tastyigniter@6486a89d)
- Fix issue where media finder attachment config modal not opening (tastyigniter/tastyigniter#1010) (tastyigniter/tastyigniter@2c1f30d6)
- Minor fix (tastyigniter/tastyigniter@5bf7b4e7)
- Cache location options (tastyigniter/tastyigniter@cfe5f965)
- Make location options fields unique (tastyigniter/tastyigniter#1011) (tastyigniter/tastyigniter@5ec9a233)
- Minor fixes (tastyigniter/tastyigniter@5cbaced6)
- Add support for locationable trait on HasManyThrough, HasOneThrough relationships (tastyigniter/tastyigniter@da6bc020)
- Allow rendering of multiple list widgets (tastyigniter/tastyigniter@ed2a9101)
- Fix dashboard news widget feed url (tastyigniter/tastyigniter@98bc919d)
- Reorder reservation form fields (tastyigniter/tastyigniter@895d9949)
- Minor UI fix (tastyigniter/tastyigniter@5e7fbc53)
- Fix issue where reservation list can not be filtered by multiple statuses (tastyigniter/tastyigniter@de8ec050)
- Ensure admin password max length is 32 when installing (tastyigniter/tastyigniter@9ceb0251)
- Minor fix (tastyigniter/tastyigniter@359687ee)
- Fix dashboard charts not displaying data (tastyigniter/tastyigniter@80a8ba3a)
- Minor refactor (tastyigniter/tastyigniter@b780b42c)
- Strip html tags from formatted address (tastyigniter/tastyigniter@88f9243d)
- Support multiple extension paths (tastyigniter/tastyigniter#1017) (tastyigniter/tastyigniter@cd89efb7)
- Allow payments, themes form query to be extended (tastyigniter/tastyigniter@c61f8de1)
- Fix issue where staff list is empty (tastyigniter/tastyigniter@3128a19a)
- Code field on mail layouts and partials should always be unique (tastyigniter/tastyigniter@b8896856)
- Avoid marking order as processed more than once (tastyigniter/tastyigniter@723ed8c5)
- Minor UI fix (tastyigniter/tastyigniter@d3da0a09)
- Minor fix (tastyigniter/tastyigniter@cf831c80)
- Fixed issue where its impossible to unassign a group or staff (tastyigniter/tastyigniter@aa539055)
- Fix issue with clockpicker positioning and some minor UI adjustments (tastyigniter/tastyigniter@303444db)
- Avoid negative order total when calculating totals (tastyigniter/tastyigniter@f9501d9a)
- Fix issue with managing records when recordeditor is in radio mode (tastyigniter/tastyigniter@c8ff4870)
---
README.md | 33 ++++++++++++++++++++++++++-------
1 file changed, 26 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index 4b27d80c7d..5206c9aef4 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-
+
@@ -13,58 +13,77 @@
[TastyIgniter](https://tastyigniter.com/) provides a professional and reliable platform for restaurants wanting to offer
online food ordering and table reservation to their customers.
-![screenshot](https://tastyigniter.com/assets/ui/images/mockups/Menus-v2.png)
+![screenshot](https://tastyigniter.com/images/mockups/Menus-v2.png)
### Documentation
+
The best place to learn TastyIgniter is by reading the [documentation](https://tastyigniter.com/docs)
### Installation
+
Please read the [Installation Guide](https://tastyigniter.com/docs/installation) for more information.
### Questions
-For questions and support please use the [Community Forum](https://forum.tastyigniter.com) or [Join us on Discord](https://tastyigniter.com/discord).
+
+For questions and support please use the [Community Forum](https://forum.tastyigniter.com)
+or [Join us on Discord](https://tastyigniter.com/discord).
### Issues
+
Please report bugs using the [GitHub issue tracker](https://github.com/tastyigniter/TastyIgniter/issues)
### Stay in touch
+
- [Follow us on Twitter](https://twitter.com/tastyigniter/) for announcements and updates.
- [Blog](https://tastyigniter.com/blog) for tips and latest developments in the food industry.
## Contributing
-We would love your help building TastyIgniter! Please read the [Contributing Guidelines](.github/CONTRIBUTING.md) to learn how you can help.
+
+We would love your help building TastyIgniter! Please read the [Contributing Guidelines](.github/CONTRIBUTING.md) to
+learn how you can help.
Thank you to all the people who already contributed to TastyIgniter!
## Supporting TastyIgniter
-TastyIgniter is an MIT-licensed community-driven project with its continuous development made possible by the support of these awesome [backers](#contributing). If you'd like to help support the future of the project, please consider:
+
+TastyIgniter is an MIT-licensed community-driven project with its continuous development made possible by the support of
+these awesome [backers](#contributing). If you'd like to help support the future of the project, please consider:
+
1. Donating development time to the project.
2. Spreading the word about TastyIgniter.
3. Becoming a sponsor by donating funds (see below).
## Sponsors
-Become a sponsor and get your logo on our README on Github with a link to your site.
+
+Become a sponsor and get your logo on our README on Github with a link to your site.
### via Open Collective
+
### via Patreon
+
[[Become a Patreon sponsor](https://www.patreon.com/sampoyigi)]
## Built With :heart:
+
- Laravel full-stack PHP framework
- Bootstrap 4 front-end framework
## Author
+
TastyIgniter was created by [Samuel Adepoyigi](https://github.com/sampoyigi).
## Security Vulnerabilities
+
If you discover a security vulnerability within TastyIgniter, please send an e-mail to support@tastyigniter.com.
## License
-Starting with version 3.0.0 TastyIgniter is licensed under the [The MIT License (MIT)](https://tastyigniter.com/licence/). Older versions were GPL-licensed.
+
+Starting with version 3.0.0 TastyIgniter is licensed under
+the [The MIT License (MIT)](https://tastyigniter.com/license/). Older versions were GPL-licensed.
From 775f6ac4eaa8ba0df1535f9f149b0593a419c8cc Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Sat, 26 Nov 2022 11:55:03 +0000
Subject: [PATCH 06/28] wip
---
.gitignore | 1 +
composer.json | 6 +++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 8d771a06a7..d9df07e27a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@
.env.testing
.phpunit.result.cache
phpunit.dusk.xml
+auth.json
# Ignore all vendor files included by composer and the lock file
/vendor
diff --git a/composer.json b/composer.json
index 695dc214ef..5372f96f26 100644
--- a/composer.json
+++ b/composer.json
@@ -42,6 +42,10 @@
"tastyigniter/ti-ext-socialite": "v4.x-dev",
"tastyigniter/ti-theme-orange": "v4.x-dev"
},
+ "require-dev": {
+ "nunomaduro/larastan": "^2.2",
+ "tastyigniter/ti-ext-debugbar": "*@dev"
+ },
"autoload": {
"psr-4": {
"App\\": "app/",
@@ -61,7 +65,7 @@
"@php artisan igniter:package-discover --ansi"
],
"post-update-cmd": [
- "@php artisan vendor:publish --tag=igniter-assets --ansi --force"
+ "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
From c3f7f81cf3d433d182310f2201487698198f5f1a Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Sun, 27 Nov 2022 12:15:31 +0000
Subject: [PATCH 07/28] Bring back extensions and themes folder
---
extensions/.gitignore | 2 ++
themes/.gitignore | 2 ++
2 files changed, 4 insertions(+)
create mode 100644 extensions/.gitignore
create mode 100644 themes/.gitignore
diff --git a/extensions/.gitignore b/extensions/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/extensions/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/themes/.gitignore b/themes/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/themes/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
From 1898e6485609885c3ef078fdde119a4f35673f76 Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Sun, 19 Feb 2023 23:36:37 +0000
Subject: [PATCH 08/28] Upgrade to laravel 10
---
app/Http/Kernel.php | 2 +-
app/Providers/AuthServiceProvider.php | 12 ------------
2 files changed, 1 insertion(+), 13 deletions(-)
diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php
index c3be2544bd..416cadd296 100644
--- a/app/Http/Kernel.php
+++ b/app/Http/Kernel.php
@@ -52,7 +52,7 @@ class Kernel extends HttpKernel
*
* @var array
*/
- protected $routeMiddleware = [
+ protected $middlewareAliases = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php
index 51b351b0b3..ff713f54a3 100644
--- a/app/Providers/AuthServiceProvider.php
+++ b/app/Providers/AuthServiceProvider.php
@@ -3,19 +3,9 @@
namespace App\Providers;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
-use Illuminate\Support\Facades\Gate;
class AuthServiceProvider extends ServiceProvider
{
- /**
- * The model to policy mappings for the application.
- *
- * @var array
- */
- protected $policies = [
- // 'App\Models\Model' => 'App\Policies\ModelPolicy',
- ];
-
/**
* Register any authentication / authorization services.
*
@@ -23,8 +13,6 @@ class AuthServiceProvider extends ServiceProvider
*/
public function boot()
{
- $this->registerPolicies();
-
//
}
}
From 6c3b9d8bbab1b9dbe34cd6392bf24e0281b1bb1f Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Mon, 20 Feb 2023 17:26:40 +0000
Subject: [PATCH 09/28] Fix broken link in README
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 5206c9aef4..dc0c7f5afb 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
-
+
From ac12db3df6f4d59c3cdb496c25d2da699fa4fc1e Mon Sep 17 00:00:00 2001
From: Sam <6567634+sampoyigi@users.noreply.github.com>
Date: Sun, 5 Mar 2023 12:46:04 +0000
Subject: [PATCH 10/28] Always include notifications migration file
---
...3_05_123125_create_notifications_table.php | 31 +++++++++++++++++++
1 file changed, 31 insertions(+)
create mode 100644 database/migrations/2023_03_05_123125_create_notifications_table.php
diff --git a/database/migrations/2023_03_05_123125_create_notifications_table.php b/database/migrations/2023_03_05_123125_create_notifications_table.php
new file mode 100644
index 0000000000..d73803223d
--- /dev/null
+++ b/database/migrations/2023_03_05_123125_create_notifications_table.php
@@ -0,0 +1,31 @@
+uuid('id')->primary();
+ $table->string('type');
+ $table->morphs('notifiable');
+ $table->text('data');
+ $table->timestamp('read_at')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('notifications');
+ }
+};
From 13db78a61d04646ab7ea00c43efa6744a8a81e0c Mon Sep 17 00:00:00 2001
From: Sam <6567634+sampoyigi@users.noreply.github.com>
Date: Fri, 17 Mar 2023 20:51:47 +0000
Subject: [PATCH 11/28] Set composer minimum-stability to stable
---
composer.json | 171 ++++++++++++++++++++++++++------------------------
1 file changed, 88 insertions(+), 83 deletions(-)
diff --git a/composer.json b/composer.json
index 5372f96f26..c995cc8f85 100644
--- a/composer.json
+++ b/composer.json
@@ -1,89 +1,94 @@
{
- "name": "tastyigniter/tastyigniter",
- "description": "TastyIgniter is a free open source online ordering and restaurant management system",
- "type": "project",
- "keywords": [
- "tastyigniter",
- "igniter",
- "restaurant",
- "ordering",
- "ecommerce",
- "opensource"
- ],
- "authors": [
- {
- "name": "Samuel Adepoyigi",
- "email": "sam@sampoyigi.com",
- "role": "Creator"
- }
- ],
- "license": "MIT",
- "homepage": "https://tastyigniter.com",
- "support": {
- "paid": "https://tastyigniter.com/premium-support",
- "issues": "https://github.com/tastyigniter/TastyIgniter/issues",
- "forum": "https://forum.tastyigniter.com",
- "discord": "https/tastyigniter.com/discord",
- "docs": "https://tastyigniter.com/docs",
- "source": "https://github.com/tastyigniter/TastyIgniter"
- },
- "repositories": [
- {
- "type": "composer",
- "url": "https://satis.tastyigniter.com"
- }
- ],
- "require": {
- "php": "^8.0",
- "tastyigniter/flame": "v4.x-dev",
- "tastyigniter/ti-ext-api": "v4.x-dev",
- "tastyigniter/ti-ext-automation": "v4.x-dev",
- "tastyigniter/ti-ext-broadcast": "v4.x-dev",
- "tastyigniter/ti-ext-socialite": "v4.x-dev",
- "tastyigniter/ti-theme-orange": "v4.x-dev"
- },
- "require-dev": {
- "nunomaduro/larastan": "^2.2",
- "tastyigniter/ti-ext-debugbar": "*@dev"
- },
- "autoload": {
- "psr-4": {
- "App\\": "app/",
- "Database\\Factories\\": "database/factories/",
- "Database\\Seeders\\": "database/seeders/"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "Tests\\": "tests/"
- }
- },
- "scripts": {
- "post-autoload-dump": [
- "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
- "@php artisan package:discover --ansi",
- "@php artisan igniter:package-discover --ansi"
+ "name": "tastyigniter/tastyigniter",
+ "description": "TastyIgniter is a free open source online ordering and restaurant management system",
+ "type": "project",
+ "keywords": [
+ "tastyigniter",
+ "igniter",
+ "restaurant",
+ "ordering",
+ "ecommerce",
+ "opensource"
],
- "post-update-cmd": [
- "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
+ "authors": [
+ {
+ "name": "Samuel Adepoyigi",
+ "email": "sam@sampoyigi.com",
+ "role": "Creator"
+ }
],
- "post-root-package-install": [
- "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
+ "license": "MIT",
+ "homepage": "https://tastyigniter.com",
+ "support": {
+ "paid": "https://tastyigniter.com/premium-support",
+ "issues": "https://github.com/tastyigniter/TastyIgniter/issues",
+ "forum": "https://forum.tastyigniter.com",
+ "discord": "https/tastyigniter.com/discord",
+ "docs": "https://tastyigniter.com/docs",
+ "source": "https://github.com/tastyigniter/TastyIgniter"
+ },
+ "repositories": [
+ {
+ "type": "composer",
+ "url": "https://satis.tastyigniter.com"
+ }
],
- "post-create-project-cmd": [
- "@php artisan key:generate --ansi"
- ]
- },
- "extra": {
- "laravel": {
- "dont-discover": []
+ "require": {
+ "php": "^8.1",
+ "tastyigniter/core": "dev-master",
+ "tastyigniter/ti-ext-api": "v4.x-dev as v4.0",
+ "tastyigniter/ti-ext-automation": "v4.x-dev as v4.0",
+ "tastyigniter/ti-ext-broadcast": "v4.x-dev as v4.0",
+ "tastyigniter/ti-ext-socialite": "v4.x-dev as v4.0",
+ "tastyigniter/ti-theme-orange": "v4.x-dev as v4.0"
+ },
+ "require-dev": {
+ "nunomaduro/larastan": "^2.2",
+ "tastyigniter/ti-ext-debugbar": "v4.x-dev as v4.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "App\\": "app/",
+ "Database\\Factories\\": "database/factories/",
+ "Database\\Seeders\\": "database/seeders/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Tests\\": "tests/"
+ }
+ },
+ "scripts": {
+ "post-autoload-dump": [
+ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
+ "@php artisan package:discover --ansi",
+ "@php artisan igniter:package-discover --ansi"
+ ],
+ "post-update-cmd": [
+ "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
+ ],
+ "post-root-package-install": [
+ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
+ ],
+ "post-create-project-cmd": [
+ "@php artisan key:generate --ansi"
+ ]
+ },
+ "extra": {
+ "laravel": {
+ "dont-discover": []
+ }
+ },
+ "minimum-stability": "stable",
+ "prefer-stable": true,
+ "config": {
+ "optimize-autoloader": true,
+ "preferred-install": "dist",
+ "sort-packages": true,
+ "allow-plugins": {
+ "pestphp/pest-plugin": true,
+ "php-http/discovery": true,
+ "composer/installers": true
+ }
}
- },
- "minimum-stability": "dev",
- "prefer-stable": true,
- "config": {
- "optimize-autoloader": true,
- "preferred-install": "dist",
- "sort-packages": true
- }
}
From c4269cebfadc8d65c47a06ff75d37049cf3e0967 Mon Sep 17 00:00:00 2001
From: Sam <6567634+sampoyigi@users.noreply.github.com>
Date: Sat, 6 May 2023 14:07:18 +0100
Subject: [PATCH 12/28] Change media storage configuration, rename system.log
to laravel.log in logging configuration and remove repositories from
composer.json
Signed-off-by: Sam <6567634+sampoyigi@users.noreply.github.com>
---
composer.json | 164 +++++++++++++++++++----------------------
config/filesystems.php | 7 --
config/logging.php | 2 +-
3 files changed, 77 insertions(+), 96 deletions(-)
diff --git a/composer.json b/composer.json
index c995cc8f85..6e4b146844 100644
--- a/composer.json
+++ b/composer.json
@@ -1,94 +1,82 @@
{
- "name": "tastyigniter/tastyigniter",
- "description": "TastyIgniter is a free open source online ordering and restaurant management system",
- "type": "project",
- "keywords": [
- "tastyigniter",
- "igniter",
- "restaurant",
- "ordering",
- "ecommerce",
- "opensource"
+ "name": "tastyigniter/tastyigniter",
+ "description": "TastyIgniter is a free open source online ordering and restaurant management system",
+ "type": "project",
+ "keywords": [
+ "tastyigniter",
+ "igniter",
+ "restaurant",
+ "ordering",
+ "ecommerce",
+ "opensource"
+ ],
+ "authors": [
+ {
+ "name": "Samuel Adepoyigi",
+ "email": "sam@sampoyigi.com",
+ "role": "Creator"
+ }
+ ],
+ "license": "MIT",
+ "homepage": "https://tastyigniter.com",
+ "support": {
+ "paid": "https://tastyigniter.com/premium-support",
+ "issues": "https://github.com/tastyigniter/TastyIgniter/issues",
+ "forum": "https://forum.tastyigniter.com",
+ "discord": "https/tastyigniter.com/discord",
+ "docs": "https://tastyigniter.com/docs",
+ "source": "https://github.com/tastyigniter/TastyIgniter"
+ },
+ "require": {
+ "php": "^8.1",
+ "tastyigniter/core": "dev-master",
+ "tastyigniter/ti-ext-api": "v4.x-dev as v4.0",
+ "tastyigniter/ti-ext-automation": "v4.x-dev as v4.0",
+ "tastyigniter/ti-ext-broadcast": "v4.x-dev as v4.0",
+ "tastyigniter/ti-ext-socialite": "v4.x-dev as v4.0",
+ "tastyigniter/ti-theme-orange": "v4.x-dev as v4.0"
+ },
+ "require-dev": {
+ "tastyigniter/ti-ext-debugbar": "v4.x-dev as v4.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "App\\": "app/",
+ "Database\\Factories\\": "database/factories/",
+ "Database\\Seeders\\": "database/seeders/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Tests\\": "tests/"
+ }
+ },
+ "scripts": {
+ "post-autoload-dump": [
+ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
+ "@php artisan package:discover --ansi",
+ "@php artisan igniter:package-discover --ansi"
],
- "authors": [
- {
- "name": "Samuel Adepoyigi",
- "email": "sam@sampoyigi.com",
- "role": "Creator"
- }
+ "post-update-cmd": [
+ "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
],
- "license": "MIT",
- "homepage": "https://tastyigniter.com",
- "support": {
- "paid": "https://tastyigniter.com/premium-support",
- "issues": "https://github.com/tastyigniter/TastyIgniter/issues",
- "forum": "https://forum.tastyigniter.com",
- "discord": "https/tastyigniter.com/discord",
- "docs": "https://tastyigniter.com/docs",
- "source": "https://github.com/tastyigniter/TastyIgniter"
- },
- "repositories": [
- {
- "type": "composer",
- "url": "https://satis.tastyigniter.com"
- }
+ "post-root-package-install": [
+ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
- "require": {
- "php": "^8.1",
- "tastyigniter/core": "dev-master",
- "tastyigniter/ti-ext-api": "v4.x-dev as v4.0",
- "tastyigniter/ti-ext-automation": "v4.x-dev as v4.0",
- "tastyigniter/ti-ext-broadcast": "v4.x-dev as v4.0",
- "tastyigniter/ti-ext-socialite": "v4.x-dev as v4.0",
- "tastyigniter/ti-theme-orange": "v4.x-dev as v4.0"
- },
- "require-dev": {
- "nunomaduro/larastan": "^2.2",
- "tastyigniter/ti-ext-debugbar": "v4.x-dev as v4.0"
- },
- "autoload": {
- "psr-4": {
- "App\\": "app/",
- "Database\\Factories\\": "database/factories/",
- "Database\\Seeders\\": "database/seeders/"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "Tests\\": "tests/"
- }
- },
- "scripts": {
- "post-autoload-dump": [
- "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
- "@php artisan package:discover --ansi",
- "@php artisan igniter:package-discover --ansi"
- ],
- "post-update-cmd": [
- "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
- ],
- "post-root-package-install": [
- "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
- ],
- "post-create-project-cmd": [
- "@php artisan key:generate --ansi"
- ]
- },
- "extra": {
- "laravel": {
- "dont-discover": []
- }
- },
- "minimum-stability": "stable",
- "prefer-stable": true,
- "config": {
- "optimize-autoloader": true,
- "preferred-install": "dist",
- "sort-packages": true,
- "allow-plugins": {
- "pestphp/pest-plugin": true,
- "php-http/discovery": true,
- "composer/installers": true
- }
+ "post-create-project-cmd": [
+ "@php artisan key:generate --ansi"
+ ]
+ },
+ "extra": {
+ "laravel": {
+ "dont-discover": []
}
+ },
+ "minimum-stability": "stable",
+ "prefer-stable": true,
+ "config": {
+ "optimize-autoloader": true,
+ "preferred-install": "dist",
+ "sort-packages": true
+ }
}
diff --git a/config/filesystems.php b/config/filesystems.php
index dcc950f903..fe9d2f2127 100644
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -36,13 +36,6 @@
'throw' => true,
],
- 'media' => [
- 'driver' => 'local',
- 'root' => public_path('media'),
- 'url' => env('APP_URL').'/media',
- 'throw' => true,
- ],
-
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
diff --git a/config/logging.php b/config/logging.php
index 3ed50f735d..09d0cb9ccf 100644
--- a/config/logging.php
+++ b/config/logging.php
@@ -115,7 +115,7 @@
],
'emergency' => [
- 'path' => storage_path('logs/system.log'),
+ 'path' => storage_path('logs/laravel.log'),
],
],
From 207a5b8848dac73a2cb7ef79834fb1de949123ed Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Mon, 12 Jun 2023 20:21:21 +0100
Subject: [PATCH 13/28] Delete unnecessary files and update robots.txt to
disallow access to the admin section.
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
public/media/attachments/protected/.gitignore | 2 --
public/media/attachments/public/.gitignore | 2 --
public/media/uploads/.gitignore | 4 ----
public/media/uploads/no_photo.png | Bin 5985 -> 0 bytes
public/robots.txt | 2 +-
5 files changed, 1 insertion(+), 9 deletions(-)
delete mode 100644 public/media/attachments/protected/.gitignore
delete mode 100644 public/media/attachments/public/.gitignore
delete mode 100644 public/media/uploads/.gitignore
delete mode 100644 public/media/uploads/no_photo.png
diff --git a/public/media/attachments/protected/.gitignore b/public/media/attachments/protected/.gitignore
deleted file mode 100644
index d6b7ef32c8..0000000000
--- a/public/media/attachments/protected/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/public/media/attachments/public/.gitignore b/public/media/attachments/public/.gitignore
deleted file mode 100644
index d6b7ef32c8..0000000000
--- a/public/media/attachments/public/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/public/media/uploads/.gitignore b/public/media/uploads/.gitignore
deleted file mode 100644
index 82b3596d89..0000000000
--- a/public/media/uploads/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*
-!flags
-!no_photo.png
-!.gitignore
\ No newline at end of file
diff --git a/public/media/uploads/no_photo.png b/public/media/uploads/no_photo.png
deleted file mode 100644
index 7ce5415d34a20aa29cc5170ddfee929891fcb549..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 5985
zcmbVQdpwkB`$xzjR2oTP)5>N>IV;E5C=^BWn3;-k8jO%*4kKczWy=;u5wb$&z%T|C
zIkOpqFeWA}t>iS7Q_DoZd)W8$c@KZQ@8|c&%>8-p>$<+z;l8fxexB>+^A4wFq?DwD
zgoI>l&zy1+5)%Fu{16f%V8??Uk_i^cYiH1*U_G<>vw7ujF4&B?X6f?}ZXu#}0eDcj
zZhOk|V&w4r$Sh{UPAS>F``aU8y$!lo)Ba(#5%%Osh5ebu%RAoJe=YXcz3QQUkUzCP
zUS!z&>-ictSSD$(T5WZCmeb$gpQdW@vf=a?g)__HaI_A7?_d&5Abee!&r!Pf@~%x`
zzD3+j7BXssD&=ROxMS`lw}OaX^G>>Ja4@N+aFxJQy2mK|9C^7QtC!Szp?X-8@K`7H
z*H#AdxLd;wWUd%$2%m)h=?RAvf@9d-$T(EhjIiqSM{3bA-sYXEf77f0EhfW^u|t4+}
z(BSQa?}R96i)(Aywf48sqSQWr?<>tAu9eRDme;$~e33!aYR1FCctF9Iv#V9)PwS*U
zM#@(W5B|}20MOYxsny7azxL53Fb1c|0YzC^O^5{OP9OdfRqU&F>aU0Wk^5-csXMDk
zyHO9U&$KW|ih?zrK~e#0FR229+>H?6oTZYa6mYw$@Q)#wxU>N792uXO1oSEuAt#%f
z0V?Y?Nfzs_U`bB)MalzEfgL2dO_&u7TS@=}%$*Szz>q2+15p7C8%d5%5Wvi=6$h~Y
zTJlt|gg1iN^-2j4U>Jja0y!~&B7qSWNLmTV2~a#ZiN`R3I(U`He`6uHZ{I}w7j{vg
z{a+BR1q%OHmQitFfhbid6{~l}LAj3~+7p}pSY2IRUS4*2SD2`s-{Yy=_~~94
zM$9rEino@1z;G?6HvO&)&mO??Mi+w`miX((++IE{NTG%&7G_zfq=oBmC~FvpMO4lA
zB)^=ooEtb_C899I;&QoohLhfly1KbA{Ffrll`DI^)l&F`(
zK5^%(J1@Z*ypJD|Red_5h=s8a$DZAJ@aE04wZp;E@Gj#_=sDjlZrxj>IredZb76ye
zYMTgMi2VBX*!<^6$_lOjlh>VA+y0eo9Atw@vbcpT?mrTQX~YMvFq$b=Rh2)+o+W>p
zN}hS<>>~`xcTfl9O`pPWFx|lA0;rp^O1O)TXV+ec$S=N)eu$ssy_t`=($F*YjXm9h
zXvFVC^-m9!1Yn_J41+t*^w6uEeKe(A^&EMMT0FXhMBVu7
zU0O~~j;GJ*l+^^qOW?2bUzM|#M9rx*nd{eU#n;I`gX&PR3u)p7V&8l!GopQc!9+`K$
zWHMy+>({F-C#yx-O>aby+%G*g%fow9lO)pJcnhzr%IYe5wvU9;KMaxT?t7c}*g3jx
z7p4i3-(yQvgYS1=2*jb!Jqh|V121LZ=g&2vjx0`cm6z*j&g(@pT}p8WT@1)e^ej(D
z+miN%8s6{kuE?Om#o@e1$s(-E`*!SKy(;`p-_1!sAO&}9{Rw}R>@QpPEPDjWD#KPe
z_){tjYnoMs5sjK}5dP0K;|3Dx_j2d#B*_B!ax$Yt3wE&|mu}x2tc{o4dpt@uDcT
zKQ3Z(-y-0lZx$!AbiNTrmrXsU@Y{ZO%{2EE21BV@@2mM$xU--KI
zhB;^?GGqGKv12peldA3L3;1HtJg^30h#p7QqLICEn6a{1eN9b`h}^xLOV>g}LxY3w
zy~j7rRq4_|IYilSQ^3NoL|#!!`{5s8CaQhZJ-Bqa=Ocj$E*T6cUJMnF`~^L@udcp6
zT;4?b?dj;aFV6d4Y36K^;?d8CKr_fX<`!YDhG?aD#u$)4q?e2@uSjvEXhPDo1w&>T
ziQdh*;omhx`H(xg?6tPOaqF0-5fu=H;4X9mPGb@WRY5%K(%l!$BIm3pOJP{xz@!h6
z4XIYo6S@{&YhE2}I=4S`a1${^m)TC0T@hV0V!Dy9jnS@cA!*Q;-gW;FV@H4MB*Qnl
zmZhq4iJ(b@#&sgUq)5HqvPIk8ZDdC>>Q4W|Ng~WJd8zP5`Cfw@mWqmsP2q)4CTllz
zAKre_<}t2deJw=2A3vqk@*B7t8bv5wEMpTBXA{Rd-+W#z=x-kPotcwPDl)fPK2;L<
z!KtpLQH~|fW(jv&Ko=vJr@f%9cc<<~njZ=V0eoVIMH`XEK62Y3zwDdqv!FO>ii>UEyBXI@@%MQ&V|sCgKI?0Tn8C
zRzt2V!vn;t(rS$&2qz~R<;$N6ZgJ7kDc-~*@-KA{KSXbLdB=TrUxx^-7_2L;3T(cN
zEuG!75qXq|-p;YV?GG&t7gR&7x8xYkm!4(m59e#$m{?~ovXn!_eB$taw)?_?11+w-~SEH<0nbj!FHS^Ilu)RM9wOLYA%
z29in|&}&6gol&oGZ6nrJHFL|+CUP)pX8o^IQ$D!o+Z0L-QTUm(w6tAhx~e|>rtWr@
zUG>zRK-E0M&jk=K$<)+z&nV|G&{+DuwxO<$@MfR|H?$*pDJDsMv;a;Bs4juH&L8u|
zQSsIb;>?J(CA7DD2O=jZvz?N`mmC(V%d_1nYK}pN*?)`80nVM7Zp0uI@?L~XCM`#s
zDeiEx^0c>n^478UXv~29?eMFiD$&~o$x+8o9A7xq6TrX}4WXIAi$2fatR+NzK8K(!
zeJurNbWx5Xy1$g%H2Z87k(=lDHbo~ICh`Ljox`%RRs*SCs)(A|$HLK3FO0Z~y|yb}
zX0KdX(UN(d*T(;h@H;3dhTO^%T3Pnr232^DFz>+)JfR|*5fRxIX5NAV{>F!Qnp#+N
zi1_P1tS!!K04FBPPBXr|5$=(fzF$ygvrA09))_h8SydK`;t5yg_jFyu{_NK-Fm4A0
zb%@uY;PmuPT!6W_V!fxWHQj^FV3_Md!5C;x<{~)6r4Lb
zK24&qgGAS3o+hLE-LzH-=OqNDXl(O0&+kwo-+dW!T$*lr{lnU)wfWj|F+r-9*(=Vr
z803>$A7++7lBBlWG!sFT#Trw%ccc>jXz@|M{F1O5avvV_Br}eo=x=(o1}?R!Oq)g!
zCy7Dj92485@EbRd@(JeM+YlnCFiB4r)Df3oZ0l6&KI}RfZw;I!bkH2gNCaK6MJ*l~
zN^{`9!YE)?bHW!KO}Ea}m~Bd#t6I>9^N?>Zy>|!kznpa*X+wF)OKqF@WAp^Lp8X&S
zxz^0$q!6M}OoA@a>9{8RQgp(@1?-h_Oc!%Fs-6i&S;NfG7j__*hA6dvXdC7h7i
zUOpiXB#Ol0P0^@8!;>2rWj#3Wr%KP*OM=3~(!~UGathIEw7I_)%5tZZdOyuf%ZPu`^9H7mHPbM&&k>IO4F@rp8HE(U0vIil9{1`
zl#r%LU4q&FU}|nYv!dx37!;IlDL?9{y}pKq+-1bKeVeoi&3Pv)IMO6myDqg^UdcGu
z;j*tRuQ&4zVq|h{4TBll7M-0rb(AEqJ=6BLOZ>Z#IBR6&3dOqoF10}P_px=oP#&$4B#-#
z;mREbTFVttmyI@ek$)6vx#
zRlC(ruDY0TWUnmAa>D#ZeFF*Smh~kJ;@H
z3m~48udlCPj;e~KOC2c}gb3d9^d9IVAL7!AGG7EWjMcoFZ9gYMU13$qsj(*q3g>^R
zIi
zAf7i28jW_p-wefnCY&5On}&tApFJ$U?3kaQA8<5gVy}0-eSUp2u>Fidqg2n+K2Bgw
z&f_R%_G{li&GA)DhYIxad(^X#wl;k?=GsU~_nlMQJm^DT*OZs1&(?dnJ`J5|Xb|+9
zBPJ;RqQ!DOiHcIzDPebu{;>Wu%Tv`nC2un1NCS>Ov~+!`{zl;#`9bB2kB-~zaYWw2
z>Y~q=gC`H-Kp=#nYRt39?t`~`@fwg${mTy6`Ek`lJVg#AQEDm((829qkl7ZR6RApd
zI!pww5My!Q>c2f-FxpJakiJf>>3#K+A+ne@U3;@3!3$_P+=sq-CUVrvi{=&<7C0ym
z6O~;QcON?P#Y=3fP6zXh2J86i8{LY84NR=>U_~DG=9WD-Fv|NAIic`VWC{Aj%Q8aO
z=B+MLRjF_zJly-NsO9+#h>sf*#0&fCJ%#l*IYg^&Bv9_wkA<2%!!PIuMH+=X{KOSP
zrQxQXDX%+k7Tp3@#B05h1!4PrX&vL?%AL4P|6s+L+yZ+y^`roa2NstC+Z54{HPS=M
zX=hmrZ!>NSL5wEjaa?{0Tho+RRt{eN4PCo$XDPRFJm3g?SzbLWqk=~*csKSgw8n*9Tvnk}
zH}xAvU7x8C3<63zfx?s7efW~h;rfg6ESz4!;?mNeD`sEAf8c(x-L323G`oWT)9^8`
z;V-untV*ic-2f+hA@X5tX;cZir1m6Lw(L86kDd6>+RF!!`a>S5^jD|GW{oU&?zr_M
zzoGey9lg_cUsoUbe1&b27|I~6Q^w#A(L2?q80A?#Otb%;=Z~%_osR0NOgj{5zYSug
zBG}53gKrR2=tRj5+`NSDT|428_)|%+*+i=<%>wiekY_C@
zU!)BEgPaKTE(MYAdJvP@kI1cEB{)Qhp=3I7^q)s<_E0
z^8GmdE_hB)o*#1|Dz$%wM14efDf?3iAl7|P3qtUqG3AHVO8&5G{jpT^i
zeM>sa#}A+y)iioLQzW?S8SnPp4cPvoAx$3?))6PN$aP|Qt7SW=KVLA-pn;i!cB+s9
zCisnxG))5It{{v6^Oi0!$ABJ5fTBx)9)LR6jhc)r3C1-4w59l;Tblp5W%_Sh6X)8wlAt3|1^R*FCIs-IdH;@o-%3Dl
z2}%n>v&p-wt69Jc`~{AJxeTorI4S`7+r~|TC|#R84cy*@wfYB>fefNb?E%u0jxjJ9
z08{V_QWO}U6>-L<_kW@cB}eVsr~tV_@GC{
zWBU)`lw~AN{VBaS<<}+L^wGW)9ZKZS{y@|HQHriVLuW}U!oNs@dS)LxMreB5-$cM9b3I7K~R3k
Date: Tue, 5 Dec 2023 17:41:07 +0000
Subject: [PATCH 14/28] Update composer.json to change Discord URL and update
minimum-stability and allow-plugins configuration.
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
composer.json | 10 +++++++---
server.php | 19 +++++++++++++++++++
2 files changed, 26 insertions(+), 3 deletions(-)
create mode 100644 server.php
diff --git a/composer.json b/composer.json
index 6e4b146844..1d8e4cd227 100644
--- a/composer.json
+++ b/composer.json
@@ -23,7 +23,7 @@
"paid": "https://tastyigniter.com/premium-support",
"issues": "https://github.com/tastyigniter/TastyIgniter/issues",
"forum": "https://forum.tastyigniter.com",
- "discord": "https/tastyigniter.com/discord",
+ "discord": "https/tastyigniter.com/chat",
"docs": "https://tastyigniter.com/docs",
"source": "https://github.com/tastyigniter/TastyIgniter"
},
@@ -72,11 +72,15 @@
"dont-discover": []
}
},
- "minimum-stability": "stable",
+ "minimum-stability": "dev",
"prefer-stable": true,
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
- "sort-packages": true
+ "sort-packages": true,
+ "allow-plugins": {
+ "composer/installers": true,
+ "php-http/discovery": true
+ }
}
}
diff --git a/server.php b/server.php
new file mode 100644
index 0000000000..627537da07
--- /dev/null
+++ b/server.php
@@ -0,0 +1,19 @@
+
Date: Tue, 2 Jan 2024 19:51:12 +0000
Subject: [PATCH 15/28] Remove igniter:package-discover command from
post-autoload-dump scripts to avoid running twice
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
composer.json | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/composer.json b/composer.json
index 1d8e4cd227..7a36b15d2e 100644
--- a/composer.json
+++ b/composer.json
@@ -54,8 +54,7 @@
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
- "@php artisan package:discover --ansi",
- "@php artisan igniter:package-discover --ansi"
+ "@php artisan package:discover --ansi"
],
"post-update-cmd": [
"@php artisan vendor:publish --tag=laravel-assets --ansi --force"
From 2950c6788c188df0f1450f5c6b52d9c605dc2e06 Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Thu, 18 Jan 2024 00:50:18 +0000
Subject: [PATCH 16/28] Avoid static method when throwing exception for better
trace log
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
composer.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/composer.json b/composer.json
index 7a36b15d2e..bc1a2f0e84 100644
--- a/composer.json
+++ b/composer.json
@@ -28,7 +28,7 @@
"source": "https://github.com/tastyigniter/TastyIgniter"
},
"require": {
- "php": "^8.1",
+ "php": "^8.2",
"tastyigniter/core": "dev-master",
"tastyigniter/ti-ext-api": "v4.x-dev as v4.0",
"tastyigniter/ti-ext-automation": "v4.x-dev as v4.0",
From d6c0cee2ce8b27d8d11f422f75fdfbc252f07e80 Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Fri, 12 Apr 2024 10:46:04 +0100
Subject: [PATCH 17/28] Add followsymlinks options and rewritebase path
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
public/.htaccess | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/public/.htaccess b/public/.htaccess
index 3aec5e27e5..e411442edd 100644
--- a/public/.htaccess
+++ b/public/.htaccess
@@ -1,10 +1,18 @@
Options -MultiViews -Indexes
+ # Options +FollowSymlinks
+ ## Turn on URL rewriting
+ ##
RewriteEngine On
+ ## !IMPORTANT! You may need to uncomment the following line for some hosting environments,
+ ## If your installation resides in a subdirectory, enter the name here also
+ ##
+ # RewriteBase /
+
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
From ccffc1430e8b611b52bfe66d3172b0240a486b9f Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Wed, 24 Apr 2024 16:26:06 +0100
Subject: [PATCH 18/28] Use wildcard version for TI packages
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
composer.json | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/composer.json b/composer.json
index bc1a2f0e84..599d965d46 100644
--- a/composer.json
+++ b/composer.json
@@ -30,14 +30,14 @@
"require": {
"php": "^8.2",
"tastyigniter/core": "dev-master",
- "tastyigniter/ti-ext-api": "v4.x-dev as v4.0",
- "tastyigniter/ti-ext-automation": "v4.x-dev as v4.0",
- "tastyigniter/ti-ext-broadcast": "v4.x-dev as v4.0",
- "tastyigniter/ti-ext-socialite": "v4.x-dev as v4.0",
- "tastyigniter/ti-theme-orange": "v4.x-dev as v4.0"
+ "tastyigniter/ti-ext-api": "*",
+ "tastyigniter/ti-ext-automation": "*",
+ "tastyigniter/ti-ext-broadcast": "*",
+ "tastyigniter/ti-ext-socialite": "*",
+ "tastyigniter/ti-theme-orange": "*"
},
"require-dev": {
- "tastyigniter/ti-ext-debugbar": "v4.x-dev as v4.0"
+ "tastyigniter/ti-ext-debugbar": "*"
},
"autoload": {
"psr-4": {
From ba802d0091191fbaa9a610e320980f273e8840ed Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Thu, 9 May 2024 13:00:56 +0100
Subject: [PATCH 19/28] Add version constraints to ti composer packages
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
composer.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/composer.json b/composer.json
index 599d965d46..8942d83947 100644
--- a/composer.json
+++ b/composer.json
@@ -33,11 +33,11 @@
"tastyigniter/ti-ext-api": "*",
"tastyigniter/ti-ext-automation": "*",
"tastyigniter/ti-ext-broadcast": "*",
- "tastyigniter/ti-ext-socialite": "*",
- "tastyigniter/ti-theme-orange": "*"
+ "tastyigniter/ti-ext-socialite": "v4.x-dev as 4.0",
+ "tastyigniter/ti-theme-orange": "v4.x-dev as 4.0"
},
"require-dev": {
- "tastyigniter/ti-ext-debugbar": "*"
+ "tastyigniter/ti-ext-debugbar": "v4.x-dev as 4.0"
},
"autoload": {
"psr-4": {
From 742422c0ec508c84c6802d4014d6bce208fb3dea Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Sat, 8 Jun 2024 14:03:27 +0100
Subject: [PATCH 20/28] Restructure to match laravel v11 app structure
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
.env.example | 43 +++--
app/Console/Kernel.php | 32 ----
app/Exceptions/Handler.php | 50 ------
app/Http/Controllers/Controller.php | 8 +-
app/Http/Kernel.php | 67 -------
app/Http/Middleware/Authenticate.php | 21 ---
app/Http/Middleware/EncryptCookies.php | 17 --
.../PreventRequestsDuringMaintenance.php | 17 --
.../Middleware/RedirectIfAuthenticated.php | 32 ----
app/Http/Middleware/TrimStrings.php | 19 --
app/Http/Middleware/TrustHosts.php | 20 ---
app/Http/Middleware/TrustProxies.php | 28 ---
app/Http/Middleware/VerifyCsrfToken.php | 17 --
app/Models/User.php | 5 +-
app/Providers/AuthServiceProvider.php | 18 --
app/Providers/BroadcastServiceProvider.php | 21 ---
app/Providers/EventServiceProvider.php | 42 -----
app/Providers/RouteServiceProvider.php | 52 ------
bootstrap/app.php | 69 ++-----
bootstrap/providers.php | 5 +
composer.json | 12 +-
config/app.php | 139 +++-----------
config/auth.php | 40 +++--
config/broadcasting.php | 33 +++-
config/cache.php | 33 ++--
config/cors.php | 34 ----
config/database.php | 97 +++++-----
config/filesystems.php | 14 +-
config/hashing.php | 25 ++-
config/logging.php | 36 ++--
config/mail.php | 55 ++++--
config/queue.php | 55 ++++--
config/sanctum.php | 67 -------
config/services.php | 18 +-
config/session.php | 80 +++++----
config/view.php | 36 ----
lang/en/auth.php | 20 ---
lang/en/pagination.php | 19 --
lang/en/passwords.php | 22 ---
lang/en/validation.php | 169 ------------------
public/index.php | 48 +----
routes/api.php | 16 --
routes/channels.php | 16 --
43 files changed, 389 insertions(+), 1278 deletions(-)
delete mode 100644 app/Console/Kernel.php
delete mode 100644 app/Exceptions/Handler.php
delete mode 100644 app/Http/Kernel.php
delete mode 100644 app/Http/Middleware/Authenticate.php
delete mode 100644 app/Http/Middleware/EncryptCookies.php
delete mode 100644 app/Http/Middleware/PreventRequestsDuringMaintenance.php
delete mode 100644 app/Http/Middleware/RedirectIfAuthenticated.php
delete mode 100644 app/Http/Middleware/TrimStrings.php
delete mode 100644 app/Http/Middleware/TrustHosts.php
delete mode 100644 app/Http/Middleware/TrustProxies.php
delete mode 100644 app/Http/Middleware/VerifyCsrfToken.php
delete mode 100644 app/Providers/AuthServiceProvider.php
delete mode 100644 app/Providers/BroadcastServiceProvider.php
delete mode 100644 app/Providers/EventServiceProvider.php
delete mode 100644 app/Providers/RouteServiceProvider.php
create mode 100644 bootstrap/providers.php
delete mode 100644 config/cors.php
delete mode 100644 config/sanctum.php
delete mode 100644 config/view.php
delete mode 100644 lang/en/auth.php
delete mode 100644 lang/en/pagination.php
delete mode 100644 lang/en/passwords.php
delete mode 100644 lang/en/validation.php
delete mode 100644 routes/api.php
delete mode 100644 routes/channels.php
diff --git a/.env.example b/.env.example
index e7ad97dcb8..56ce8bb07d 100644
--- a/.env.example
+++ b/.env.example
@@ -1,31 +1,50 @@
-# APP CONFIG (DO NOT REMOVE!)
-APP_NAME=
+APP_NAME=TastyIgniter
APP_ENV=production
APP_KEY=
APP_DEBUG=false
-APP_URL=
+APP_TIMEZONE=UTC
+APP_URL=http://localhost
+
+APP_LOCALE=en
+APP_FALLBACK_LOCALE=en
+APP_FAKER_LOCALE=en_US
+
+APP_MAINTENANCE_DRIVER=file
+APP_MAINTENANCE_STORE=database
IGNITER_CARTE_KEY=
IGNITER_LOCATION_MODE=multiple
-# DATABASE CONFIG (DO NOT REMOVE!)
+BCRYPT_ROUNDS=12
+
+LOG_CHANNEL=stack
+LOG_STACK=single
+LOG_DEPRECATIONS_CHANNEL=null
+LOG_LEVEL=debug
+
DB_CONNECTION=mysql
DB_HOST=
DB_PORT=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
-DB_PREFIX=
-BROADCAST_DRIVER=log
-CACHE_DRIVER=file
-FILESYSTEM_DISK=local
-QUEUE_CONNECTION=sync
-SESSION_DRIVER=file
+SESSION_DRIVER=database
SESSION_LIFETIME=120
+SESSION_ENCRYPT=false
+SESSION_PATH=/
+SESSION_DOMAIN=null
+
+BROADCAST_CONNECTION=log
+FILESYSTEM_DISK=local
+QUEUE_CONNECTION=database
+
+CACHE_STORE=database
+CACHE_PREFIX=
MEMCACHED_HOST=127.0.0.1
+REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
@@ -36,7 +55,7 @@ MAIL_PORT=null
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
-MAIL_FROM_ADDRESS=noreply@tastyigniter.tld
+MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
@@ -52,3 +71,5 @@ PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
+
+VITE_APP_NAME="${APP_NAME}"
diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
deleted file mode 100644
index d8bc1d29f0..0000000000
--- a/app/Console/Kernel.php
+++ /dev/null
@@ -1,32 +0,0 @@
-command('inspire')->hourly();
- }
-
- /**
- * Register the commands for the application.
- *
- * @return void
- */
- protected function commands()
- {
- $this->load(__DIR__.'/Commands');
-
- require base_path('routes/console.php');
- }
-}
diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php
deleted file mode 100644
index 82a37e4008..0000000000
--- a/app/Exceptions/Handler.php
+++ /dev/null
@@ -1,50 +0,0 @@
-, \Psr\Log\LogLevel::*>
- */
- protected $levels = [
- //
- ];
-
- /**
- * A list of the exception types that are not reported.
- *
- * @var array>
- */
- protected $dontReport = [
- //
- ];
-
- /**
- * A list of the inputs that are never flashed to the session on validation exceptions.
- *
- * @var array
- */
- protected $dontFlash = [
- 'current_password',
- 'password',
- 'password_confirmation',
- ];
-
- /**
- * Register the exception handling callbacks for the application.
- *
- * @return void
- */
- public function register()
- {
- $this->reportable(function (Throwable $e) {
- //
- });
- }
-}
diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php
index a0a2a8a34a..3aa2580a94 100644
--- a/app/Http/Controllers/Controller.php
+++ b/app/Http/Controllers/Controller.php
@@ -2,12 +2,6 @@
namespace App\Http\Controllers;
-use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
-use Illuminate\Foundation\Bus\DispatchesJobs;
-use Illuminate\Foundation\Validation\ValidatesRequests;
-use Illuminate\Routing\Controller as BaseController;
-
-class Controller extends BaseController
+abstract class Controller
{
- use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}
diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php
deleted file mode 100644
index 416cadd296..0000000000
--- a/app/Http/Kernel.php
+++ /dev/null
@@ -1,67 +0,0 @@
-
- */
- protected $middleware = [
- // \App\Http\Middleware\TrustHosts::class,
- \App\Http\Middleware\TrustProxies::class,
- \Illuminate\Http\Middleware\HandleCors::class,
- \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
- \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
- \App\Http\Middleware\TrimStrings::class,
- \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
- ];
-
- /**
- * The application's route middleware groups.
- *
- * @var array>
- */
- protected $middlewareGroups = [
- 'web' => [
- \App\Http\Middleware\EncryptCookies::class,
- \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
- \Illuminate\Session\Middleware\StartSession::class,
- \Illuminate\View\Middleware\ShareErrorsFromSession::class,
- \App\Http\Middleware\VerifyCsrfToken::class,
- \Illuminate\Routing\Middleware\SubstituteBindings::class,
- ],
-
- 'api' => [
- // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
- 'throttle:api',
- \Illuminate\Routing\Middleware\SubstituteBindings::class,
- ],
- ];
-
- /**
- * The application's route middleware.
- *
- * These middleware may be assigned to groups or used individually.
- *
- * @var array
- */
- protected $middlewareAliases = [
- 'auth' => \App\Http\Middleware\Authenticate::class,
- 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
- 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
- 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
- 'can' => \Illuminate\Auth\Middleware\Authorize::class,
- 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
- 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
- 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
- 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
- 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
- ];
-}
diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php
deleted file mode 100644
index 704089a7fe..0000000000
--- a/app/Http/Middleware/Authenticate.php
+++ /dev/null
@@ -1,21 +0,0 @@
-expectsJson()) {
- return route('login');
- }
- }
-}
diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php
deleted file mode 100644
index 867695bdcf..0000000000
--- a/app/Http/Middleware/EncryptCookies.php
+++ /dev/null
@@ -1,17 +0,0 @@
-
- */
- protected $except = [
- //
- ];
-}
diff --git a/app/Http/Middleware/PreventRequestsDuringMaintenance.php b/app/Http/Middleware/PreventRequestsDuringMaintenance.php
deleted file mode 100644
index 74cbd9a9ea..0000000000
--- a/app/Http/Middleware/PreventRequestsDuringMaintenance.php
+++ /dev/null
@@ -1,17 +0,0 @@
-
- */
- protected $except = [
- //
- ];
-}
diff --git a/app/Http/Middleware/RedirectIfAuthenticated.php b/app/Http/Middleware/RedirectIfAuthenticated.php
deleted file mode 100644
index a2813a0648..0000000000
--- a/app/Http/Middleware/RedirectIfAuthenticated.php
+++ /dev/null
@@ -1,32 +0,0 @@
-check()) {
- return redirect(RouteServiceProvider::HOME);
- }
- }
-
- return $next($request);
- }
-}
diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php
deleted file mode 100644
index 88cadcaaf2..0000000000
--- a/app/Http/Middleware/TrimStrings.php
+++ /dev/null
@@ -1,19 +0,0 @@
-
- */
- protected $except = [
- 'current_password',
- 'password',
- 'password_confirmation',
- ];
-}
diff --git a/app/Http/Middleware/TrustHosts.php b/app/Http/Middleware/TrustHosts.php
deleted file mode 100644
index 7186414c65..0000000000
--- a/app/Http/Middleware/TrustHosts.php
+++ /dev/null
@@ -1,20 +0,0 @@
-
- */
- public function hosts()
- {
- return [
- $this->allSubdomainsOfApplicationUrl(),
- ];
- }
-}
diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php
deleted file mode 100644
index 3391630ecc..0000000000
--- a/app/Http/Middleware/TrustProxies.php
+++ /dev/null
@@ -1,28 +0,0 @@
-|string|null
- */
- protected $proxies;
-
- /**
- * The headers that should be used to detect proxies.
- *
- * @var int
- */
- protected $headers =
- Request::HEADER_X_FORWARDED_FOR |
- Request::HEADER_X_FORWARDED_HOST |
- Request::HEADER_X_FORWARDED_PORT |
- Request::HEADER_X_FORWARDED_PROTO |
- Request::HEADER_X_FORWARDED_AWS_ELB;
-}
diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php
deleted file mode 100644
index 9e86521722..0000000000
--- a/app/Http/Middleware/VerifyCsrfToken.php
+++ /dev/null
@@ -1,17 +0,0 @@
-
- */
- protected $except = [
- //
- ];
-}
diff --git a/app/Models/User.php b/app/Models/User.php
index 89963686eb..48cd97bdad 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -2,15 +2,14 @@
namespace App\Models;
-use Illuminate\Contracts\Auth\MustVerifyEmail;
+//use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
-use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
- use HasApiTokens, HasFactory, Notifiable;
+ use HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php
deleted file mode 100644
index ff713f54a3..0000000000
--- a/app/Providers/AuthServiceProvider.php
+++ /dev/null
@@ -1,18 +0,0 @@
->
- */
- protected $listen = [
- Registered::class => [
- SendEmailVerificationNotification::class,
- ],
- ];
-
- /**
- * Register any events for your application.
- *
- * @return void
- */
- public function boot()
- {
- //
- }
-
- /**
- * Determine if events and listeners should be automatically discovered.
- *
- * @return bool
- */
- public function shouldDiscoverEvents()
- {
- return false;
- }
-}
diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php
deleted file mode 100644
index ea87f2e57d..0000000000
--- a/app/Providers/RouteServiceProvider.php
+++ /dev/null
@@ -1,52 +0,0 @@
-configureRateLimiting();
-
- $this->routes(function () {
- Route::middleware('api')
- ->prefix('api')
- ->group(base_path('routes/api.php'));
-
- Route::middleware('web')
- ->group(base_path('routes/web.php'));
- });
- }
-
- /**
- * Configure the rate limiters for the application.
- *
- * @return void
- */
- protected function configureRateLimiting()
- {
- RateLimiter::for('api', function (Request $request) {
- return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
- });
- }
-}
diff --git a/bootstrap/app.php b/bootstrap/app.php
index 037e17df03..5f447460cb 100644
--- a/bootstrap/app.php
+++ b/bootstrap/app.php
@@ -1,55 +1,18 @@
singleton(
- Illuminate\Contracts\Http\Kernel::class,
- App\Http\Kernel::class
-);
-
-$app->singleton(
- Illuminate\Contracts\Console\Kernel::class,
- App\Console\Kernel::class
-);
-
-$app->singleton(
- Illuminate\Contracts\Debug\ExceptionHandler::class,
- App\Exceptions\Handler::class
-);
-
-/*
-|--------------------------------------------------------------------------
-| Return The Application
-|--------------------------------------------------------------------------
-|
-| This script returns the application instance. The instance is given to
-| the calling script so we can separate the building of the instances
-| from the actual running of the application and sending responses.
-|
-*/
-
-return $app;
+use Illuminate\Foundation\Application;
+use Illuminate\Foundation\Configuration\Exceptions;
+use Illuminate\Foundation\Configuration\Middleware;
+
+return Application::configure(basePath: dirname(__DIR__))
+ ->withRouting(
+ web: __DIR__.'/../routes/web.php',
+ commands: __DIR__.'/../routes/console.php',
+ health: '/up',
+ )
+ ->withMiddleware(function(Middleware $middleware) {
+ //
+ })
+ ->withExceptions(function(Exceptions $exceptions) {
+ //
+ })->create();
diff --git a/bootstrap/providers.php b/bootstrap/providers.php
new file mode 100644
index 0000000000..38b258d185
--- /dev/null
+++ b/bootstrap/providers.php
@@ -0,0 +1,5 @@
+ env('APP_NAME', 'TastyIgniter'),
+ 'name' => env('APP_NAME', 'Laravel'),
/*
|--------------------------------------------------------------------------
@@ -41,7 +39,7 @@
|
*/
- 'debug' => (bool)env('APP_DEBUG', false),
+ 'debug' => (bool) env('APP_DEBUG', false),
/*
|--------------------------------------------------------------------------
@@ -50,26 +48,24 @@
|
| This URL is used by the console to properly generate URLs when using
| the Artisan command line tool. You should set this to the root of
- | your application so that it is used when running Artisan tasks.
+ | the application so that it's available within Artisan commands.
|
*/
'url' => env('APP_URL', 'http://localhost'),
- 'asset_url' => env('ASSET_URL'),
-
/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
- | will be used by the PHP date and date-time functions. We have gone
- | ahead and set this to a sensible default for you out of the box.
+ | will be used by the PHP date and date-time functions. The timezone
+ | is set to "UTC" by default as it is suitable for most use cases.
|
*/
- 'timezone' => 'UTC',
+ 'timezone' => env('APP_TIMEZONE', 'UTC'),
/*
|--------------------------------------------------------------------------
@@ -77,53 +73,37 @@
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
- | by the translation service provider. You are free to set this value
- | to any of the locales which will be supported by the application.
+ | by Laravel's translation / localization methods. This option can be
+ | set to any locale for which you plan to have translation strings.
|
*/
- 'locale' => 'en',
+ 'locale' => env('APP_LOCALE', 'en'),
- /*
- |--------------------------------------------------------------------------
- | Application Fallback Locale
- |--------------------------------------------------------------------------
- |
- | The fallback locale determines the locale to use when the current one
- | is not available. You may change the value to correspond to any of
- | the language folders that are provided through your application.
- |
- */
+ 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'),
- 'fallback_locale' => 'en',
-
- /*
- |--------------------------------------------------------------------------
- | Faker Locale
- |--------------------------------------------------------------------------
- |
- | This locale will be used by the Faker PHP library when generating fake
- | data for your database seeds. For example, this will be used to get
- | localized telephone numbers, street address information and more.
- |
- */
-
- 'faker_locale' => 'en_US',
+ 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'),
/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
- | This key is used by the Illuminate encrypter service and should be set
- | to a random, 32 character string, otherwise these encrypted strings
- | will not be safe. Please do this before deploying an application!
+ | This key is utilized by Laravel's encryption services and should be set
+ | to a random, 32 character string to ensure that all encrypted values
+ | are secure. You should do this prior to deploying the application.
|
*/
+ 'cipher' => 'AES-256-CBC',
+
'key' => env('APP_KEY'),
- 'cipher' => 'AES-256-CBC',
+ 'previous_keys' => [
+ ...array_filter(
+ explode(',', env('APP_PREVIOUS_KEYS', ''))
+ ),
+ ],
/*
|--------------------------------------------------------------------------
@@ -139,77 +119,8 @@
*/
'maintenance' => [
- 'driver' => 'file',
- // 'store' => 'redis',
+ 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'),
+ 'store' => env('APP_MAINTENANCE_STORE', 'database'),
],
- /*
- |--------------------------------------------------------------------------
- | Autoloaded Service Providers
- |--------------------------------------------------------------------------
- |
- | The service providers listed here will be automatically loaded on the
- | request to your application. Feel free to add your own services to
- | this array to grant expanded functionality to your applications.
- |
- */
-
- 'providers' => [
-
- /*
- * Laravel Framework Service Providers...
- */
- Illuminate\Auth\AuthServiceProvider::class,
- Illuminate\Broadcasting\BroadcastServiceProvider::class,
- Illuminate\Bus\BusServiceProvider::class,
- Illuminate\Cache\CacheServiceProvider::class,
- Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
- Illuminate\Cookie\CookieServiceProvider::class,
- Illuminate\Database\DatabaseServiceProvider::class,
- Illuminate\Encryption\EncryptionServiceProvider::class,
- Illuminate\Filesystem\FilesystemServiceProvider::class,
- Illuminate\Foundation\Providers\FoundationServiceProvider::class,
- Illuminate\Hashing\HashServiceProvider::class,
- Illuminate\Mail\MailServiceProvider::class,
- Illuminate\Notifications\NotificationServiceProvider::class,
- Illuminate\Pagination\PaginationServiceProvider::class,
- Illuminate\Pipeline\PipelineServiceProvider::class,
- Illuminate\Queue\QueueServiceProvider::class,
- Illuminate\Redis\RedisServiceProvider::class,
- Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
- Illuminate\Session\SessionServiceProvider::class,
- Illuminate\Translation\TranslationServiceProvider::class,
- Illuminate\Validation\ValidationServiceProvider::class,
- Illuminate\View\ViewServiceProvider::class,
-
- /*
- * Package Service Providers...
- */
-
- /*
- * Application Service Providers...
- */
- App\Providers\AppServiceProvider::class,
- App\Providers\AuthServiceProvider::class,
- // App\Providers\BroadcastServiceProvider::class,
- App\Providers\EventServiceProvider::class,
- App\Providers\RouteServiceProvider::class,
-
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Class Aliases
- |--------------------------------------------------------------------------
- |
- | This array of class aliases will be registered when this application
- | is started. However, feel free to register as many as you wish as
- | the aliases are "lazy" loaded so they don't hinder performance.
- |
- */
-
- 'aliases' => Facade::defaultAliases()->merge([
- // 'ExampleClass' => App\Example\ExampleClass::class,
- ])->toArray(),
-
];
diff --git a/config/auth.php b/config/auth.php
index d8c6cee7c1..0ba5d5d8f1 100644
--- a/config/auth.php
+++ b/config/auth.php
@@ -7,15 +7,15 @@
| Authentication Defaults
|--------------------------------------------------------------------------
|
- | This option controls the default authentication "guard" and password
- | reset options for your application. You may change these defaults
+ | This option defines the default authentication "guard" and password
+ | reset "broker" for your application. You may change these values
| as required, but they're a perfect start for most applications.
|
*/
'defaults' => [
- 'guard' => 'web',
- 'passwords' => 'users',
+ 'guard' => env('AUTH_GUARD', 'web'),
+ 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'),
],
/*
@@ -25,11 +25,11 @@
|
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
- | here which uses session storage and the Eloquent user provider.
+ | which utilizes session storage plus the Eloquent user provider.
|
- | All authentication drivers have a user provider. This defines how the
+ | All authentication guards have a user provider, which defines how the
| users are actually retrieved out of your database or other storage
- | mechanisms used by this application to persist your user's data.
+ | system used by the application. Typically, Eloquent is utilized.
|
| Supported: "session"
|
@@ -47,12 +47,12 @@
| User Providers
|--------------------------------------------------------------------------
|
- | All authentication drivers have a user provider. This defines how the
+ | All authentication guards have a user provider, which defines how the
| users are actually retrieved out of your database or other storage
- | mechanisms used by this application to persist your user's data.
+ | system used by the application. Typically, Eloquent is utilized.
|
| If you have multiple user tables or models you may configure multiple
- | sources which represent each model / table. These sources may then
+ | providers to represent the model / table. These providers may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
@@ -62,7 +62,7 @@
'providers' => [
'users' => [
'driver' => 'eloquent',
- 'model' => App\Models\User::class,
+ 'model' => env('AUTH_MODEL', App\Models\User::class),
],
// 'users' => [
@@ -76,20 +76,24 @@
| Resetting Passwords
|--------------------------------------------------------------------------
|
- | You may specify multiple password reset configurations if you have more
- | than one user table or model in the application and you want to have
- | separate password reset settings based on the specific user types.
+ | These configuration options specify the behavior of Laravel's password
+ | reset functionality, including the table utilized for token storage
+ | and the user provider that is invoked to actually retrieve users.
|
- | The expire time is the number of minutes that each reset token will be
+ | The expiry time is the number of minutes that each reset token will be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
+ | The throttle setting is the number of seconds a user must wait before
+ | generating more password reset tokens. This prevents the user from
+ | quickly generating a very large amount of password reset tokens.
+ |
*/
'passwords' => [
'users' => [
'provider' => 'users',
- 'table' => 'password_resets',
+ 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'),
'expire' => 60,
'throttle' => 60,
],
@@ -101,11 +105,11 @@
|--------------------------------------------------------------------------
|
| Here you may define the amount of seconds before a password confirmation
- | times out and the user is prompted to re-enter their password via the
+ | window expires and users are asked to re-enter their password via the
| confirmation screen. By default, the timeout lasts for three hours.
|
*/
- 'password_timeout' => 10800,
+ 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800),
];
diff --git a/config/broadcasting.php b/config/broadcasting.php
index 67fcbbd6c8..ebc3fb9cf1 100644
--- a/config/broadcasting.php
+++ b/config/broadcasting.php
@@ -11,11 +11,11 @@
| framework when an event needs to be broadcast. You may set this to
| any of the connections defined in the "connections" array below.
|
- | Supported: "pusher", "ably", "redis", "log", "null"
+ | Supported: "reverb", "pusher", "ably", "redis", "log", "null"
|
*/
- 'default' => env('BROADCAST_DRIVER', 'null'),
+ 'default' => env('BROADCAST_CONNECTION', 'null'),
/*
|--------------------------------------------------------------------------
@@ -23,13 +23,29 @@
|--------------------------------------------------------------------------
|
| Here you may define all of the broadcast connections that will be used
- | to broadcast events to other systems or over websockets. Samples of
+ | to broadcast events to other systems or over WebSockets. Samples of
| each available type of connection are provided inside this array.
|
*/
'connections' => [
+ 'reverb' => [
+ 'driver' => 'reverb',
+ 'key' => env('REVERB_APP_KEY'),
+ 'secret' => env('REVERB_APP_SECRET'),
+ 'app_id' => env('REVERB_APP_ID'),
+ 'options' => [
+ 'host' => env('REVERB_HOST'),
+ 'port' => env('REVERB_PORT', 443),
+ 'scheme' => env('REVERB_SCHEME', 'https'),
+ 'useTLS' => env('REVERB_SCHEME', 'https') === 'https',
+ ],
+ 'client_options' => [
+ // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
+ ],
+ ],
+
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
@@ -37,7 +53,11 @@
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'),
- 'useTLS' => true,
+ 'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com',
+ 'port' => env('PUSHER_PORT', 443),
+ 'scheme' => env('PUSHER_SCHEME', 'https'),
+ 'encrypted' => true,
+ 'useTLS' => env('PUSHER_SCHEME', 'https') === 'https',
],
'client_options' => [
// Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
@@ -49,11 +69,6 @@
'key' => env('ABLY_KEY'),
],
- 'redis' => [
- 'driver' => 'redis',
- 'connection' => 'default',
- ],
-
'log' => [
'driver' => 'log',
],
diff --git a/config/cache.php b/config/cache.php
index a1962de1e7..6b57b18332 100644
--- a/config/cache.php
+++ b/config/cache.php
@@ -9,13 +9,13 @@
| Default Cache Store
|--------------------------------------------------------------------------
|
- | This option controls the default cache connection that gets used while
- | using this caching library. This connection is used when another is
- | not explicitly specified when executing a given caching function.
+ | This option controls the default cache store that will be used by the
+ | framework. This connection is utilized if another isn't explicitly
+ | specified when running a cache operation inside the application.
|
*/
- 'default' => env('CACHE_DRIVER', 'file'),
+ 'default' => env('CACHE_STORE', 'database'),
/*
|--------------------------------------------------------------------------
@@ -26,17 +26,13 @@
| well as their drivers. You may even define multiple stores for the
| same cache driver to group types of items stored in your caches.
|
- | Supported drivers: "apc", "array", "database", "file",
- | "memcached", "redis", "dynamodb", "octane", "null"
+ | Supported drivers: "array", "database", "file", "memcached",
+ | "redis", "dynamodb", "octane", "null"
|
*/
'stores' => [
- 'apc' => [
- 'driver' => 'apc',
- ],
-
'array' => [
'driver' => 'array',
'serialize' => false,
@@ -44,14 +40,15 @@
'database' => [
'driver' => 'database',
- 'table' => 'cache',
- 'connection' => null,
- 'lock_connection' => null,
+ 'table' => env('DB_CACHE_TABLE', 'cache'),
+ 'connection' => env('DB_CACHE_CONNECTION'),
+ 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'),
],
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache/data'),
+ 'lock_path' => storage_path('framework/cache/data'),
],
'memcached' => [
@@ -75,8 +72,8 @@
'redis' => [
'driver' => 'redis',
- 'connection' => 'cache',
- 'lock_connection' => 'default',
+ 'connection' => env('REDIS_CACHE_CONNECTION', 'cache'),
+ 'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'),
],
'dynamodb' => [
@@ -99,12 +96,12 @@
| Cache Key Prefix
|--------------------------------------------------------------------------
|
- | When utilizing the APC, database, memcached, Redis, or DynamoDB cache
- | stores there might be other applications using the same cache. For
+ | When utilizing the APC, database, memcached, Redis, and DynamoDB cache
+ | stores, there might be other applications using the same cache. For
| that reason, you may prefix every cache key to avoid collisions.
|
*/
- 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'tastyigniter'), '_').'_cache_'),
+ 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'),
];
diff --git a/config/cors.php b/config/cors.php
deleted file mode 100644
index 8a39e6daa6..0000000000
--- a/config/cors.php
+++ /dev/null
@@ -1,34 +0,0 @@
- ['api/*', 'sanctum/csrf-cookie'],
-
- 'allowed_methods' => ['*'],
-
- 'allowed_origins' => ['*'],
-
- 'allowed_origins_patterns' => [],
-
- 'allowed_headers' => ['*'],
-
- 'exposed_headers' => [],
-
- 'max_age' => 0,
-
- 'supports_credentials' => false,
-
-];
diff --git a/config/database.php b/config/database.php
index 9efec255ee..f8e8dcb8a6 100644
--- a/config/database.php
+++ b/config/database.php
@@ -10,26 +10,22 @@
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
- | to use as your default connection for all database work. Of course
- | you may use many connections at once using the Database library.
+ | to use as your default connection for database operations. This is
+ | the connection which will be utilized unless another connection
+ | is explicitly specified when you execute a query / statement.
|
*/
- 'default' => env('DB_CONNECTION', 'mysql'),
+ 'default' => env('DB_CONNECTION', 'sqlite'),
/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
- | Here are each of the database connections setup for your application.
- | Of course, examples of configuring each database platform that is
- | supported by Laravel is shown below to make development simple.
- |
- |
- | All database work in Laravel is done through the PHP PDO facilities
- | so make sure you have the driver for your particular database of
- | choice installed on your machine before you begin development.
+ | Below are all of the database connections defined for your application.
+ | An example configuration is provided for each database system which
+ | is supported by Laravel. You're free to add / remove connections.
|
*/
@@ -37,7 +33,7 @@
'sqlite' => [
'driver' => 'sqlite',
- 'url' => env('DATABASE_URL'),
+ 'url' => env('DB_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
@@ -45,18 +41,38 @@
'mysql' => [
'driver' => 'mysql',
- 'url' => env('DATABASE_URL'),
+ 'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
- 'charset' => 'utf8mb4',
- 'collation' => 'utf8mb4_unicode_ci',
- 'prefix' => env('DB_PREFIX', 'ti_'),
+ 'charset' => env('DB_CHARSET', 'utf8mb4'),
+ 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
+ 'prefix' => '',
'prefix_indexes' => true,
- 'strict' => false,
+ 'strict' => true,
+ 'engine' => null,
+ 'options' => extension_loaded('pdo_mysql') ? array_filter([
+ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+ ]) : [],
+ ],
+
+ 'mariadb' => [
+ 'driver' => 'mariadb',
+ 'url' => env('DB_URL'),
+ 'host' => env('DB_HOST', '127.0.0.1'),
+ 'port' => env('DB_PORT', '3306'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
+ 'password' => env('DB_PASSWORD', ''),
+ 'unix_socket' => env('DB_SOCKET', ''),
+ 'charset' => env('DB_CHARSET', 'utf8mb4'),
+ 'collation' => env('DB_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'),
@@ -65,13 +81,13 @@
'pgsql' => [
'driver' => 'pgsql',
- 'url' => env('DATABASE_URL'),
+ 'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
- 'charset' => 'utf8',
+ 'charset' => env('DB_CHARSET', 'utf8'),
'prefix' => '',
'prefix_indexes' => true,
'search_path' => 'public',
@@ -80,13 +96,13 @@
'sqlsrv' => [
'driver' => 'sqlsrv',
- 'url' => env('DATABASE_URL'),
+ 'url' => env('DB_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
- 'charset' => 'utf8',
+ 'charset' => env('DB_CHARSET', 'utf8'),
'prefix' => '',
'prefix_indexes' => true,
// 'encrypt' => env('DB_ENCRYPT', 'yes'),
@@ -102,11 +118,14 @@
|
| This table keeps track of all the migrations that have already run for
| your application. Using this information, we can determine which of
- | the migrations on disk haven't actually been run in the database.
+ | the migrations on disk haven't actually been run on the database.
|
*/
- 'migrations' => 'migrations',
+ 'migrations' => [
+ 'table' => 'migrations',
+ 'update_date_on_publish' => true,
+ ],
/*
|--------------------------------------------------------------------------
@@ -115,7 +134,7 @@
|
| Redis is an open source, fast, and advanced key-value store that also
| 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.
+ | such as Memcached. You may define your connection settings here.
|
*/
@@ -125,7 +144,7 @@
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
- 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'tastyigniter'), '_').'_database_'),
+ 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
'default' => [
@@ -148,20 +167,4 @@
],
- /*
- |--------------------------------------------------------------------------
- | DBAL Mappings
- |--------------------------------------------------------------------------
- |
- | If your migrations include ALTER commands then the library
- | `doctrine/dbal` is used to make those changes. That library supports
- | Laravel specific data type(s). This section maps those datatypes.
- |
- */
-
- 'dbal' => [
- 'types' => [
- 'timestamp' => \Illuminate\Database\DBAL\TimestampType::class,
- ],
- ],
];
diff --git a/config/filesystems.php b/config/filesystems.php
index fe9d2f2127..44fe9c828e 100644
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -9,7 +9,7 @@
|
| Here you may specify the default filesystem disk that should be used
| by the framework. The "local" disk, as well as a variety of cloud
- | based disks are available to your application. Just store away!
+ | based disks are available to your application for file storage.
|
*/
@@ -20,9 +20,9 @@
| Filesystem Disks
|--------------------------------------------------------------------------
|
- | Here you may configure as many filesystem "disks" as you wish, and you
- | may even configure multiple disks of the same driver. Defaults have
- | been set up for each driver as an example of the required values.
+ | Below you may configure as many filesystem disks as necessary, and you
+ | may even configure multiple disks for the same driver. Examples for
+ | most supported storage drivers are configured here for reference.
|
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
@@ -33,7 +33,7 @@
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
- 'throw' => true,
+ 'throw' => false,
],
'public' => [
@@ -41,7 +41,7 @@
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
- 'throw' => true,
+ 'throw' => false,
],
's3' => [
@@ -53,7 +53,7 @@
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
- 'throw' => true,
+ 'throw' => false,
],
],
diff --git a/config/hashing.php b/config/hashing.php
index bcd3be4c28..9eb408e09e 100644
--- a/config/hashing.php
+++ b/config/hashing.php
@@ -15,7 +15,7 @@
|
*/
- 'driver' => 'bcrypt',
+ 'driver' => env('HASH_DRIVER', 'bcrypt'),
/*
|--------------------------------------------------------------------------
@@ -29,7 +29,8 @@
*/
'bcrypt' => [
- 'rounds' => env('BCRYPT_ROUNDS', 10),
+ 'rounds' => env('BCRYPT_ROUNDS', 12),
+ 'verify' => env('HASH_VERIFY', true),
],
/*
@@ -44,9 +45,23 @@
*/
'argon' => [
- 'memory' => 65536,
- 'threads' => 1,
- 'time' => 4,
+ 'memory' => env('ARGON_MEMORY', 65536),
+ 'threads' => env('ARGON_THREADS', 1),
+ 'time' => env('ARGON_TIME', 4),
+ 'verify' => env('HASH_VERIFY', true),
],
+ /*
+ |--------------------------------------------------------------------------
+ | Rehash On Login
+ |--------------------------------------------------------------------------
+ |
+ | Setting this option to true will tell Laravel to automatically rehash
+ | the user's password during login if the configured work factor for
+ | the algorithm has changed, allowing graceful upgrades of hashes.
+ |
+ */
+
+ 'rehash_on_login' => true,
+
];
diff --git a/config/logging.php b/config/logging.php
index 09d0cb9ccf..d526b64d75 100644
--- a/config/logging.php
+++ b/config/logging.php
@@ -3,6 +3,7 @@
use Monolog\Handler\NullHandler;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
+use Monolog\Processor\PsrLogMessageProcessor;
return [
@@ -11,9 +12,9 @@
| Default Log Channel
|--------------------------------------------------------------------------
|
- | This option defines the default log channel that gets used when writing
- | messages to the logs. The name specified in this option should match
- | one of the channels defined in the "channels" configuration array.
+ | This option defines the default log channel that is utilized to write
+ | messages to your logs. The value provided here should match one of
+ | the channels present in the list of "channels" configured below.
|
*/
@@ -32,7 +33,7 @@
'deprecations' => [
'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
- 'trace' => false,
+ 'trace' => env('LOG_DEPRECATIONS_TRACE', false),
],
/*
@@ -40,20 +41,20 @@
| Log Channels
|--------------------------------------------------------------------------
|
- | Here you may configure the log channels for your application. Out of
- | the box, Laravel uses the Monolog PHP logging library. This gives
- | you a variety of powerful log handlers / formatters to utilize.
+ | Here you may configure the log channels for your application. Laravel
+ | utilizes the Monolog PHP logging library, which includes a variety
+ | of powerful log handlers and formatters that you're free to use.
|
| Available Drivers: "single", "daily", "slack", "syslog",
- | "errorlog", "monolog",
- | "custom", "stack"
+ | "errorlog", "monolog", "custom", "stack"
|
*/
'channels' => [
+
'stack' => [
'driver' => 'stack',
- 'channels' => ['single'],
+ 'channels' => explode(',', env('LOG_STACK', 'single')),
'ignore_exceptions' => false,
],
@@ -61,21 +62,24 @@
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
+ 'replace_placeholders' => true,
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
- 'days' => 14,
+ 'days' => env('LOG_DAILY_DAYS', 14),
+ 'replace_placeholders' => true,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
- 'username' => 'TastyIgniter Log',
- 'emoji' => ':boom:',
+ 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'),
+ 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'),
'level' => env('LOG_LEVEL', 'critical'),
+ 'replace_placeholders' => true,
],
'papertrail' => [
@@ -87,6 +91,7 @@
'port' => env('PAPERTRAIL_PORT'),
'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
],
+ 'processors' => [PsrLogMessageProcessor::class],
],
'stderr' => [
@@ -97,16 +102,20 @@
'with' => [
'stream' => 'php://stderr',
],
+ 'processors' => [PsrLogMessageProcessor::class],
],
'syslog' => [
'driver' => 'syslog',
'level' => env('LOG_LEVEL', 'debug'),
+ 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER),
+ 'replace_placeholders' => true,
],
'errorlog' => [
'driver' => 'errorlog',
'level' => env('LOG_LEVEL', 'debug'),
+ 'replace_placeholders' => true,
],
'null' => [
@@ -117,6 +126,7 @@
'emergency' => [
'path' => storage_path('logs/laravel.log'),
],
+
],
];
diff --git a/config/mail.php b/config/mail.php
index 534395a369..ad513854ba 100644
--- a/config/mail.php
+++ b/config/mail.php
@@ -7,13 +7,14 @@
| Default Mailer
|--------------------------------------------------------------------------
|
- | This option controls the default mailer that is used to send any email
- | messages sent by your application. Alternative mailers may be setup
- | and used as needed; however, this mailer will be used by default.
+ | This option controls the default mailer that is used to send all email
+ | messages unless another mailer is explicitly specified when sending
+ | the message. All additional mailers can be configured within the
+ | "mailers" array. Examples of each type of mailer are provided.
|
*/
- 'default' => env('MAIL_MAILER', 'smtp'),
+ 'default' => env('MAIL_MAILER', 'log'),
/*
|--------------------------------------------------------------------------
@@ -24,20 +25,23 @@
| their respective settings. Several examples have been configured for
| you and you are free to add your own as your application requires.
|
- | Laravel supports a variety of mail "transport" drivers to be used while
- | sending an e-mail. You will specify which one you are using for your
- | mailers below. You are free to add additional mailers as required.
+ | Laravel supports a variety of mail "transport" drivers that can be used
+ | when delivering an email. You may specify which one you're using for
+ | your mailers below. You may also add additional mailers if needed.
|
- | Supported: "smtp", "sendmail", "mailgun", "ses",
- | "postmark", "log", "array", "failover"
+ | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
+ | "postmark", "resend", "log", "array",
+ | "failover", "roundrobin"
|
*/
'mailers' => [
+
'smtp' => [
'transport' => 'smtp',
- 'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
- 'port' => env('MAIL_PORT', 587),
+ 'url' => env('MAIL_URL'),
+ 'host' => env('MAIL_HOST', '127.0.0.1'),
+ 'port' => env('MAIL_PORT', 2525),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
@@ -49,12 +53,16 @@
'transport' => 'ses',
],
- 'mailgun' => [
- 'transport' => 'mailgun',
- ],
-
'postmark' => [
'transport' => 'postmark',
+ // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),
+ // 'client' => [
+ // 'timeout' => 5,
+ // ],
+ ],
+
+ 'resend' => [
+ 'transport' => 'resend',
],
'sendmail' => [
@@ -78,6 +86,15 @@
'log',
],
],
+
+ 'roundrobin' => [
+ 'transport' => 'roundrobin',
+ 'mailers' => [
+ 'ses',
+ 'postmark',
+ ],
+ ],
+
],
/*
@@ -85,9 +102,9 @@
| Global "From" Address
|--------------------------------------------------------------------------
|
- | You may wish for all e-mails sent by your application to be sent from
- | the same address. Here, you may specify a name and address that is
- | used globally for all e-mails that are sent by your application.
+ | You may wish for all emails sent by your application to be sent from
+ | the same address. Here you may specify a name and address that is
+ | used globally for all emails that are sent by your application.
|
*/
@@ -108,7 +125,7 @@
*/
'markdown' => [
- 'theme' => 'default',
+ 'theme' => env('MAIL_MARKDOWN_THEME', 'default'),
'paths' => [
resource_path('views/vendor/mail'),
diff --git a/config/queue.php b/config/queue.php
index 25ea5a8193..116bd8d002 100644
--- a/config/queue.php
+++ b/config/queue.php
@@ -7,22 +7,22 @@
| 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 every one. Here you may define a default connection.
+ | Laravel's queue supports a variety of backends via a single, unified
+ | API, giving you convenient access to each backend using identical
+ | syntax for each. The default queue connection is defined below.
|
*/
- 'default' => env('QUEUE_CONNECTION', 'sync'),
+ 'default' => env('QUEUE_CONNECTION', 'database'),
/*
|--------------------------------------------------------------------------
| Queue Connections
|--------------------------------------------------------------------------
|
- | Here you may configure the connection information for each server that
- | is used by your application. A default configuration has been added
- | for each back-end shipped with Laravel. You are free to add more.
+ | Here you may configure the connection options for every queue backend
+ | used by your application. An example configuration is provided for
+ | each backend supported by Laravel. You're also free to add more.
|
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
@@ -36,17 +36,18 @@
'database' => [
'driver' => 'database',
- 'table' => 'jobs',
- 'queue' => 'default',
- 'retry_after' => 90,
+ 'connection' => env('DB_QUEUE_CONNECTION'),
+ 'table' => env('DB_QUEUE_TABLE', 'jobs'),
+ 'queue' => env('DB_QUEUE', 'default'),
+ 'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90),
'after_commit' => false,
],
'beanstalkd' => [
'driver' => 'beanstalkd',
- 'host' => 'localhost',
- 'queue' => 'default',
- 'retry_after' => 90,
+ 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'),
+ 'queue' => env('BEANSTALKD_QUEUE', 'default'),
+ 'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90),
'block_for' => 0,
'after_commit' => false,
],
@@ -64,29 +65,47 @@
'redis' => [
'driver' => 'redis',
- 'connection' => 'default',
+ 'connection' => env('REDIS_QUEUE_CONNECTION', 'default'),
'queue' => env('REDIS_QUEUE', 'default'),
- 'retry_after' => 90,
+ 'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90),
'block_for' => null,
'after_commit' => false,
],
],
+ /*
+ |--------------------------------------------------------------------------
+ | Job Batching
+ |--------------------------------------------------------------------------
+ |
+ | The following options configure the database and table that store job
+ | batching information. These options can be updated to any database
+ | connection and table which has been defined by your application.
+ |
+ */
+
+ 'batching' => [
+ 'database' => env('DB_CONNECTION', 'sqlite'),
+ 'table' => 'job_batches',
+ ],
+
/*
|--------------------------------------------------------------------------
| Failed Queue Jobs
|--------------------------------------------------------------------------
|
| These options configure the behavior of failed queue job logging so you
- | can control which database and table are used to store the jobs that
- | have failed. You may change them to any database / table you wish.
+ | can control how and where failed jobs are stored. Laravel ships with
+ | support for storing failed jobs in a simple file or in a database.
+ |
+ | Supported drivers: "database-uuids", "dynamodb", "file", "null"
|
*/
'failed' => [
'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
- 'database' => env('DB_CONNECTION', 'mysql'),
+ 'database' => env('DB_CONNECTION', 'sqlite'),
'table' => 'failed_jobs',
],
diff --git a/config/sanctum.php b/config/sanctum.php
deleted file mode 100644
index 529cfdc991..0000000000
--- a/config/sanctum.php
+++ /dev/null
@@ -1,67 +0,0 @@
- explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
- '%s%s',
- 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',
- Sanctum::currentApplicationUrlWithPort()
- ))),
-
- /*
- |--------------------------------------------------------------------------
- | Sanctum Guards
- |--------------------------------------------------------------------------
- |
- | This array contains the authentication guards that will be checked when
- | Sanctum is trying to authenticate a request. If none of these guards
- | are able to authenticate the request, Sanctum will use the bearer
- | token that's present on an incoming request for authentication.
- |
- */
-
- 'guard' => ['web'],
-
- /*
- |--------------------------------------------------------------------------
- | Expiration Minutes
- |--------------------------------------------------------------------------
- |
- | This value controls the number of minutes until an issued token will be
- | considered expired. If this value is null, personal access tokens do
- | not expire. This won't tweak the lifetime of first-party sessions.
- |
- */
-
- 'expiration' => null,
-
- /*
- |--------------------------------------------------------------------------
- | Sanctum Middleware
- |--------------------------------------------------------------------------
- |
- | When authenticating your first-party SPA with Sanctum you may need to
- | customize some of the middleware Sanctum uses while processing the
- | request. You may change the middleware listed below as required.
- |
- */
-
- 'middleware' => [
- 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
- 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
- ],
-
-];
diff --git a/config/services.php b/config/services.php
index 0ace530e8d..27a36175f8 100644
--- a/config/services.php
+++ b/config/services.php
@@ -14,13 +14,6 @@
|
*/
- 'mailgun' => [
- 'domain' => env('MAILGUN_DOMAIN'),
- 'secret' => env('MAILGUN_SECRET'),
- 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
- 'scheme' => 'https',
- ],
-
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
],
@@ -31,4 +24,15 @@
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],
+ 'resend' => [
+ 'key' => env('RESEND_KEY'),
+ ],
+
+ 'slack' => [
+ 'notifications' => [
+ 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'),
+ 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'),
+ ],
+ ],
+
];
diff --git a/config/session.php b/config/session.php
index 59f34fd932..f0b6541e58 100644
--- a/config/session.php
+++ b/config/session.php
@@ -9,16 +9,16 @@
| Default Session Driver
|--------------------------------------------------------------------------
|
- | This option controls the default session "driver" that will be used on
- | requests. By default, we will use the lightweight native driver but
- | you may specify any of the other wonderful drivers provided here.
+ | This option determines the default session driver that is utilized for
+ | incoming requests. Laravel supports a variety of storage options to
+ | persist session data. Database storage is a great default choice.
|
| Supported: "file", "cookie", "database", "apc",
| "memcached", "redis", "dynamodb", "array"
|
*/
- 'driver' => env('SESSION_DRIVER', 'file'),
+ 'driver' => env('SESSION_DRIVER', 'database'),
/*
|--------------------------------------------------------------------------
@@ -27,13 +27,14 @@
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
- | to immediately expire on the browser closing, set that option.
+ | to expire immediately when the browser is closed then you may
+ | indicate that via the expire_on_close configuration option.
|
*/
'lifetime' => env('SESSION_LIFETIME', 120),
- 'expire_on_close' => false,
+ 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false),
/*
|--------------------------------------------------------------------------
@@ -41,21 +42,21 @@
|--------------------------------------------------------------------------
|
| This option allows you to easily specify that all of your session data
- | should be encrypted before it is stored. All encryption will be run
- | automatically by Laravel and you can use the Session like normal.
+ | should be encrypted before it's stored. All encryption is performed
+ | automatically by Laravel and you may use the session like normal.
|
*/
- 'encrypt' => false,
+ 'encrypt' => env('SESSION_ENCRYPT', false),
/*
|--------------------------------------------------------------------------
| Session File Location
|--------------------------------------------------------------------------
|
- | When using the native session driver, we need a location where session
- | files may be stored. A default has been set for you but a different
- | location may be specified. This is only needed for file sessions.
+ | When utilizing the "file" session driver, the session files are placed
+ | on disk. The default storage location is defined here; however, you
+ | are free to provide another location where they should be stored.
|
*/
@@ -79,22 +80,22 @@
| Session Database Table
|--------------------------------------------------------------------------
|
- | When using the "database" session driver, you may specify the table we
- | should use to manage the sessions. Of course, a sensible default is
- | provided for you; however, you are free to change this as needed.
+ | When using the "database" session driver, you may specify the table to
+ | be used to store sessions. Of course, a sensible default is defined
+ | for you; however, you're welcome to change this to another table.
|
*/
- 'table' => 'sessions',
+ 'table' => env('SESSION_TABLE', 'sessions'),
/*
|--------------------------------------------------------------------------
| Session Cache Store
|--------------------------------------------------------------------------
|
- | While using one of the framework's cache driven session backends you may
- | list a cache store that should be used for these sessions. This value
- | must match with one of the application's configured cache "stores".
+ | When using one of the framework's cache driven session backends, you may
+ | define the cache store which should be used to store the session data
+ | between requests. This must match one of your defined cache stores.
|
| Affects: "apc", "dynamodb", "memcached", "redis"
|
@@ -120,15 +121,15 @@
| Session Cookie Name
|--------------------------------------------------------------------------
|
- | Here you may change the name of the cookie used to identify a session
- | instance by ID. The name specified here will get used every time a
- | new session cookie is created by the framework for every driver.
+ | Here you may change the name of the session cookie that is created by
+ | the framework. Typically, you should not need to change this value
+ | since doing so does not grant a meaningful security improvement.
|
*/
'cookie' => env(
'SESSION_COOKIE',
- Str::slug(env('APP_NAME', 'tastyigniter'), '_').'_session'
+ Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
),
/*
@@ -138,20 +139,20 @@
|
| The session cookie path determines the path for which the cookie will
| be regarded as available. Typically, this will be the root path of
- | your application but you are free to change this when necessary.
+ | your application, but you're free to change this when necessary.
|
*/
- 'path' => '/',
+ 'path' => env('SESSION_PATH', '/'),
/*
|--------------------------------------------------------------------------
| Session Cookie Domain
|--------------------------------------------------------------------------
|
- | Here you may change the domain of the cookie used to identify a session
- | in your application. This will determine which domains the cookie is
- | available to in your application. A sensible default has been set.
+ | This value determines the domain and subdomains the session cookie is
+ | available to. By default, the cookie will be available to the root
+ | domain and all subdomains. Typically, this shouldn't be changed.
|
*/
@@ -177,11 +178,11 @@
|
| Setting this value to true will prevent JavaScript from accessing the
| value of the cookie and the cookie will only be accessible through
- | the HTTP protocol. You are free to modify this option if needed.
+ | the HTTP protocol. It's unlikely you should disable this option.
|
*/
- 'http_only' => true,
+ 'http_only' => env('SESSION_HTTP_ONLY', true),
/*
|--------------------------------------------------------------------------
@@ -190,12 +191,27 @@
|
| This option determines how your cookies behave when cross-site requests
| take place, and can be used to mitigate CSRF attacks. By default, we
- | will set this value to "lax" since this is a secure default value.
+ | will set this value to "lax" to permit secure cross-site requests.
+ |
+ | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
|
| Supported: "lax", "strict", "none", null
|
*/
- 'same_site' => 'lax',
+ 'same_site' => env('SESSION_SAME_SITE', 'lax'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Partitioned Cookies
+ |--------------------------------------------------------------------------
+ |
+ | Setting this value to true will tie the cookie to the top-level site for
+ | a cross-site context. Partitioned cookies are accepted by the browser
+ | when flagged "secure" and the Same-Site attribute is set to "none".
+ |
+ */
+
+ 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false),
];
diff --git a/config/view.php b/config/view.php
deleted file mode 100644
index 22b8a18d32..0000000000
--- a/config/view.php
+++ /dev/null
@@ -1,36 +0,0 @@
- [
- resource_path('views'),
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Compiled View Path
- |--------------------------------------------------------------------------
- |
- | This option determines where all the compiled Blade templates will be
- | stored for your application. Typically, this is within the storage
- | directory. However, as usual, you are free to change this value.
- |
- */
-
- 'compiled' => env(
- 'VIEW_COMPILED_PATH',
- realpath(storage_path('framework/views'))
- ),
-
-];
diff --git a/lang/en/auth.php b/lang/en/auth.php
deleted file mode 100644
index 6598e2c060..0000000000
--- a/lang/en/auth.php
+++ /dev/null
@@ -1,20 +0,0 @@
- 'These credentials do not match our records.',
- 'password' => 'The provided password is incorrect.',
- 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
-
-];
diff --git a/lang/en/pagination.php b/lang/en/pagination.php
deleted file mode 100644
index d481411877..0000000000
--- a/lang/en/pagination.php
+++ /dev/null
@@ -1,19 +0,0 @@
- '« Previous',
- 'next' => 'Next »',
-
-];
diff --git a/lang/en/passwords.php b/lang/en/passwords.php
deleted file mode 100644
index 2345a56b5a..0000000000
--- a/lang/en/passwords.php
+++ /dev/null
@@ -1,22 +0,0 @@
- 'Your password has been reset!',
- 'sent' => 'We have emailed your password reset link!',
- 'throttled' => 'Please wait before retrying.',
- 'token' => 'This password reset token is invalid.',
- 'user' => "We can't find a user with that email address.",
-
-];
diff --git a/lang/en/validation.php b/lang/en/validation.php
deleted file mode 100644
index 724b5ace57..0000000000
--- a/lang/en/validation.php
+++ /dev/null
@@ -1,169 +0,0 @@
- 'The :attribute must be accepted.',
- 'accepted_if' => 'The :attribute must be accepted when :other is :value.',
- 'active_url' => 'The :attribute is not a valid URL.',
- 'after' => 'The :attribute must be a date after :date.',
- 'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
- 'alpha' => 'The :attribute must only contain letters.',
- 'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.',
- 'alpha_num' => 'The :attribute must only contain letters and numbers.',
- 'array' => 'The :attribute must be an array.',
- 'before' => 'The :attribute must be a date before :date.',
- 'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
- 'between' => [
- 'array' => 'The :attribute must have between :min and :max items.',
- 'file' => 'The :attribute must be between :min and :max kilobytes.',
- 'numeric' => 'The :attribute must be between :min and :max.',
- 'string' => 'The :attribute must be between :min and :max characters.',
- ],
- 'boolean' => 'The :attribute field must be true or false.',
- 'confirmed' => 'The :attribute confirmation does not match.',
- 'current_password' => 'The password is incorrect.',
- 'date' => 'The :attribute is not a valid date.',
- 'date_equals' => 'The :attribute must be a date equal to :date.',
- 'date_format' => 'The :attribute does not match the format :format.',
- 'declined' => 'The :attribute must be declined.',
- 'declined_if' => 'The :attribute must be declined when :other is :value.',
- 'different' => 'The :attribute and :other must be different.',
- 'digits' => 'The :attribute must be :digits digits.',
- 'digits_between' => 'The :attribute must be between :min and :max digits.',
- 'dimensions' => 'The :attribute has invalid image dimensions.',
- 'distinct' => 'The :attribute field has a duplicate value.',
- 'email' => 'The :attribute must be a valid email address.',
- 'ends_with' => 'The :attribute must end with one of the following: :values.',
- 'enum' => 'The selected :attribute is invalid.',
- 'exists' => 'The selected :attribute is invalid.',
- 'file' => 'The :attribute must be a file.',
- 'filled' => 'The :attribute field must have a value.',
- 'gt' => [
- 'array' => 'The :attribute must have more than :value items.',
- 'file' => 'The :attribute must be greater than :value kilobytes.',
- 'numeric' => 'The :attribute must be greater than :value.',
- 'string' => 'The :attribute must be greater than :value characters.',
- ],
- 'gte' => [
- 'array' => 'The :attribute must have :value items or more.',
- 'file' => 'The :attribute must be greater than or equal to :value kilobytes.',
- 'numeric' => 'The :attribute must be greater than or equal to :value.',
- 'string' => 'The :attribute must be greater than or equal to :value characters.',
- ],
- 'image' => 'The :attribute must be an image.',
- 'in' => 'The selected :attribute is invalid.',
- 'in_array' => 'The :attribute field does not exist in :other.',
- 'integer' => 'The :attribute must be an integer.',
- 'ip' => 'The :attribute must be a valid IP address.',
- 'ipv4' => 'The :attribute must be a valid IPv4 address.',
- 'ipv6' => 'The :attribute must be a valid IPv6 address.',
- 'json' => 'The :attribute must be a valid JSON string.',
- 'lt' => [
- 'array' => 'The :attribute must have less than :value items.',
- 'file' => 'The :attribute must be less than :value kilobytes.',
- 'numeric' => 'The :attribute must be less than :value.',
- 'string' => 'The :attribute must be less than :value characters.',
- ],
- 'lte' => [
- 'array' => 'The :attribute must not have more than :value items.',
- 'file' => 'The :attribute must be less than or equal to :value kilobytes.',
- 'numeric' => 'The :attribute must be less than or equal to :value.',
- 'string' => 'The :attribute must be less than or equal to :value characters.',
- ],
- 'mac_address' => 'The :attribute must be a valid MAC address.',
- 'max' => [
- 'array' => 'The :attribute must not have more than :max items.',
- 'file' => 'The :attribute must not be greater than :max kilobytes.',
- 'numeric' => 'The :attribute must not be greater than :max.',
- 'string' => 'The :attribute must not be greater than :max characters.',
- ],
- 'mimes' => 'The :attribute must be a file of type: :values.',
- 'mimetypes' => 'The :attribute must be a file of type: :values.',
- 'min' => [
- 'array' => 'The :attribute must have at least :min items.',
- 'file' => 'The :attribute must be at least :min kilobytes.',
- 'numeric' => 'The :attribute must be at least :min.',
- 'string' => 'The :attribute must be at least :min characters.',
- ],
- 'multiple_of' => 'The :attribute must be a multiple of :value.',
- 'not_in' => 'The selected :attribute is invalid.',
- 'not_regex' => 'The :attribute format is invalid.',
- 'numeric' => 'The :attribute must be a number.',
- 'password' => [
- 'letters' => 'The :attribute must contain at least one letter.',
- 'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.',
- 'numbers' => 'The :attribute must contain at least one number.',
- 'symbols' => 'The :attribute must contain at least one symbol.',
- 'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',
- ],
- 'present' => 'The :attribute field must be present.',
- 'prohibited' => 'The :attribute field is prohibited.',
- 'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
- 'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
- 'prohibits' => 'The :attribute field prohibits :other from being present.',
- 'regex' => 'The :attribute format is invalid.',
- 'required' => 'The :attribute field is required.',
- 'required_array_keys' => 'The :attribute field must contain entries for: :values.',
- 'required_if' => 'The :attribute field is required when :other is :value.',
- 'required_unless' => 'The :attribute field is required unless :other is in :values.',
- 'required_with' => 'The :attribute field is required when :values is present.',
- 'required_with_all' => 'The :attribute field is required when :values are present.',
- 'required_without' => 'The :attribute field is required when :values is not present.',
- 'required_without_all' => 'The :attribute field is required when none of :values are present.',
- 'same' => 'The :attribute and :other must match.',
- 'size' => [
- 'array' => 'The :attribute must contain :size items.',
- 'file' => 'The :attribute must be :size kilobytes.',
- 'numeric' => 'The :attribute must be :size.',
- 'string' => 'The :attribute must be :size characters.',
- ],
- 'starts_with' => 'The :attribute must start with one of the following: :values.',
- 'string' => 'The :attribute must be a string.',
- 'timezone' => 'The :attribute must be a valid timezone.',
- 'unique' => 'The :attribute has already been taken.',
- 'uploaded' => 'The :attribute failed to upload.',
- 'url' => 'The :attribute must be a valid URL.',
- 'uuid' => 'The :attribute must be a valid UUID.',
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => [
- 'attribute-name' => [
- 'rule-name' => 'custom-message',
- ],
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap our attribute placeholder
- | with something more reader friendly such as "E-Mail Address" instead
- | of "email". This simply helps us make our message more expressive.
- |
- */
-
- 'attributes' => [],
-
-];
diff --git a/public/index.php b/public/index.php
index 1d69f3a289..947d98963f 100644
--- a/public/index.php
+++ b/public/index.php
@@ -1,55 +1,17 @@
make(Kernel::class);
-
-$response = $kernel->handle(
- $request = Request::capture()
-)->send();
-
-$kernel->terminate($request, $response);
+// Bootstrap Laravel and handle the request...
+(require_once __DIR__.'/../bootstrap/app.php')
+ ->handleRequest(Request::capture());
diff --git a/routes/api.php b/routes/api.php
deleted file mode 100644
index 9b079b2265..0000000000
--- a/routes/api.php
+++ /dev/null
@@ -1,16 +0,0 @@
-get('/user', function (Request $request) {
-// return $request->user();
-//});
diff --git a/routes/channels.php b/routes/channels.php
deleted file mode 100644
index 4ea0d983bf..0000000000
--- a/routes/channels.php
+++ /dev/null
@@ -1,16 +0,0 @@
-id === (int) $id;
-//});
From 9b894bd82a6fc2a95e4c8e5af108585fe50b5481 Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Mon, 10 Jun 2024 13:45:18 +0100
Subject: [PATCH 21/28] Bring back DB_PREFIX env
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
.env.example | 1 +
config/database.php | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.env.example b/.env.example
index 56ce8bb07d..e81e72ad30 100644
--- a/.env.example
+++ b/.env.example
@@ -28,6 +28,7 @@ DB_PORT=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
+DB_PREFIX=
SESSION_DRIVER=database
SESSION_LIFETIME=120
diff --git a/config/database.php b/config/database.php
index f8e8dcb8a6..43f2beb4e8 100644
--- a/config/database.php
+++ b/config/database.php
@@ -50,7 +50,7 @@
'unix_socket' => env('DB_SOCKET', ''),
'charset' => env('DB_CHARSET', 'utf8mb4'),
'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
- 'prefix' => '',
+ 'prefix' => env('DB_PREFIX', ''),
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
From 10e10580164cdbf5742848dbf171028620e0b7f4 Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Mon, 1 Jul 2024 15:32:45 +0100
Subject: [PATCH 22/28] Disable DB strict mode
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
config/database.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/database.php b/config/database.php
index 43f2beb4e8..958416356d 100644
--- a/config/database.php
+++ b/config/database.php
@@ -52,7 +52,7 @@
'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
'prefix' => env('DB_PREFIX', ''),
'prefix_indexes' => true,
- 'strict' => true,
+ 'strict' => false,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
From 96e2303f0db2d99769fcc99019b442b2edd771ba Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Thu, 11 Jul 2024 15:40:36 +0100
Subject: [PATCH 23/28] Set default cache store and session driver to file
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
.env.example | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.env.example b/.env.example
index e81e72ad30..8e98499c7e 100644
--- a/.env.example
+++ b/.env.example
@@ -30,7 +30,7 @@ DB_USERNAME=
DB_PASSWORD=
DB_PREFIX=
-SESSION_DRIVER=database
+SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
@@ -40,7 +40,7 @@ BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database
-CACHE_STORE=database
+CACHE_STORE=file
CACHE_PREFIX=
MEMCACHED_HOST=127.0.0.1
From 318e360bdcae1c60fb07e74bceacd5236f1dfd2a Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Thu, 11 Jul 2024 15:41:16 +0100
Subject: [PATCH 24/28] Update composer deps and ignored files
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
.gitignore | 2 ++
composer.json | 11 +++--------
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/.gitignore b/.gitignore
index d9df07e27a..30e26efbd1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,5 @@ composer.lock
node_modules
/public/vendor
+/lang
+/storage/clockwork
diff --git a/composer.json b/composer.json
index 6b38c5a05e..23aaebb796 100644
--- a/composer.json
+++ b/composer.json
@@ -31,12 +31,7 @@
"php": "^8.2",
"laravel/framework": "^11.9",
"laravel/tinker": "^2.9",
- "tastyigniter/core": "dev-master",
- "tastyigniter/ti-ext-api": "*",
- "tastyigniter/ti-ext-automation": "*",
- "tastyigniter/ti-ext-broadcast": "*",
- "tastyigniter/ti-ext-socialite": "v4.x-dev as 4.0",
- "tastyigniter/ti-theme-orange": "v4.x-dev as 4.0"
+ "tastyigniter/core": "dev-master"
},
"require-dev": {
"fakerphp/faker": "^1.23",
@@ -44,8 +39,7 @@
"laravel/sail": "^1.26",
"mockery/mockery": "^1.6",
"nunomaduro/collision": "^8.0",
- "phpunit/phpunit": "^11.0.1",
- "tastyigniter/ti-ext-debugbar": "v4.x-dev as 4.0"
+ "phpunit/phpunit": "^11.0.1"
},
"autoload": {
"psr-4": {
@@ -86,6 +80,7 @@
"preferred-install": "dist",
"sort-packages": true,
"allow-plugins": {
+ "composer/installers": true,
"pestphp/pest-plugin": true,
"php-http/discovery": true
}
From fb35857f40714dba407299fa51c09d493e9d93b3 Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Sat, 3 Aug 2024 13:53:47 +0100
Subject: [PATCH 25/28] Add sail docker compose file
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
docker-compose.yml | 112 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 112 insertions(+)
create mode 100644 docker-compose.yml
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000000..02801e0ac0
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,112 @@
+services:
+ laravel.test:
+ build:
+ context: ./vendor/laravel/sail/runtimes/8.3
+ dockerfile: Dockerfile
+ args:
+ WWWGROUP: '${WWWGROUP}'
+ image: sail-8.3/app
+ extra_hosts:
+ - 'host.docker.internal:host-gateway'
+ ports:
+ - '${APP_PORT:-80}:80'
+ - '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
+ environment:
+ WWWUSER: '${WWWUSER}'
+ LARAVEL_SAIL: 1
+ XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
+ XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
+ IGNITION_LOCAL_SITES_PATH: '${PWD}'
+ volumes:
+ - '.:/var/www/html'
+ networks:
+ - sail
+ depends_on:
+ - mysql
+ - redis
+ - meilisearch
+ - mailpit
+ - selenium
+ mysql:
+ image: 'mysql/mysql-server:8.0'
+ ports:
+ - '${FORWARD_DB_PORT:-3306}:3306'
+ environment:
+ MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
+ MYSQL_ROOT_HOST: '%'
+ MYSQL_DATABASE: '${DB_DATABASE}'
+ MYSQL_USER: '${DB_USERNAME}'
+ MYSQL_PASSWORD: '${DB_PASSWORD}'
+ MYSQL_ALLOW_EMPTY_PASSWORD: 1
+ volumes:
+ - 'sail-mysql:/var/lib/mysql'
+ - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
+ networks:
+ - sail
+ healthcheck:
+ test:
+ - CMD
+ - mysqladmin
+ - ping
+ - '-p${DB_PASSWORD}'
+ retries: 3
+ timeout: 5s
+ redis:
+ image: 'redis:alpine'
+ ports:
+ - '${FORWARD_REDIS_PORT:-6379}:6379'
+ volumes:
+ - 'sail-redis:/data'
+ networks:
+ - sail
+ healthcheck:
+ test:
+ - CMD
+ - redis-cli
+ - ping
+ retries: 3
+ timeout: 5s
+ meilisearch:
+ image: 'getmeili/meilisearch:latest'
+ ports:
+ - '${FORWARD_MEILISEARCH_PORT:-7700}:7700'
+ environment:
+ MEILI_NO_ANALYTICS: '${MEILISEARCH_NO_ANALYTICS:-false}'
+ volumes:
+ - 'sail-meilisearch:/meili_data'
+ networks:
+ - sail
+ healthcheck:
+ test:
+ - CMD
+ - wget
+ - '--no-verbose'
+ - '--spider'
+ - 'http://127.0.0.1:7700/health'
+ retries: 3
+ timeout: 5s
+ mailpit:
+ image: 'axllent/mailpit:latest'
+ ports:
+ - '${FORWARD_MAILPIT_PORT:-1025}:1025'
+ - '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025'
+ networks:
+ - sail
+ selenium:
+ image: seleniarm/standalone-chromium
+ extra_hosts:
+ - 'host.docker.internal:host-gateway'
+ volumes:
+ - '/dev/shm:/dev/shm'
+ networks:
+ - sail
+networks:
+ sail:
+ driver: bridge
+volumes:
+ sail-mysql:
+ driver: local
+ sail-redis:
+ driver: local
+ sail-meilisearch:
+ driver: local
From cd806ff1fbc979b7dc6eb24d37699709edfdcf4d Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Sat, 10 Aug 2024 12:35:49 +0100
Subject: [PATCH 26/28] v4-beta release prepping
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
composer.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/composer.json b/composer.json
index 23aaebb796..0374301fd1 100644
--- a/composer.json
+++ b/composer.json
@@ -31,7 +31,7 @@
"php": "^8.2",
"laravel/framework": "^11.9",
"laravel/tinker": "^2.9",
- "tastyigniter/core": "dev-master"
+ "tastyigniter/core": "^v4.0@beta"
},
"require-dev": {
"fakerphp/faker": "^1.23",
From 5889250b41bdd7847d32555606f6dd617d6ec739 Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Sun, 11 Aug 2024 12:06:05 +0100
Subject: [PATCH 27/28] Update README
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index dc0c7f5afb..bc71d8ca17 100644
--- a/README.md
+++ b/README.md
@@ -57,7 +57,7 @@ these awesome [backers](#contributing). If you'd like to help support the future
## Sponsors
-Become a sponsor and get your logo on our README on Github with a link to your site.
+Become a sponsor and get your logo on our README on GitHub with a link to your site.
### via Open Collective
@@ -72,7 +72,7 @@ Become a sponsor and get your logo on our README on Github with a link to your s
## Built With :heart:
- Laravel full-stack PHP framework
-- Bootstrap 4 front-end framework
+- Bootstrap 5 front-end framework
## Author
From f02d2be45a56cac5de8c435cc788eabc540c9adf Mon Sep 17 00:00:00 2001
From: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
Date: Sun, 24 Nov 2024 12:21:58 +0000
Subject: [PATCH 28/28] Refactor extension & theme path loading methods for
maintainability.
Signed-off-by: Sam Poyigi <6567634+sampoyigi@users.noreply.github.com>
---
.gitignore | 1 +
phpunit.xml | 3 +--
server.php | 19 -------------------
3 files changed, 2 insertions(+), 21 deletions(-)
delete mode 100644 server.php
diff --git a/.gitignore b/.gitignore
index 30e26efbd1..8aa4d5146e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,5 +12,6 @@ composer.lock
node_modules
/public/vendor
+/public/storage
/lang
/storage/clockwork
diff --git a/phpunit.xml b/phpunit.xml
index 2ac86a1858..49661e5d26 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -21,8 +21,7 @@
-
-
+
diff --git a/server.php b/server.php
deleted file mode 100644
index 627537da07..0000000000
--- a/server.php
+++ /dev/null
@@ -1,19 +0,0 @@
-