Utilisateur:Lea/mw-insertnewpage

De Lea Linux
Aller à la navigation Aller à la recherche

Usage

Copier le script dans $MEDIAWIKI_ROOT/maintenance/, modifier un peut le script, par exemple pour lui donner un nom d'utilisateur adapté, etc ... Puis, cd $MEDIAWIKI_ROOT/maintenance/ php <nom du script> <chemin relatif vers le fichier>.wiki pour insérer une nouvelle page portant le nom du fichier (sans l'extension).

Code

  1. !/usr/bin/php

<?

define("MW_PATH", "../") ; $working_dir = getcwd() ; chdir(MW_PATH) ;

define("MEDIAWIKI", true) ; require_once( 'includes/Defines.php' ); require_once ("./LocalSettings.php") ; require_once ("includes/Setup.php") ;

$wgUser = User::newFromName( "PingouinMigrateur" ) ; if (!$wgUser->isAllowed("edit")) { echo "PingouinMigrateur can't edit\n" ; exit ; }

for($i = 1 ; $i < $argc ; $i++) { $filename = $argv[$i] ;

// le titre sera le nom du fichier sans l'extension $wgTitle = Title::newFromText((preg_replace("~(.*/)?(.+)\.\w+$~","$2", urldecode($filename)))) ; $article = new Article($wgTitle) ; echo "Fichier [$filename] as ".$wgTitle->getNamespace().":".$wgTitle->getText()." : " ; $wgMyText = join("",file("$working_dir/$filename")) ; $article->insertNewArticle($wgMyText, utf8_encode("conversion de la documentation originale de Léa par HTML::WikiConverter"), false, false) ; echo " [done]\n" ; } foreach ( $wgDeferredUpdateList as $key => $up ) { $up->doUpdate(); } $wgLoadBalancer->commitAll(); $wgLoadBalancer->closeAll();

?>

Bugs

  • problèmes divers avec l'encodage utf8/iso-8859-1/latin1/*
Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la Licence Publique Générale du projet GNU, Version 2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation. Pour plus d'informations consulter la GPL sur le site de GNU ou sa traduction non officielle.