diff --git a/lib/Rectors/Studip-6.0-Set.php b/lib/Rectors/Studip-6.0-Set.php index 438e794ac1d281f854443e2004c1e7c120e1cc5a..abefd25fe6564153482cf43f241f823de3bb4da0 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 0000000000000000000000000000000000000000..62b758c61aabf0f7b3283b36f969be817e34bd3f --- /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 86f491a7cd0e973592b68b7fe965b5371d595fdc..d91925540b3dd229e8c7cbc8f876099334acaa49 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();