From 9b6fd20728aef64a3ce1bbf38b13948d3ac1994a Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Fri, 13 Dec 2024 15:21:32 +0100 Subject: [PATCH] add page_close() to sess()->save() rector --- lib/Rectors/Studip-6.0-Set.php | 1 + .../Studip60/ReplacePageCloseRector.php | 27 +++++++++++++++++++ rector-test.php | 2 ++ 3 files changed, 30 insertions(+) create mode 100644 lib/Rectors/Studip60/ReplacePageCloseRector.php diff --git a/lib/Rectors/Studip-6.0-Set.php b/lib/Rectors/Studip-6.0-Set.php index 438e794ac1d..abefd25fe65 100644 --- a/lib/Rectors/Studip-6.0-Set.php +++ b/lib/Rectors/Studip-6.0-Set.php @@ -10,6 +10,7 @@ return RectorConfig::configure() Studip\Rectors\Studip60\RemoveGetConfigRector::class, Studip\Rectors\Studip60\RemoveSidebarMethodsRector::class, Studip\Rectors\Studip60\RewriteCoursewareBlockTypesRector::class, + Studip\Rectors\Studip60\ReplacePageCloseRector::class, ]) ->withConfiguredRule(RenameFunctionRector::class, [ 'studip_json_decode' => 'json_decode', diff --git a/lib/Rectors/Studip60/ReplacePageCloseRector.php b/lib/Rectors/Studip60/ReplacePageCloseRector.php new file mode 100644 index 00000000000..62b758c61aa --- /dev/null +++ b/lib/Rectors/Studip60/ReplacePageCloseRector.php @@ -0,0 +1,27 @@ +<?php +declare(strict_types=1); + +namespace Studip\Rectors\Studip60; + +use PhpParser\Node; +use Rector\Rector\AbstractRector; + +final class ReplacePageCloseRector extends AbstractRector +{ + public function getNodeTypes(): array + { + return [Node\Expr\FuncCall::class]; + } + + public function refactor(Node $node) + { + if (!$this->isName($node->name, 'page_close')) { + return null; + } + + return $this->nodeFactory->createMethodCall( + $this->nodeFactory->createFuncCall('sess'), + 'save' + ); + } +} diff --git a/rector-test.php b/rector-test.php index 86f491a7cd0..d91925540b3 100644 --- a/rector-test.php +++ b/rector-test.php @@ -93,3 +93,5 @@ class TestBlockType extends \Courseware\BlockTypes\BlockType return \Opis\JsonSchema\Schema::fromJsonString(file_get_contents(__FILE__)); } } + +page_close(); -- GitLab