Skip to content
Extraits de code Groupes Projets
Valider ef5fd69f rédigé par Fil's avatar Fil
Parcourir les fichiers

nettoyage du suiv ides révisions

parent c6c72030
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -254,17 +254,17 @@ if ($id_version) { ...@@ -254,17 +254,17 @@ if ($id_version) {
else { else {
echo "<div $dir_lang><b>"; echo "<div $dir_lang><b>";
$revision_nbsp = ($options == "avancees"); // a regler pour relecture des nbsp dans les articles $revision_nbsp = ($options == "avancees"); // a regler pour relecture des nbsp dans les articles
echo justifier(propre($chapo)); echo justifier(propre_diff($chapo));
echo "</b></div>\n\n"; echo "</b></div>\n\n";
echo "<div $dir_lang>"; echo "<div $dir_lang>";
echo justifier(propre($texte)); echo justifier(propre_diff($texte));
echo "</div>"; echo "</div>";
if ($ps) { if ($ps) {
echo debut_cadre_enfonce(); echo debut_cadre_enfonce();
echo "<div $dir_lang><font size='2' face='Verdana,Arial,Sans,sans-serif'>"; echo "<div $dir_lang><font size='2' face='Verdana,Arial,Sans,sans-serif'>";
echo justifier("<b>"._T('info_ps')."</b> ".propre($ps)); echo justifier("<b>"._T('info_ps')."</b> ".propre_diff($ps));
echo "</font></div>"; echo "</font></div>";
echo fin_cadre_enfonce(); echo fin_cadre_enfonce();
} }
......
...@@ -92,7 +92,7 @@ function afficher_suivi_versions ($debut = 0, $id_secteur = 0, $uniq_auteur = fa ...@@ -92,7 +92,7 @@ function afficher_suivi_versions ($debut = 0, $id_secteur = 0, $uniq_auteur = fa
WHERE id_auteur = $id_auteur"; WHERE id_auteur = $id_auteur";
$result_auteur = spip_query($query_auteur); $result_auteur = spip_query($query_auteur);
if ($row_auteur = spip_fetch_array($result_auteur)) { if ($row_auteur = spip_fetch_array($result_auteur)) {
$nom = propre($row_auteur["nom"]); $nom = typo($row_auteur["nom"]);
if (strlen($nom) > 0) $nom = "($nom)"; if (strlen($nom) > 0) $nom = "($nom)";
} }
...@@ -102,7 +102,7 @@ function afficher_suivi_versions ($debut = 0, $id_secteur = 0, $uniq_auteur = fa ...@@ -102,7 +102,7 @@ function afficher_suivi_versions ($debut = 0, $id_secteur = 0, $uniq_auteur = fa
echo "<div class='tr_liste' style='padding: 5px; border-top: 1px solid #aaaaaa;'>"; echo "<div class='tr_liste' style='padding: 5px; border-top: 1px solid #aaaaaa;'>";
echo "<span class='arial2'>"; echo "<span class='arial2'>";
if (!$court) echo bouton_block_invisible("$id_version-$id_article-$id_auteur"); if (!$court) echo bouton_block_visible("$id_version-$id_article-$id_auteur");
echo "<img src='" . _DIR_IMG_PACK . "$logo_statut' border='0'>&nbsp;"; echo "<img src='" . _DIR_IMG_PACK . "$logo_statut' border='0'>&nbsp;";
echo "<a class='$statut' style='font-weight: bold;' href='articles_versions.php3?id_article=$id_article'>$titre</a>"; echo "<a class='$statut' style='font-weight: bold;' href='articles_versions.php3?id_article=$id_article'>$titre</a>";
echo "</span>"; echo "</span>";
...@@ -163,12 +163,16 @@ function afficher_suivi_versions ($debut = 0, $id_secteur = 0, $uniq_auteur = fa ...@@ -163,12 +163,16 @@ function afficher_suivi_versions ($debut = 0, $id_secteur = 0, $uniq_auteur = fa
} }
} }
echo debut_block_invisible("$id_version-$id_article-$id_auteur"); echo debut_block_visible("$id_version-$id_article-$id_auteur");
if (is_array($textes)) if (is_array($textes))
foreach ($textes as $var => $t) { foreach ($textes as $var => $t) {
if (strlen($t) > 0) { if (strlen($t) > 0) {
echo "<blockquote class='serif1'>"; echo "<blockquote class='serif1'>";
echo propre($t); echo propre_diff($t);
if ($GLOBALS['les_notes']) {
echo '<p>'.$GLOBALS['les_notes'];
$GLOBALS['les_notes'] = '';
}
echo "</blockquote>"; echo "</blockquote>";
} }
} }
......
...@@ -459,4 +459,47 @@ function ajouter_version($id_article, $champs, $titre_version = "") { ...@@ -459,4 +459,47 @@ function ajouter_version($id_article, $champs, $titre_version = "") {
return $id_version_new; return $id_version_new;
} }
// les textes "diff" ne peuvent pas passer dans propre directement,
// car ils contiennent des <span> et <div> parfois mal places
function propre_diff($texte) {
$span_diff = array();
if (preg_match_all(',</?(span|div) (class|rem)="diff-[^>]+>,', $texte, $regs, PREG_SET_ORDER)) {
foreach ($regs as $c => $reg)
$texte = str_replace($reg[0], '@@@SPIP_DIFF'.$c.'@@@', $texte);
}
// [ ...<span diff> -> lien ]
// < tag <span diff> >
$texte = preg_replace(',<([^>]*@@@SPIP_DIFF[0-9]+@@@),',
'&lt;\1', $texte);
# attention ici astuce seulement deux @@ finals car on doit eviter
# deux patterns a suivre, afin de pouvoir prendre [ mais eviter [[
$texte = preg_replace(',(^|[^[])[[]([^[\]]*@@@SPIP_DIFF[0-9]+@@),',
'\1&#91;\2', $texte);
$texte = propre($texte);
// un blockquote mal ferme peut gener l'affichage, et title plante safari
$texte = preg_replace(',<(/?(blockquote|title)[^>]*)>,i', '&lt;\1>', $texte);
// Dans les <cadre> c'est un peu plus complique
if (preg_match_all(',<textarea (.*)</textarea>,Uims', $texte, $area, PREG_SET_ORDER)) {
foreach ($area as $reg) {
$remplace = preg_replace(',@@@SPIP_DIFF[0-9]+@@@,', '**', $reg[0]);
if ($remplace <> $reg[0])
$texte = str_replace($reg[0], $remplace, $texte);
}
}
// replacer les valeurs des <span> et <div> diff-
if (is_array($regs))
foreach ($regs as $c => $reg) {
$texte = str_replace('@@@SPIP_DIFF'.$c.'@@@', $reg[0], $texte);
$GLOBALS['les_notes'] = str_replace('@@@SPIP_DIFF'.$c.'@@@', $reg[0], $GLOBALS['les_notes']);
}
return $texte;
}
?> ?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter