From c008ea62a76a6dab8047077dabf83f50a97e456c Mon Sep 17 00:00:00 2001 From: Daniel Seifert Date: Mon, 25 Jul 2022 11:14:46 +0200 Subject: [PATCH] add redirects to ArticleList controller and Contact controller --- Application/Core/redirectControllerTrait.php | 2 + .../views/admin/de/PRGredirect_lang.php | 2 +- IntelliSenseHelper.php | 4 ++ .../ArticleListController_PRGredirect.php | 35 +++++++++++++ .../ContactController_PRGredirect.php | 50 +++++++++++++++++++ metadata.php | 10 +++- 6 files changed, 100 insertions(+), 3 deletions(-) create mode 100644 Modules/Application/Controllers/ArticleListController_PRGredirect.php create mode 100644 Modules/Application/Controllers/ContactController_PRGredirect.php diff --git a/Application/Core/redirectControllerTrait.php b/Application/Core/redirectControllerTrait.php index 5df9b2a..ce3586b 100644 --- a/Application/Core/redirectControllerTrait.php +++ b/Application/Core/redirectControllerTrait.php @@ -25,6 +25,8 @@ trait redirectControllerTrait if ($this->d3ShouldDoPRGredirect()) { /** @var Utils_PRGredirect $utils */ $utils = Registry::getUtils(); + + $this->setFncName(null); $utils->d3PrgRedirect( $this->generatePageNavigationUrl() ); } } diff --git a/Application/views/admin/de/PRGredirect_lang.php b/Application/views/admin/de/PRGredirect_lang.php index 4b86706..70ee021 100644 --- a/Application/views/admin/de/PRGredirect_lang.php +++ b/Application/views/admin/de/PRGredirect_lang.php @@ -17,6 +17,6 @@ $aLang = [ 'charset' => 'UTF-8', 'SHOP_MODULE_GROUP_d3PRGredirect_general' => 'anwenden auf', 'SHOP_MODULE_d3PRGredirect_search' => 'Such-Controller', - 'SHOP_MODULE_d3PRGredirect_articlelists' => 'Artikellisten-Controller (Kategorien)', + 'SHOP_MODULE_d3PRGredirect_alist' => 'Artikellisten-Controller (Kategorien)', 'SHOP_MODULE_d3PRGredirect_contact' => 'Kontaktanfragen-Controller', ]; diff --git a/IntelliSenseHelper.php b/IntelliSenseHelper.php index ab9ece8..8d907d4 100644 --- a/IntelliSenseHelper.php +++ b/IntelliSenseHelper.php @@ -15,8 +15,12 @@ declare(strict_types=1); namespace D3\PRGredirects\Modules\Application\Controllers { + use OxidEsales\Eshop\Application\Controller\ArticleListController; + use OxidEsales\Eshop\Application\Controller\ContactController; use OxidEsales\Eshop\Application\Controller\SearchController; + class ArticleListController_PRGredirect_parent extends ArticleListController {} + class ContactController_PRGredirect_parent extends ContactController {} class SearchController_PRGredirect_parent extends SearchController {} } diff --git a/Modules/Application/Controllers/ArticleListController_PRGredirect.php b/Modules/Application/Controllers/ArticleListController_PRGredirect.php new file mode 100644 index 0000000..192029e --- /dev/null +++ b/Modules/Application/Controllers/ArticleListController_PRGredirect.php @@ -0,0 +1,35 @@ + + * @link https://www.oxidmodule.com + */ + +declare(strict_types=1); + +namespace D3\PRGredirects\Modules\Application\Controllers; + +use D3\PRGredirects\Application\Core\redirectControllerTrait; + +class ArticleListController_PRGredirect extends ArticleListController_PRGredirect_parent +{ + use redirectControllerTrait; + + /** + * @return string + */ + public function render(): string + { + $template = parent::render(); + + $this->d3DoPRGRedirect(); + + return $template; + } +} \ No newline at end of file diff --git a/Modules/Application/Controllers/ContactController_PRGredirect.php b/Modules/Application/Controllers/ContactController_PRGredirect.php new file mode 100644 index 0000000..7397220 --- /dev/null +++ b/Modules/Application/Controllers/ContactController_PRGredirect.php @@ -0,0 +1,50 @@ + + * @link https://www.oxidmodule.com + */ + +declare(strict_types=1); + +namespace D3\PRGredirects\Modules\Application\Controllers; + +use D3\PRGredirects\Application\Core\redirectControllerTrait; + +class ContactController_PRGredirect extends ContactController_PRGredirect_parent +{ + /** @var bool */ + private $success = true; + + use redirectControllerTrait; + + /** + * @return bool + */ + public function send() + { + $this->success = parent::send(); + + return $this->success; + } + + /** + * @return string + */ + public function render(): string + { + $template = parent::render(); + + if ($this->success !== false) { + $this->d3DoPRGRedirect(); + } + + return $template; + } +} \ No newline at end of file diff --git a/metadata.php b/metadata.php index 738889e..1bd9284 100644 --- a/metadata.php +++ b/metadata.php @@ -13,8 +13,12 @@ declare(strict_types=1); +use D3\PRGredirects\Modules\Application\Controllers\ArticleListController_PRGredirect; +use D3\PRGredirects\Modules\Application\Controllers\ContactController_PRGredirect; use D3\PRGredirects\Modules\Application\Controllers\SearchController_PRGredirect; use D3\PRGredirects\Modules\Core\Utils_PRGredirect; +use OxidEsales\Eshop\Application\Controller\ArticleListController; +use OxidEsales\Eshop\Application\Controller\ContactController; use OxidEsales\Eshop\Application\Controller\SearchController; use OxidEsales\Eshop\Core\Utils; @@ -39,7 +43,9 @@ $aModule = [ 'url' => 'https://www.oxidmodule.com/', 'extend' => [ Utils::class => Utils_PRGredirect::class, - SearchController::class => SearchController_PRGredirect::class + ArticleListController::class => ArticleListController_PRGredirect::class, + ContactController::class => ContactController_PRGredirect::class, + SearchController::class => SearchController_PRGredirect::class, ], 'settings' => [ [ @@ -50,7 +56,7 @@ $aModule = [ ], [ 'group' => $sModuleId.'_general', - 'name' => $sModuleId.'_articlelists', + 'name' => $sModuleId.'_alist', 'type' => 'bool', 'value' => false, ],