From 2ca613d2b1e6db45c0394c069f70fc67711e4931 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Thu, 8 May 2003 14:21:58 +0000
Subject: [PATCH] language=javascript -> type=tex/javascript
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

+ prpre() plus compliant

+ nouvelle var de personnalisation $ligne_horizontale

+ ATTENTION les intertitres changent par rapport à l'historique !!!
---
 ecrire/articles.php3         |  9 ++---
 ecrire/inc_layer.php3        |  4 +-
 ecrire/inc_presentation.php3 |  6 +--
 ecrire/inc_texte.php3        | 72 +++++++++++++++---------------------
 inc-forum.php3               |  2 +-
 inc-login.php3               |  4 +-
 6 files changed, 42 insertions(+), 55 deletions(-)

diff --git a/ecrire/articles.php3 b/ecrire/articles.php3
index 8b1903458a..edc1b1b1ed 100644
--- a/ecrire/articles.php3
+++ b/ecrire/articles.php3
@@ -1121,8 +1121,8 @@ if ($options == 'avancees' AND $articles_mots != 'non') {
 
 
 ?>
-<SCRIPT LANGUAGE="JavaScript">
-<!-- Beginning of JavaScript -
+<script type='text/javascript'>
+<!--
 function change_bouton(selObj){
 
 	var selection=selObj.options[selObj.selectedIndex].value;
@@ -1143,9 +1143,8 @@ function change_bouton(selObj){
 		document.statut.src="img_pack/puce-poubelle.gif";
 	}
 }
-
-// - End of JavaScript - -->
-</SCRIPT>
+// -->
+</script>
 <?php
 
 if ($connect_statut == '0minirezo' AND acces_rubrique($rubrique_article)) {
diff --git a/ecrire/inc_layer.php3 b/ecrire/inc_layer.php3
index 570cd632e8..d405dc6658 100644
--- a/ecrire/inc_layer.php3
+++ b/ecrire/inc_layer.php3
@@ -74,7 +74,7 @@ function debut_block_invisible($nom_block){
 			$numero_block["$nom_block"] = $compteur_block;
 		}
 
-		$retour = "\n<script language='JavaScript'><!--\n";
+		$retour = "\n<script type='text/javascript'><!--\n";
 		$retour .= "vis['".$numero_block["$nom_block"]."'] = 'hide';\n";
 		$retour .= "document.write('<div id=\"Layer".$numero_block["$nom_block"]."\" style=\"display: none; margin-top: 1;\">');\n";
 		$retour .= "//-->\n";
@@ -111,7 +111,7 @@ function bouton_block_invisible($nom_block) {
 
 			$javasc .= "swap_couche(\\'".$numero_block[$nom_block]."\\', \\'$spip_lang_rtl\\');";
 		}
-		$retour = "\n<script language='JavaScript'><!--\n";
+		$retour = "\n<script type='text/javascript'><!--\n";
 		$retour .= "document.write('<a href=\"javascript:$javasc\"><img name=\"triangle$num_triangle\" src=\"img_pack/deplierhaut$spip_lang_rtl.gif\" alt=\"\" title=\"".addslashes(_T('info_deplier'))."\" width=\"16\" height=\"14\" border=\"0\"></a> ');\n";
 		$retour .= "//-->\n";
 		$retour .= "</script>\n";
diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3
index a07c162eb7..d4d10e3cd4 100644
--- a/ecrire/inc_presentation.php3
+++ b/ecrire/inc_presentation.php3
@@ -912,7 +912,7 @@ function debut_html($titre = "") {
 
 	afficher_script_layer();
 ?>
-<script language="JavaScript"><!--
+<script type='text/javascript'><!--
 function changeclass(objet, myClass)
 { 
   objet.className = myClass;
@@ -1101,10 +1101,10 @@ function icone_bandeau_principal($texte, $lien, $fond, $rubrique_icone = "vide",
 	if (eregi("^javascript:",$lien)) {
 		$java_lien = substr($lien, 11, strlen($lien));
 		$onClick = "";
-		$a_href_icone = '<script language="JavaScript"><!--' . "\n"
+		$a_href_icone = '<script type="text/javascript"><!--' . "\n"
 			. 'document.write("<a'.$accesskey.' href=\\"javascript:'.addslashes($java_lien).'\\"");'."\n".'//--></script>'
 			. "<noscript><a$accesskey_icone href='$lien_noscript' target='_blank'></noscript>\n";
-		$a_href = '<script language="JavaScript"><!--' . "\n"
+		$a_href = '<script type="text/javascript"><!--' . "\n"
 			. 'document.write("<a'.$accesskey.' href=\\"javascript:'.addslashes($java_lien).'\\" class=\\"icone\\"");'."\n".'//--></script>'
 			. "<noscript><a$accesskey href='$lien_noscript' target='_blank'></noscript>\n";
 	}
diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3
index 66a7ecd36b..beb79c96ff 100644
--- a/ecrire/inc_texte.php3
+++ b/ecrire/inc_texte.php3
@@ -25,8 +25,9 @@ function tester_variable($nom_var, $val){
 		$GLOBALS[$nom_var] = $val;
 }
 
-tester_variable('debut_intertitre', "\n&nbsp;<h3 class=\"spip\">\n");   // sale mais historique
-tester_variable('fin_intertitre', "\n</h3><br>\n");
+tester_variable('debut_intertitre', "\n<h3 class=\"spip\">");
+tester_variable('fin_intertitre', "</h3>\n");
+tester_variable('ligne_horizontale', "\n<hr class=\"spip\">\n");
 tester_variable('ouvre_ref', '&nbsp;[');
 tester_variable('ferme_ref', ']');
 tester_variable('ouvre_note', '[');
@@ -531,7 +532,7 @@ function traiter_listes ($texte) {
 // Nettoie un texte, traite les raccourcis spip, la typo, etc.
 function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = 'oui') {
 	global $puce;
-	global $debut_intertitre, $fin_intertitre;
+	global $debut_intertitre, $fin_intertitre, $ligne_horizontale;
 	global $compt_note;
 	global $les_notes;
 	global $marqueur_notes;
@@ -680,18 +681,22 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 
 	// autres raccourcis
 	if (!$flag_pcre) {
-		$letexte = ereg_replace("(^|\n)(-{4,}|_{4,})", "\n<hr class=\"spip\">\n", $letexte);
+		/* note : on pourrait se passer de cette branche, car ereg_remplace() fonctionne
+		   sans pcre ; toutefois les elements ci-dessous sont un peu optimises (str_replace
+		   est plus rapide que ereg_replace), donc laissons les deux branches cohabiter, ca
+		   permet de gagner un peu de temps chez les hergeurs nazes */
+		$letexte = ereg_replace("(^|\n)(-{4,}|_{4,})", "___SPIP_ligne_horizontale___", $letexte);
 		$letexte = ereg_replace("^- *", "$puce&nbsp;", $letexte);
-		$letexte = ereg_replace("\n- *", "\n<br>$puce&nbsp;",$letexte);
-		$letexte = ereg_replace("\n_ +", "\n<br>",$letexte);
+		$letexte = ereg_replace("\n- *", "\n<br />$puce&nbsp;",$letexte);
+		$letexte = ereg_replace("\n_ +", "\n<br />",$letexte);
 		$letexte = ereg_replace("(( *)\n){2,}", "\n<p>", $letexte);
-		$letexte = str_replace("{{{", $debut_intertitre, $letexte);
-		$letexte = str_replace("}}}", $fin_intertitre, $letexte);
+		$letexte = str_replace("{{{", "___SPIP_debut_intertitre___", $letexte);
+		$letexte = str_replace("}}}", "___SPIP_fin_intertitre___", $letexte);
 		$letexte = str_replace("{{", "<b class=\"spip\">", $letexte);
 		$letexte = str_replace("}}", "</b>", $letexte);
 		$letexte = str_replace("{", "<i class=\"spip\">", $letexte);
 		$letexte = str_replace("}", "</i>", $letexte);
-		$letexte = eregi_replace("(<br>)+(<p>|<br>)", "\n<p class=\"spip\">", $letexte);
+		$letexte = eregi_replace("(<br[[:space:]]*/?".">)+(<p>|<br[[:space:]]*/?".">)", "\n<p class=\"spip\">", $letexte);
 		$letexte = str_replace("<p>", "<p class=\"spip\">", $letexte);
 		$letexte = str_replace("\n", " ", $letexte);
 	}
@@ -708,19 +713,19 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 			/* 8 */ 	"/\}\}/",
 			/* 9 */ 	"/\{/",
 			/* 10 */	"/\}/",
-			/* 11 */	"/(<br>){2,}/",
-			/* 12 */	"/<p>([\n]*)(<br>)+/",
+			/* 11 */	"/(<br[[:space:]]*\/?".">){2,}/",
+			/* 12 */	"/<p>([\n]*)(<br[[:space:]]*\/?".">)+/",
 			/* 13 */	"/<p>/",
 			/* 14 */	"/\n/"
 		);
 		$remplace1 = array(
-			/* 0 */ 	"\n<hr class=\"spip\">\n",
+			/* 0 */ 	"___SPIP_ligne_horizontale___",
 			/* 1 */ 	"$puce&nbsp;",
-			/* 2 */ 	"\n<br>$puce&nbsp;",
-			/* 3 */ 	"\n<br>",
+			/* 2 */ 	"\n<br />$puce&nbsp;",
+			/* 3 */ 	"\n<br />",
 			/* 4 */ 	"\n<p>",
-			/* 5 */ 	"$debut_intertitre",
-			/* 6 */ 	"$fin_intertitre",
+			/* 5 */ 	"___SPIP_debut_intertitre___",
+			/* 6 */ 	"___SPIP_fin_intertitre___",
 			/* 7 */ 	"<b class=\"spip\">",
 			/* 8 */ 	"</b>",
 			/* 9 */ 	"<i class=\"spip\">",
@@ -733,39 +738,22 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = '
 		$letexte = ereg_remplace($cherche1, $remplace1, $letexte);
 	}
 
-	if (ereg('<p class="spip">',$letexte)){
-		$letexte = '<p class="spip">'.ereg_replace('<p class="spip">', "</p>\n".'<p class="spip">',$letexte).'</p>';
-	}
+	// paragrapher
+	$letexte = '<p class="spip">'.ereg_replace('<p class="spip">', "</p>\n".'<p class="spip">',$letexte).'</p>';
+
+	// intertitres & hr compliants
+	$letexte = ereg_replace('(<p class="spip">)?[[:space:]]*___SPIP_debut_intertitre___', $debut_intertitre, $letexte);
+	$letexte = ereg_replace('___SPIP_fin_intertitre___[[:space:]]*(</p>)?', $fin_intertitre, $letexte);
+	$letexte = ereg_replace('(<p class="spip">)?[[:space:]]*___SPIP_ligne_horizontale___[[:space:]]*(</p>)?', $ligne_horizontale, $letexte);
 
 	// Reinserer les echappements
 	$letexte = echappe_retour($letexte, $les_echap, "SOURCEPROPRE");
 
 	if ($mes_notes) {
-		$fin_notes = '';
-
-		// "paragrapher" les anciennes notes
-		if ($les_notes) {
-			if (!ereg('<p class="spip_note">', $les_notes)) {
-				$les_notes = '<p class="spip_note">' . $les_notes . '</p>';
-			}
-			$les_notes .= "\n".'<p class="spip_note">';
-			$fin_notes = '</p>';
-		}
-
-		// "paragrapher" les nouvelles notes
 		$mes_notes = traiter_raccourcis($mes_notes, $les_echap, 'non');
-		if (ereg('<p class="spip">', $mes_notes)) {
-			$mes_notes = ereg_replace('^<p class="spip">', '', $mes_notes);
-			$mes_notes = ereg_replace('</p>$', '', $mes_notes);
-			$mes_notes = ereg_replace('<p class="spip">', '<p class="spip_note">', $mes_notes);
-			$fin_notes = '</p>';
-		}
-
-		// nettoyer
+		$mes_notes = ereg_replace('<p class="spip">', '<p class="spip_note">', $mes_notes);
 		$mes_notes = echappe_retour($mes_notes, $les_echap, "SOURCEPROPRE");
-
-		// ajouter
-		$les_notes .= interdire_scripts($mes_notes) . $fin_notes;
+		$les_notes .= interdire_scripts($mes_notes);
 	}
 
 	return $letexte;
diff --git a/inc-forum.php3 b/inc-forum.php3
index 901f4dd814..429be4e90f 100644
--- a/inc-forum.php3
+++ b/inc-forum.php3
@@ -78,7 +78,7 @@ function forum_abonnement($retour) {
 		include_local("inc-login.php3");
 
 		$message_login = _T('forum_vous_enregistrer').
-' <script language="JavaScript"><!--
+' <script type="text/javascript"><!--
 document.write("<a href=\\"javascript:window.open(\\\'spip_pass.php3\\\', \\\'spip_pass\\\', \\\'scrollbars=yes,resizable=yes,width=480,height=450\\\'); void(0);\\"");
 //--></script><noscript><a href=\'spip_pass.php3\' target=\'_blank\'></noscript>'._T('forum_vous_inscrire').'<br>';
 		login('', false, $message_login);
diff --git a/inc-login.php3 b/inc-login.php3
index ca3c20e3d4..7cfdb6640b 100644
--- a/inc-login.php3
+++ b/inc-login.php3
@@ -219,14 +219,14 @@ function login($cible = '', $prive = 'prive', $message_login='') {
 
 	$inscriptions_ecrire = (lire_meta("accepter_inscriptions") == "oui");
 	if ((!$prive AND (lire_meta('accepter_visiteurs') == 'oui') OR (lire_meta('forums_publics') == 'abo')) OR ($prive AND $inscriptions_ecrire))
-		echo ' [<script language="JavaScript"><!--
+		echo ' [<script type="text/javascript"><!--
 document.write("<a href=\\"javascript:window.open(\\\'spip_pass.php3\\\', \\\'spip_pass\\\', \\\'scrollbars=yes,resizable=yes,width=480,height=450\\\'); void(0);\\"");
 //--></script><noscript><a href=\'spip_pass.php3\' target=\'_blank\'></noscript>'._T('login_sinscrire').'</a>]';
 
 	// bouton oubli de mot de passe
 	include_ecrire ("inc_mail.php3");
 	if (tester_mail()) {
-		echo ' [<script language="JavaScript"><!--
+		echo ' [<script type="text/javascript"><!--
 document.write("<a href=\\"javascript:window.open(\\\'spip_pass.php3?oubli_pass=oui\\\', \\\'spip_pass\\\', \\\'scrollbars=yes,resizable=yes,width=480,height=280\\\'); void(0);\\"");
 //--></script><noscript><a href=\'spip_pass.php3?oubli_pass=oui\' target=\'_blank\'></noscript>'._T('login_motpasseoublie').'</a>]';
 	}
-- 
GitLab