Exporter une page Wiki dans un fichier txt


Pour exporter en .txt le contenu d'une page WikiNiMST, cliquez sur TXT au bas de la page.

Le but de cette fonctionnalité est d'offrir à des journalistes en herbe un espace pour écrire leurs articles (texte brut). Une fois terminé, l'article est exporté depuis le wiki en simple fichier texte puis importé dans Scribus, logiciel de PAO libre.



<?
$txt_output = $texte_page_wiki; //Aller chercher le texte de la page Wiki ds la bdd

header("Content-type: text/plain");
header("Content-disposition: attachment; filename=NomPageWiki_" . date("Ymd").".txt");
print $txt_output;
exit;
?>


Ce code va vous demander si vous voulez enregistrer le fichier txt ou si vous voulez l'ouvrir avec le logiciel approprié.
Je ne sais pas trop comment est structuré la bdd dans le wiki, alors pour ce qui est de fouiller dans la bdd pour le contenu, j'ai besoin d'aide.

Pascal

Allo, voici donc la fonction export en txt.

Ajout du fichier /handlers/page/txt.php contenant ceci:

<?php
/*
txt.php

Copyright 2006 Pierre Lachance et Pascal Lapalme

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

//vérification de sécurité
if (!eregi("wakka.php", $_SERVER['PHP_SELF'])) {
    die ("acc&egrave;s direct interdit");
}

if ($this->HasAccess("read"))
{
	if (!$this->page)
	{
		return;
	}
	else
	{
	header("Content-type: text/plain");
	header("Content-disposition: attachment; filename=".htmlentities($this->GetPageTag())."_" . date("Ymd").".txt");
	echo $this->page["body"];
	exit;
	
	}
}
else
{
	return;
}
?>

puis on peut ajouter un lien dans le /actions/footer.php

echo  "<a href=\"".$this->href("txt")."\" title=\"Cliquez pour exporter en texte.\">TXT</a> ::\n";
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]
 
IMP :: RSS :: HTML :: TXT :: Clone :: Historique :: Propriétaire : PascalLapalme