dokuwiki-plugin-move
dokuwiki-plugin-move copied to clipboard
Fix for resolve_pageid() and resolve_mediaid() in helper/handler.php
Fix for resolve_pageid() and resolve_mediaid() deprecation warnings in helper/handler.php (lines 134 and 141) based upon DokuWiki's Refactoring 2021.
I made many attempts and this seems to be the most correct, because this time I followed the instructions in the Refactoring 2021 guide mentioned above.
Changes
Changed:
resolve_pageid($this->ns, $old, $exists);
To:
$resolver = new PageResolver($this->ns);
$old = $resolver->resolveId($old);
$exists = page_exists($old);
Changed:
resolve_mediaid($this->ns, $old, $exists);
To:
$resolver = new MediaResolver($this->ns);
$old = $resolver->resolveId($old);
$exists = media_exists($old);
Remaing warnings
This warning seems to be similar to the ones above and is in the same file, but i don't understand ho to fix it:
resolve_id() is deprecated. It was called from helper_plugin_move_handler::resolveMoves() in .../lib/plugins/move/helper/handler.php:72 dokuwiki\File\Resolver and its children should be used instead!
The DokuWiki's Refactoring 2021 tells to use PageResolver OR MediaResolver. But i don't know...
There are other 4 deprecation warnings, but not related to Resolver.
JSON::encode() is deprecated. It was called from action_plugin_move_rename::handle_ajax() in .../lib/plugins/move/action/rename.php:119 json_encode should be used instead!
trigger_event() is deprecated. It was called from helper_plugin_move_rewrite::rewrite() in .../lib/plugins/move/helper/rewrite.php:237 \dokuwiki\Extension\Event::createAndTrigger should be used instead!
Doku_Parser::__construct() is deprecated. It was called from helper_plugin_move_rewrite::rewrite() in .../lib/plugins/move/helper/rewrite.php:242 dokuwiki\Parsing\Parser should be used instead!
helper_plugin_move_handler::_finalize() is deprecated. It was called from dokuwiki\Parsing\Parser::parse in .../inc/Parsing/Parser.php:120 finalize() should be used instead!