addDescription( 'Handle inserting DPL\'s necessary template for content inclusion.' ); } /** * Get the unique update key for this logged update. * * @return string */ protected function getUpdateKey() { return 'dynamic-page-list-create-template'; } /** * Message to show that the update was done already and was just skipped * * @return string */ protected function updateSkippedMessage() { return 'Template already created.'; } /** * Handle inserting DPL's necessary template for content inclusion. * * @return bool */ protected function doDBUpdates() { $title = Title::newFromText( 'Template:Extension DPL' ); // Make sure template does not already exist if ( !$title->exists() ) { $services = MediaWikiServices::getInstance(); // MW 1.36+ if ( method_exists( $services, 'getWikiPageFactory' ) ) { $wikiPageFactory = $services->getWikiPageFactory(); $page = $wikiPageFactory->newFromTitle( $title ); } else { // @phan-suppress-next-line PhanDeprecatedFunction $page = WikiPage::factory( $title ); } $updater = $page->newPageUpdater( User::newSystemUser( 'DynamicPageList3 extension' ) ); $content = $page->getContentHandler()->makeContent( 'This page was automatically created. It serves as an anchor page for all \'\'\'[[Special:WhatLinksHere/Template:Extension_DPL|invocations]]\'\'\' of [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:DynamicPageList3 Extension:DynamicPageList3].', $title ); $updater->setContent( SlotRecord::MAIN, $content ); $comment = CommentStoreComment::newUnsavedComment( 'Autogenerated DPL\'s necessary template for content inclusion' ); $updater->saveRevision( $comment, EDIT_NEW | EDIT_FORCE_BOT ); } return true; } } $maintClass = CreateTemplate::class; require_once RUN_MAINTENANCE_IF_MAIN;