DynamicPageList3/classes/db/CreateTemplateUpdateMaintenance.php

63 lines
1.5 KiB
PHP
Raw Normal View History

2020-11-22 20:01:28 +00:00
<?php
/**
* DynamicPageList3
* CreateTemplateUpdateMaintenance
*
* @license GPL-2.0-or-later
* @package DynamicPageList3
*
**/
namespace DPL\DB;
use LoggedUpdateMaintenance;
use Title;
use WikiPage;
use ContentHandler;
2021-01-22 21:25:34 +00:00
$IP = getenv( 'MW_INSTALL_PATH' );
if ( $IP === false ) {
$IP = __DIR__ . '/../../../..';
}
require_once "$IP/maintenance/Maintenance.php";
2020-11-22 20:01:28 +00:00
/*
* Creates the DPL template when updating.
*/
class CreateTemplateUpdateMaintenance extends LoggedUpdateMaintenance {
/**
* Handle inserting DPL's necessary template for content inclusion.
*
* @access protected
* @return void
*/
protected function doDBUpdates() {
//Make sure page "Template:Extension DPL" exists
$title = Title::newFromText('Template:Extension DPL');
if (!$title->exists()) {
$page = WikiPage::factory($title);
$pageContent = ContentHandler::makeContent("<noinclude>This page was automatically created. It serves as an anchor page for all '''[[Special:WhatLinksHere/Template:Extension_DPL|invocations]]''' of [http://mediawiki.org/wiki/Extension:DynamicPageList Extension:DynamicPageList (DPL)].</noinclude>", $title);
$page->doEditContent(
$pageContent,
$title,
EDIT_NEW | EDIT_FORCE_BOT
);
}
}
/**
* Get the unique update key for this logged update.
*
* @access protected
* @return string Unique Key
*/
protected function getUpdateKey() {
return 'dynamic-page-list-create-template';
}
}
2021-01-22 21:25:34 +00:00
$maintClass = CreateTemplateUpdateMaintenance::class;
require_once RUN_MAINTENANCE_IF_MAIN;