Error: Call to a member function setHook() on null

18 views
Skip to first unread message

g2...@visionduweb.com

unread,
Apr 5, 2024, 3:45:27 PMApr 5
to yuml

MediaWiki 1.41.1
PHP 8.2.7 (fpm-fcgi)
yUML

MediaWiki internal error.

Original exception: [2dd42d9be6904150bbdf1ea2] /index.php?title=Accueil Error: Call to a member function setHook() on null
Backtrace:
from /var/www/mediawiki/extensions/yUML/yUML.php(16)
#0 /var/www/mediawiki/includes/HookContainer/HookContainer.php(161): efYUMLInit()
#1 /var/www/mediawiki/includes/HookContainer/HookRunner.php(2952): MediaWiki\HookContainer\HookContainer->run()
#2 /var/www/mediawiki/includes/parser/Parser.php(486): MediaWiki\HookContainer\HookRunner->onParserFirstCallInit()
#3 /var/www/mediawiki/includes/parser/ParserFactory.php(199): Parser->__construct()
#4 /var/www/mediawiki/includes/language/MessageCache.php(1454): ParserFactory->create()
#5 /var/www/mediawiki/includes/language/MessageCache.php(1435): MessageCache->getParser()
#6 /var/www/mediawiki/includes/language/Message.php(1464): MessageCache->transform()
#7 /var/www/mediawiki/includes/language/Message.php(1011): Message->transformText()
#8 /var/www/mediawiki/includes/language/Message.php(1059): Message->format()
#9 /var/www/mediawiki/includes/Output/OutputPage.php(1102): Message->text()
#10 /var/www/mediawiki/includes/Output/OutputPage.php(1178): MediaWiki\Output\OutputPage->setHTMLTitle()
#11 /var/www/mediawiki/includes/Output/OutputPage.php(1147): MediaWiki\Output\OutputPage->setPageTitleInternal()
#12 /var/www/mediawiki/includes/page/Article.php(496): MediaWiki\Output\OutputPage->setPageTitle()
#13 /var/www/mediawiki/includes/actions/ViewAction.php(78): Article->view()
#14 /var/www/mediawiki/includes/MediaWiki.php(583): ViewAction->show()
#15 /var/www/mediawiki/includes/MediaWiki.php(363): MediaWiki->performAction()
#16 /var/www/mediawiki/includes/MediaWiki.php(960): MediaWiki->performRequest()
#17 /var/www/mediawiki/includes/MediaWiki.php(613): MediaWiki->main()
#18 /var/www/mediawiki/index.php(50): MediaWiki->run()
#19 /var/www/mediawiki/index.php(46): wfIndexMain()
#20 {main}

Exception caught inside exception handler: [2dd42d9be6904150bbdf1ea2] /index.php?title=Accueil Error: Call to a member function setHook() on null
Backtrace:
from /var/www/mediawiki/extensions/yUML/yUML.php(16)
#0 /var/www/mediawiki/includes/HookContainer/HookContainer.php(161): efYUMLInit()
#1 /var/www/mediawiki/includes/HookContainer/HookRunner.php(2952): MediaWiki\HookContainer\HookContainer->run()
#2 /var/www/mediawiki/includes/parser/Parser.php(486): MediaWiki\HookContainer\HookRunner->onParserFirstCallInit()
#3 /var/www/mediawiki/includes/parser/ParserFactory.php(199): Parser->__construct()
#4 /var/www/mediawiki/includes/language/MessageCache.php(1454): ParserFactory->create()
#5 /var/www/mediawiki/includes/language/MessageCache.php(1435): MessageCache->getParser()
#6 /var/www/mediawiki/includes/language/Message.php(1464): MessageCache->transform()
#7 /var/www/mediawiki/includes/language/Message.php(1011): Message->transformText()
#8 /var/www/mediawiki/includes/language/Message.php(1059): Message->format()
#9 /var/www/mediawiki/includes/Output/OutputPage.php(1102): Message->text()
#10 /var/www/mediawiki/includes/Output/OutputPage.php(1178): MediaWiki\Output\OutputPage->setHTMLTitle()
#11 /var/www/mediawiki/includes/Output/OutputPage.php(1166): MediaWiki\Output\OutputPage->setPageTitleInternal()
#12 /var/www/mediawiki/includes/exception/MWExceptionRenderer.php(179): MediaWiki\Output\OutputPage->setPageTitleMsg()
#13 /var/www/mediawiki/includes/exception/MWExceptionRenderer.php(105): MWExceptionRenderer::reportHTML()
#14 /var/www/mediawiki/includes/exception/MWExceptionHandler.php(134): MWExceptionRenderer::output()
#15 /var/www/mediawiki/includes/exception/MWExceptionHandler.php(251): MWExceptionHandler::report()
#16 /var/www/mediawiki/includes/MediaWiki.php(635): MWExceptionHandler::handleException()
#17 /var/www/mediawiki/index.php(50): MediaWiki->run()
#18 /var/www/mediawiki/index.php(46): wfIndexMain()
#19 {main}



https://github.com/ZerooCool/yuml-mediawiki/issues/3

g2...@visionduweb.com

unread,
Apr 6, 2024, 3:19:34 PMApr 6
to yuml
/var/www/mediawiki/extensions/yUML
cat yUML.php


<?php
// Author: Sindri Traustason http://sindri.info
// Revised by Gaël
// Revised by Zer00CooL

// Avoid unstubbing $wgParser on setHook() too early on modern (1.12+) MW versions, as per r35980
if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) {
        $wgHooks['ParserFirstCallInit'][] = 'efYUMLInit';
} else {
        // Otherwise do things the old fashioned way
        $wgExtensionFunctions[] = 'efYUMLInit';
}

function efYUMLInit() {
        global $wgParser;
        $wgParser->setHook( 'classdiagram', 'efClassdiagramRender' );
        $wgParser->setHook( 'usecase', 'efUsecaseRender' );
        return true;
}

function yUMLRenderDiagram( $input, $args, $diagramType ) {
        $type = "";
        if(!empty($args["type"])){
                $type = "/".$args["type"];
        }
        $scale = "";
        if(!empty($args["scale"])){
                $scale=";scale:".$args["scale"];
        }
        $yumldir = "";
        if(!empty($args["dir"])){
                $yumldir=";dir:".$args["dir"];
        }
        $uml_code = preg_replace(
                array("/\n/", "/,,/"),
                array(", ",   ","   ),
                trim($input));
        $output = "<img src=\"https://yUML.me/diagram".$type.$scale.$yumldir."/".$diagramType."/";
        return $output.htmlspecialchars( $uml_code )."\"/>";
}

function efClassdiagramRender( $input, $args, $parser ) {
        return yUMLRenderDiagram( $input, $args, "class" );
}

function efUsecaseRender( $input, $args, $parser ) {
        return yUMLRenderDiagram( $input, $args, "usecase" );
}
?>
Reply all
Reply to author
Forward
0 new messages