J'ai adapté lionwiki à un pluxml. Le dossier qui contient le wiki doit être au même niveau que le dossier data, plugins, thèmes et le reste de pluxml.
Dans ce dossier, tu places un fichier config.php qui ressemblera à ça (attention de bien lire chaque ligne afin de l'adapter à ton propre projet en remplaçant nom-de-ton-wiki-sur-ton-site et autres phrases/mots du même type) :
<?php
/**
* Méthode qui retourne l'url de base du site
*
* @return string url de base du site
**/
function getRacine() {
$protocol = (!empty($_SERVER['HTTPS']) AND $_SERVER['HTTPS'] == 'on')? 'https://' : "http://";
$servername = $_SERVER['HTTP_HOST'];
$serverport = (preg_match('/:[0-9]+/', $servername) OR $_SERVER['SERVER_PORT'])=='80' ? '' : ':'.$_SERVER['SERVER_PORT'];
$dirname = preg_replace('/\/(core|plugins)\/(.*)/', '', dirname($_SERVER['SCRIPT_NAME']));
$dirname = str_replace('url-de-ton-wiki-sur-ton-site', '', $dirname);
$racine = rtrim($protocol.$servername.$serverport.$dirname, '/').'/';
if(!checkSite($racine, false))
exit('Error: wrong or invalid url');
return $racine;
}
/**
* Méthode qui vérifie si l'url passée en paramètre correspond à un format valide
*
* @param site url d'un site
* @return boolean vrai si l'url est bien formatée
**/
function checkSite(&$site, $reset=true) {
$site = preg_replace('#([\'"].*)#', '', $site);
# On vérifie le site via une expression régulière
# Méthode Jeffrey Friedl - http://mathiasbynens.be/demo/url-regex
# modifiée par Amaury Graillat pour prendre en compte la valeur localhost dans l'url
if(preg_match('@\b((ftp|https?)://([-\w]+(\.\w[-\w]*)+|localhost)|(?:[a-z0-9](?:[-a-z0-9]*[a-z0-9])?\.)+(?: com\b|edu\b|biz\b|gov\b|in(?:t|fo)\b|mil\b|net\b|org\b|[a-z][a-z]\b))(\:\d+)?(/[^.!,?;"\'<>()\[\]{}\s\x7F-\xFF]*(?:[.!,?]+[^.!,?;"\'<>()\[\]{}\s\x7F-\xFF]+)*)?@iS', $site))
return true;
else {
if($reset) $site='';
return false;
}
}
/**
* Méthode qui encode une chaine de caractère en hexadecimal
*
* @parm s chaine de caractères à encoder
* @return string chane de caractères encodée en hexadecimal
* @author Stephane F
**/
function encodeBin2Hex($s) {
$encode = '';
for ($i = 0; $i < strlen($s); $i++) {
$encode .= '%' . bin2hex($s[$i]);
}
return $encode;
}
/* Configuration file for LionWiki. */
$WIKI_TITLE = 'Nom de ton site'; // name of the site
// SHA1 hash of password. If empty (or commented out), no password is required
$Admin["PASSWORD"] = sha1("le-mot-de-passe-que-tu-veux-pour-ton-wiki-sur-ton-site-oui-je-sais-c-est-en-clair-mais-c-est-pas-ma-faute"); // :-)
$NOACCESSTOADMIN = true;
$Captcha['permanent'] = false;
$TEMPLATE = 'templates/nom-du-template-que-tu-souhaites-utiliser-pour-le-wiki-sur-ton-site.html'; // presentation template.
//C'est un fichier html que tu devras créer dans le dossier templates de lionwiki
// if true, you need to fill password for reading pages too
// before setting to true, read http://lionwiki.0o.cz/index.php?page=UserGuide%3A+How+to+use+PROTECTED_READ
$PROTECTED_READ = false;
$NO_HTML = true; // XSS protection
$START_PAGE = 'Introduction'; // Which page should be default (start page)?
//Cette page devra être créée dans le dossier var/pages et porter le nom "Introduction.txt" si tu choisis de l'appeler 'Introduction' sur la ligne précédente
$NEWPAGE = 'Nouvelle page'; //Nom que prendra par défaut une nouvelle page. Tu peux le changer
$REPLACE_NAME_PAGE = 'Page du '.date('d m Y (H:i)'); // Which page should be default (start page)? Si on ne nomme pas une page, elle prendra ce nom là
$SYNTAX_PAGE = $ACTION_PAGE.'Aide+(syntaxe+générale)';
$LANG = 'fr';
$DATE_FORMAT = 'd/m/Y';
$LOCAL_HOUR = 0;
# Définition des constantes d'adressage
define('DS', DIRECTORY_SEPARATOR);
define('LW_WEBROOT', dirname(__FILE__).DS);
define('LW_ROOT', dirname(LW_WEBROOT).DS);
define('PLX_URL',getRacine());
define('LW_BASE_URL', getRacine().'url-de-ton-wiki-sur-ton-site/');//
define('PLX_DIR_DATA', LW_ROOT.'data'.DS);
define('PLX_URL_THEMES', PLX_URL.'themes/'.file_get_contents('style').'/');
if ($self == '') $self = LW_BASE_URL;
$IncludeFiles["PATH"]["WEBROOT"] = LW_WEBROOT;
$IncludeFiles["PATH"]["ROOT"] = LW_ROOT;
$IncludeFiles["PATH"]["BASE_URL"] = LW_BASE_URL;
$IncludeFiles["PATH"]["PLX_URL"] = PLX_URL;
$IncludeFiles["PATH"]["PLX_URL_THEMES"] = PLX_URL_THEMES;
$IncludeFiles["LINK"]["ROOT"] = '<a href="'.LW_BASE_URL.'">'.$START_PAGE.'</a>';
$IncludeFiles["LINK"]["NEW_PAGE"] = '<a href="'.LW_BASE_URL.$ACTION_PAGE.u($NEWPAGE).'">'.$NEWPAGE.'</a>';
$IncludeFiles["LINK"]["SYNTAX"] = '<a href="'.LW_BASE_URL.$SYNTAX_PAGE.'">Syntaxe générale</a>';
$IncludeFiles["LINK"]["TABLE_SYNTAX"] = '<a href="'.LW_BASE_URL.$ACTION_PAGE.'Aide+(syntaxe+tableaux)">Syntaxe tableaux</a>';
$IncludeFiles["URL"]["SIDETAGS"] = PLX_URL.'?static4/sidetags';//Page statique de pluxml que tu utiliseras (ou pas) pour les tags sur le wiki.
//Cela te permet d'éditer la page depuis pluxml
$IncludeFiles["URL"]["MAIN_MENU"] = PLX_URL.'?static5/menu';//Idem pour le menu
Exemple de template pour le wiki (l'inconvénient est que tu dois écrire à la main les lignes ajoutées par les différents plugins de pluxml si tu veux qu'ils fonctionnent sur le wiki) :
J'utilise plusieurs plugins de lionwiki qu'il serait trop long de placer ici mais je peux te les envoyer si tu les veux (notamment les plugins Menu, IncludeFiles, Comments, Tags).
Ok merci pour ce retour.
J'essaie de mettre ça en place des que je peux et je te fais un retour pour lionwiki.
Je suppose donc qu'il est trop difficile de faire cela avec dokuwiki ?
Après plusieurs heures de paramétrages/bidouillages, je ne suis pas arrivé à intégrer Lionwiki.
Pas grave, du coup je l'ai skinné pour qu'il ressemble au blog pour une meilleure intégration.
Réponses
Dans ce dossier, tu places un fichier config.php qui ressemblera à ça (attention de bien lire chaque ligne afin de l'adapter à ton propre projet en remplaçant nom-de-ton-wiki-sur-ton-site et autres phrases/mots du même type) :
Exemple de template pour le wiki (l'inconvénient est que tu dois écrire à la main les lignes ajoutées par les différents plugins de pluxml si tu veux qu'ils fonctionnent sur le wiki) :
J'utilise plusieurs plugins de lionwiki qu'il serait trop long de placer ici mais je peux te les envoyer si tu les veux (notamment les plugins Menu, IncludeFiles, Comments, Tags).
J'essaie de mettre ça en place des que je peux et je te fais un retour pour lionwiki.
Je suppose donc qu'il est trop difficile de faire cela avec dokuwiki ?
Pas grave, du coup je l'ai skinné pour qu'il ressemble au blog pour une meilleure intégration.
Il te permettra d'utiliser des pages depuis pluxml (voir mon premier post).
Pour appeler le menu, tu utiliseras pas exemple dans le templace de Lionwiki : à l'endroit désiré.
Cela correspond à l'index $IncludeFiles["URL"]["MAIN_MENU"] = PLX_URL.'?static5/menu'; définit dans le fichier config.
Je te laisse le soin de déduire le reste.