function ParseIniFile($strFileName) { if (!file_exists($strFileName)) { Error('Fichier de configuration manquant ' . $strFileName); } $strContent = implode("", file($strFileName)); $astrLines = explode("\n", $strContent); $aVars = array(); foreach ($astrLines as $strLine) { // Commentaires if (substr($strLine, 0, 1) == ';') { continue; } $nMiddle = strpos($strLine, '='); if ($nMiddle) { $strName = trim(substr($strLine, 0, $nMiddle)); $strValue = trim(substr($strLine, $nMiddle + 1)); $aVars[$strName] = xhtmlspecialchars($strValue); } } return $aVars; }
// Enregistrement de la page Save($strPage, $strWikiContent); // Redirection vers l'affichage de la page header('Location: ' . GetScriptURI('Wiki') . FileNameEncode($strPage)); exit; } else { // En mode standard // Chargement du contenu wiki pour cette page $strWikiContent = GetWikiContent($strPage); } } // On ajoute du contenu supplémentaire pour certaines pages comme la liste ou les changements $strModifiedWikiContent = $strWikiContent . GetSpecialContent($strPage); // Rendu wiki $strHtmlContent = Render($strModifiedWikiContent); // On doit retirer les caractères non xhtml pour le contenu wiki qui sera édité $strWikiContent = xhtmlspecialchars($strWikiContent); //////////////////////////////////////////////////////////// // Chargement du template $strContent = LoadTemplate('edit'); // Les premiers remplacements sont en fonction du fichier de config $astrReplacements = BuildStandardReplacements(); // Ajoute les remplacements « runtime » AddReplacement($astrReplacements, 'Page.Name', htmlspecialchars($strPage)); AddReplacement($astrReplacements, 'Page.Wiki', $strWikiContent); AddReplacement($astrReplacements, 'Page.Html', $strHtmlContent); // Applique les remplacements $strContent = ReplaceAll($strContent, $astrReplacements); //////////////////////////////////////////////////////////// WriteXhtmlHeader(); echo $strContent;