, license GNU/GPL, www.gnu.org // v0.3.34 // Tags gérés par le wiki, à modifier si besoin $tags = array( "{{{"=>"
",$texte);
$pos = strpos($texte,"[code]");
$i++;
}
$texte = eregi_replace("(^|[ \t\r\n])((ftp|http|https|gopher|mailto|news|nntp|telnet|wais|file|prospero):[A-Za-z0-9/](([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2})+)","\\0",$texte);
$texte = eregi_replace("(^|[ \t\r\n])([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+)", "\\0", $texte);
$texte = ereg_replace("(^|[ \t\r\n])(([A-Z]+[a-z]+){2,})","\\1\\2",$texte);
$texte = strtr($texte,$GLOBALS[tags]);
for($i=1;$i <= count($code); $i++) {
$code[$i] = ereg_replace("(\n| ) ","\\1 ",$code[$i]);
$texte = str_replace("",''.trim($code[$i]).'
',$texte);
}
$texte = str_replace("@","@",$texte);
return nl2br($texte);
}
function parser_page($a) {
global $chemin; $p = $a.".kub";
$fp = @fopen($chemin.$p,"r");
if(!$fp) return FALSE;
$out = fread($fp,4096*1024);
fclose($fp);
$rec[date] = filemtime($chemin.$p);
if(file_exists($chemin.$a.".mod")) {
$rec[modif] = filemtime($chemin.$a.".mod");
$tmp = @file($chemin.$a.".mod");
$rec[ip] = $tmp[0];
} else $rec[modif] = "1";
$rec[texte] = $out;
return $rec;
}
function sauve_page($p,$txt) {
$fp = @fopen($GLOBALS[chemin].$p.".kub","w");
if(!$fp) return FALSE;
fputs($fp,$txt);
fclose($fp);
return TRUE;
}
function afficher($page,$err="") {
$template = <<
#TITRE
#TITRE
#TEXTE
Dernière mise à jour le #DATE
ENDOFFILE;
if(file_exists($chemin."page.html")) { $f = file($chemin."page.html"); $template = implode($f); }
if($page == "MotDePasse") { $rec[date] = time(); $rec[texte] = ''; }
else $rec = parser_page($page);
if($rec === FALSE) { $rec[texte] = "Décrivez ".$page." en appuyant sur le bouton éditer."; $rec[date] = time(); }
$template = str_replace("#TITRE",$page,$template);
$template = str_replace("#DATE",date("d/m/Y H:i",$rec[date]),$template);
if($page != "MotDePasse") $rec[texte] = filtre($rec[texte]);
if(!empty($err)) $rec[texte] = ''.htmlentities(stripslashes(urldecode($err)))."
".$rec[texte];
$template = str_replace("#TEXTE",$rec[texte],$template);
$template = str_replace("#NOM_WIKI",$GLOBALS[nom_wiki],$template);
echo $template;
}
function editer($page) {
if(!ereg("^([A-Z]+[a-z]+){2,}$",$page)) header("location: ./PageDaccueil");
if(file_exists($GLOBALS[chemin].$page.".lock")) $lock=1;
if(file_exists($GLOBALS[chemin].$page.".unlock")) $unlock=1;
if(($GLOBALS[type] == "prive" || $lock) && (AUTHENTIFICATION != "oui") && !$unlock) {
header("location: ./{$page}+Erreur=".urlencode("Cette page est protégée contre l'édition."));
exit;
}
$template = <<
#TITRE