From: Tim Starling Date: Sat, 16 Dec 2006 06:15:04 +0000 (+0000) Subject: Command line interface to Article::doEdit() X-Git-Tag: 1.31.0-rc.0~54892 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/pie.php?a=commitdiff_plain;h=466de4de0cfffc974f4f99ab9e5b3964aef0d7ee;p=lhc%2Fweb%2Fwiklou.git Command line interface to Article::doEdit() --- diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index fb228fcb5b..a260d33db8 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -2262,7 +2262,7 @@ $wgAllowDisplayTitle = false ; * Array of usernames which may not be registered or logged in from * Maintenance scripts can still use these */ -$wgReservedUsernames = array( 'MediaWiki default', 'Conversion script' ); +$wgReservedUsernames = array( 'MediaWiki default', 'Conversion script', 'Maintenance script' ); /** * MediaWiki will reject HTMLesque tags in uploaded files due to idiotic browsers which can't diff --git a/maintenance/edit.php b/maintenance/edit.php new file mode 100644 index 0000000000..33e0607be7 --- /dev/null +++ b/maintenance/edit.php @@ -0,0 +1,68 @@ + + +Options: + -u Username + -s Edit summary + -m Minor edit + -b Bot (hidden) edit + -a Enable autosummary + --no-rc Do not show the change in recent changes + +If the specified user does not exist, it will be created. +The text for the edit will be read from stdin. + +EOT; + exit( 1 ); +} + +$userName = isset( $options['u'] ) ? $options['u'] : 'Maintenance script'; +$summary = isset( $options['s'] ) ? $options['s'] : ''; +$minor = isset( $options['m'] ); +$bot = isset( $options['b'] ); +$autoSummary = isset( $options['a'] ); +$noRC = isset( $options['no-rc'] ); + +$wgUser = User::newFromName( $userName ); +if ( !$wgUser ) { + print "Invalid username\n"; + exit( 1 ); +} +if ( $wgUser->isAnon() ) { + $wgUser->addToDatabase(); +} + +$wgTitle = Title::newFromText( $args[0] ); +if ( !$wgTitle ) { + print "Invalid title\n"; + exit( 1 ); +} + +$wgArticle = new Article( $wgTitle ); + +# Read the text +$text = file_get_contents( 'php://stdin' ); + +# Do the edit +print "Saving... "; +$success = $wgArticle->doEdit( $text, $summary, + ( $minor ? EDIT_MINOR : 0 ) | + ( $bot ? EDIT_FORCE_BOT : 0 ) | + ( $autoSummary ? EDIT_AUTOSUMMARY : 0 ) | + ( $noRC ? EDIT_SUPPRESS_RC : 0 ) ); +if ( $success ) { + print "done\n"; +} else { + print "failed\n"; + exit( 1 ); +} +?>