diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2019-03-05 10:00:10 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2019-03-05 10:00:10 +0000 |
| commit | 0cfd6963ac65bd7fe86283b801b4f23d665c6004 (patch) | |
| tree | 25ced72ed3c1810d90eea52b59d7cdeb289198a7 /modules_v4 | |
| parent | beefaa8eef44e825afb9bbf98fdf4b206fae8102 (diff) | |
| download | webtrees-0cfd6963ac65bd7fe86283b801b4f23d665c6004.tar.gz webtrees-0cfd6963ac65bd7fe86283b801b4f23d665c6004.tar.bz2 webtrees-0cfd6963ac65bd7fe86283b801b4f23d665c6004.zip | |
Custom module examples
Diffstat (limited to 'modules_v4')
| -rw-r--r-- | modules_v4/example-middleware.disable/module.php | 52 | ||||
| -rw-r--r-- | modules_v4/example.disable/module.php (renamed from modules_v4/example.module/module.php) | 6 |
2 files changed, 55 insertions, 3 deletions
diff --git a/modules_v4/example-middleware.disable/module.php b/modules_v4/example-middleware.disable/module.php new file mode 100644 index 0000000000..ad1db9b5cd --- /dev/null +++ b/modules_v4/example-middleware.disable/module.php @@ -0,0 +1,52 @@ +<?php + +use Fisharebest\Webtrees\Http\Middleware\MiddlewareInterface; +use Fisharebest\Webtrees\Module\AbstractModule; +use Fisharebest\Webtrees\Module\ModuleCustomInterface; +use Fisharebest\Webtrees\Module\ModuleCustomTrait; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; + +return new class extends AbstractModule implements ModuleCustomInterface, MiddlewareInterface { + use ModuleCustomTrait; + + /** + * How should this module be identified in the control panel, etc.? + * + * @return string + */ + public function title(): string + { + return 'My custom middleware'; + } + + /** + * A sentence describing what this module does. + * + * @return string + */ + public function description(): string + { + return 'This adds a custom HTTP headers to all responses'; + } + + /** + * @param Request $request + * @param Closure $next + * + * @return Response + */ + public function handle(Request $request, Closure $next): Response + { + // Code here is executed before we process the request/response. + // We can prevent the request being executed by throwing an exception. + + // Generate the response from the request. + $response = $next($request); + + // Code here is executed after we process the request/response. + $response->headers->set('X-Powered-By', 'Fish'); + + return $response; + } +}; diff --git a/modules_v4/example.module/module.php b/modules_v4/example.disable/module.php index 54ac589824..2e0182ae5a 100644 --- a/modules_v4/example.module/module.php +++ b/modules_v4/example.disable/module.php @@ -7,13 +7,13 @@ return new class extends AbstractModule implements ModuleCustomInterface { use ModuleCustomTrait; /** - * How should this module be labelled on tabs, menus, etc.? + * How should this module be identified in the control panel, etc.? * * @return string */ public function title(): string { - return 'My Custom module'; + return 'My custom module'; } /** @@ -53,7 +53,7 @@ return new class extends AbstractModule implements ModuleCustomInterface { */ public function customModuleLatestVersionUrl(): string { - return 'https://www.webtrees.net'; + return 'https://www.example.com/latest-version.txt'; } /** |
