addExtensionTable( 'linter', dirname( __DIR__ ) . '/linter.sql' ); } /** * Hook: EditFormInitialText * * If there is a lintid parameter, look up that error in the database * and setup and output our client-side helpers * * @param EditPage $editPage */ public static function onEditFormInitialText( EditPage $editPage ) { $context = $editPage->getContext(); $request = $context->getRequest(); $lintId = $request->getInt( 'lintid' ); if ( !$lintId ) { return; } $title = $editPage->getTitle(); $lintError = ( new Database( $title->getArticleID() ) )->getFromId( $lintId ); if ( !$lintError ) { // Already fixed or bogus URL parameter? return; } $out = $context->getOutput(); $out->addJsConfigVars( [ 'wgLinterErrorCategory' => $lintError->category, 'wgLinterErrorLocation' => $lintError->location, ] ); $out->addModules( 'ext.linter.edit' ); } }