DokuWiki

It's better when it's simple

Outils pour utilisateurs

Outils du site


fr:tips:dokuwiki_auto_installable

J'avais posté ce message dans le forum francophone et il m'a été suggéré de le poster dans les TIPS

j'ai adapté Dokuwiki comme module d'un CMS. Le module est auto-installable dans le CMS. J'en profite pour vous proposer ce code simplifié pour Dokuwiki qui rend Dokuwiki auto installable.

La modif convient pour toute version de Dokuwiki, y compris Anteater.

Ouvrir doku.php rechercher (vers ligne 27 de la version Lazy Sunday):

require_once(DOKU_INC.'inc/init.php');

rajouter à la ligne suivante le code:

// test installation?
if(empty($conf['doku_install'])){
  $tmp = DOKU_CONF.'local.php'; 
  if (!is_file( $tmp ) ) {
    header("location:install.php");
    die("location error");
  }
  else {
  nice_die("Code error : ".__LINE__."<br />".$lang['Doku_no_run']);
  }
}

Ouvrir install.php
rechercher (vers ligne 310 de la version Lazy Sunday):

$output .= '$conf[\'license\'] = \''.addslashes($d['license'])."';\n";

rajouter à la ligne suivante le code:

$output .= '$conf[\'doku_install\'] = 1'.";\n"; 

Ouvrir le fichier inc/lang/fr/lang.php
après la dernière ligne, ajouter le code:

$lang['Doku_no_run'] =  'Un probl&egrave;me majeur emp&ecirc;che l\'ex&eacute;cution de Dokuwiki.';

Il faudrait également ajouter $lang['Doku_no_run'] dans les fichiers langues, au minimum dans lang/en/lang.php

fonctionnement: à la première exécution, donc de index.php, teste l'existence de $conf['doku_install'] et du fichier conf/local.php. Si aucun n'existe, c'est que le wiki n'est pas encore installé. Lors des exécutions ultérieures si $conf['doku_install'] n'existe pas, alors que conf/local.php existe, il y a un gros problème: $conf['doku_install'] a disparu du fichier de configuration, ou sa valeur est erronée.

Les réactualisations ultérieures du fichier conf/local.php n'effacent pas la variable $conf['doku_install']

fr/tips/dokuwiki_auto_installable.txt · Dernière modification : 2011-03-23 14:14 de 78.125.163.49

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki