Extension PdfBook

De TIc-siT_wiki
Révision datée du 18 novembre 2021 à 16:16 par 2a02:8434:1b90:ed01:7028:84b8:b900:974b (discussion)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

On veut rajouter la possibilité d'exporter toutes les pages d'une catégorie en PDF dans un seul fichier et avec un sommaire.

Installation[modifier | modifier le wikicode]

Récupérer le fichier : Extension Pdf_Book Mettre le fichier PdfBook.php dans le dossier "PdfBook".

Ajouter cela à la fin du 'LocalSettings.php' :

#Ajout de l'extension PdfBook
require_once( "$IP/extensions/PdfBook/PdfBook.php" );
$serverWithoutHttps = 'http://wiki.jpsystem.info';

De plus, il faut modifier le fichier 'PdfBook.php' comme ceci, en rajoutant une variable globale : Avant :

global $wgServer, $wgArticlePath, $wgScriptPath, $wgUploadPath, $wgUploadDirectory, $wgScript;

Après :

global $wgServer, $wgArticlePath, $wgScriptPath, $wgUploadPath, $wgUploadDirectory, $wgScript, $serverWithoutHttps;

Puis ici : Avant :

$text    = preg_replace('|(<img[^>]+?src=")(/.+?>)|', "$1$wgServer$2", $text);       # make image urls absolute

Après :

$text    = preg_replace('|(<img[^>]+?src=")(/.+?>)|', "$1$serverWithoutHttps$2", $text);       # make image urls absolute

Template PdfBook

Pour afficher dans les pages des catégories la possibilité d'exporter une sélection d'article en PDF, il faut créer deux templates (modèles) :

   template:message
\{\{\{icon\}\}\}
\{\{\{text\}\}\}
   template:pdf
Modèle:Message

Ainsi dans toutes les pages de catégories, on va insérer ceci :Modèle:Pdf

ATTENTION : A cause de Dotclear, des caractères antislash apparaisse, il faut les enlever ;-)

Cela va permettre d'exporter les articles en pdf, ainsi lorsque vous cliquerez sur le lien, vous pourrez télécharger un fichier contenant un sommaire et tous les articles de la catégorie.

Interdiction modification par utilisateur anonyme[modifier | modifier le wikicode]

Ajouter cela à la fin du LocalSettings.php :

$wgGroupPermissions['*']['edit']= false;
$wgGroupPermissions['user']['edit'] = true;

Interdiction utilisateur non inscrit de voir les pages

Ajouter cela à la fin du LocalSettings.php :

$wgGroupPermissions['*']['read']= false;
$wgGroupPermissions['user']['read'] = true;

Voila pour l'instant, le reste suivra dans un autre billet....