From 460aab5538d74b7ae26fb016bbcdcec6f07778e3 Mon Sep 17 00:00:00 2001
From: Cerdic <cedric@yterium.com>
Date: Wed, 21 Feb 2007 17:35:17 +0000
Subject: [PATCH] suite de #329 sur les ereg

---
 ecrire/action/cookie.php             |  6 +++---
 ecrire/action/editer_auteur.php      |  4 ++--
 ecrire/action/instituer_auteur.php   |  2 +-
 ecrire/action/test_dirs.php          |  2 +-
 ecrire/action/tester.php             |  2 +-
 ecrire/balise/login_public.php       |  6 +++---
 ecrire/exec/import_all.php           |  2 +-
 ecrire/exec/install.php              | 10 +++++-----
 ecrire/exec/lang_raccourcis.php      |  2 +-
 ecrire/exec/message.php              |  2 +-
 ecrire/exec/recherche.php            |  2 +-
 ecrire/exec/statistiques_visites.php |  6 +++---
 ecrire/inc/agenda.php                |  6 +++---
 ecrire/inc/ajouter_documents.php     |  2 +-
 ecrire/inc/charsets.php              |  4 ++--
 ecrire/inc/dater.php                 |  4 ++--
 ecrire/inc/distant.php               |  2 +-
 ecrire/inc/envoyer_mail.php          |  2 +-
 18 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/ecrire/action/cookie.php b/ecrire/action/cookie.php
index aec05fb5b2..1d26fa8665 100644
--- a/ecrire/action/cookie.php
+++ b/ecrire/action/cookie.php
@@ -26,7 +26,7 @@ function auth_http($url) {
 			     _T('login_retour_site'),
 			     "url=".rawurlencode($url),
 			     _T('login_nouvelle_tentative'),
-			     (ereg(_DIR_RESTREINT_ABS, $url)));
+			     (strpos($url,_DIR_RESTREINT_ABS)!==false));
 		exit;
 	}
 }
@@ -102,7 +102,7 @@ if ($essai_login == "oui") {
 
 	// Marche pas, renvoyer le formulaire avec message d'erreur si 2e fois
 	if (!$row_auteur) {
-		if (ereg(_DIR_RESTREINT_ABS, $redirect))
+		if (strpos($redirect,_DIR_RESTREINT_ABS)!==false)
 			$redirect = generer_url_public('login',
 				"var_login=$session_login", true);
 		if ($session_password || $session_password_md5)
@@ -113,7 +113,7 @@ if ($essai_login == "oui") {
 		spip_log("login de $session_login vers $redirect");
 		// Si on se connecte dans l'espace prive, 
 		// ajouter "bonjour" (repere a peu pres les cookies desactives)
-		if (ereg(_DIR_RESTREINT_ABS, $redirect)) {
+		if (strpos($redirect,_DIR_RESTREINT_ABS)!==false) {
 			$redirect .= ((false !== strpos($redirect, "?")) ? "&" : "?")
 				. 'bonjour=oui';
 		}
diff --git a/ecrire/action/editer_auteur.php b/ecrire/action/editer_auteur.php
index 8eeccf9ded..dc9cdca711 100644
--- a/ecrire/action/editer_auteur.php
+++ b/ecrire/action/editer_auteur.php
@@ -63,7 +63,7 @@ function action_legender_auteur_post($r) {
 		$source = 'spip';
 		$statut = '1comite'; // statut par defaut
 		if ($s) {
-		  if (ereg("^(0minirezo|1comite|5poubelle|6forum)$",$s))
+		  if (in_array($s,array('0minirezo','1comite','5poubelle','6forum')))
 		    $statut = $s;
 		  else spip_log("action_legender_auteur_dist: statut $s incompris");
 		}
@@ -199,7 +199,7 @@ function action_legender_auteur_post($r) {
 	if ($statut = _request('statut')
 	AND autoriser('modifier', 'auteur', $id_auteur, $qui = null,
 	$opt = array('statut'=>$statut))) {
-		if (!ereg("^(0minirezo|1comite|5poubelle|6forum)$",$statut)) {
+		if (!in_array($s,array('0minirezo','1comite','5poubelle','6forum'))) {
 		  spip_log("action_instituer_auteur_dist: $statut incompris  pour $id_auteur");
 		} else {
 			spip_query("UPDATE spip_auteurs SET statut="._q($statut) . " WHERE id_auteur=" . _q($id_auteur));
diff --git a/ecrire/action/instituer_auteur.php b/ecrire/action/instituer_auteur.php
index ec93938044..95982c8ca4 100644
--- a/ecrire/action/instituer_auteur.php
+++ b/ecrire/action/instituer_auteur.php
@@ -29,7 +29,7 @@ function action_instituer_auteur_dist() {
 			spip_abstract_insert('spip_auteurs_rubriques', "(id_auteur,id_rubrique)", "(" .$id_auteur .',' . $id_parent . ')');
 		}
 		if ($statut = _request('statut')) {
-			if (!ereg("^(0minirezo|1comite|5poubelle|6forum)$",$statut))
+			if (!in_array($s,array('0minirezo','1comite','5poubelle','6forum')))
 			  spip_log("action_instituer_auteur_dist: $statut incompris  pour $id_auteur");
 			else {
 				spip_query("UPDATE spip_auteurs SET statut='".$statut . "' WHERE id_auteur=" . $id_auteur);
diff --git a/ecrire/action/test_dirs.php b/ecrire/action/test_dirs.php
index 283e272b93..2fb90e4227 100644
--- a/ecrire/action/test_dirs.php
+++ b/ecrire/action/test_dirs.php
@@ -78,7 +78,7 @@ function action_test_dirs_dist()
   $chmod = 0;
 
 if ($test_dir) {
-  if (!ereg("/$", $test_dir)) $test_dir .= '/';
+  if (substr($test_dir,-1)!=='/') $test_dir .= '/';
   if (!in_array($test_dir, $test_dirs)) $test_dirs[] = $test_dir;
  }
 else {
diff --git a/ecrire/action/tester.php b/ecrire/action/tester.php
index a83103ba2e..696e57428a 100644
--- a/ecrire/action/tester.php
+++ b/ecrire/action/tester.php
@@ -127,7 +127,7 @@ function action_tester_dist() {
 	}
 
 	// et maintenant envoyer la vignette de tests
-	if (ereg("^(gd1|gd2|imagick|convert|netpbm)$", $arg)) {
+	if (in_array($arg,array("gd1","gd2","imagick","convert","netpbm"))) {
 		include_spip('inc/filtres');
 		include_spip('inc/filtres_images');
 		//$taille_preview = $GLOBALS['meta']["taille_preview"];
diff --git a/ecrire/balise/login_public.php b/ecrire/balise/login_public.php
index f20e99ff18..72c47d13fd 100644
--- a/ecrire/balise/login_public.php
+++ b/ecrire/balise/login_public.php
@@ -50,7 +50,7 @@ function login_explicite($login, $cible) {
 		$cible = parametre_url($cible, 'var_erreur', '', '&');
 		$cible = parametre_url($cible, 'var_login', '', '&');
 	} else {
-		if (ereg("[?&]url=([^&]*)", $action, $m))
+		if (preg_match(",[?&]url=([^&]*),", $action, $m))
 			$cible = rawurldecode($m[1]);
 		else
 			$cible = _DIR_RESTREINT ;
@@ -103,7 +103,7 @@ function login_pour_tous($login, $cible, $action) {
 	if ($echec_cookie AND !$ignore_auth_http) {
 		if (($GLOBALS['flag_sapi_name']
 		     AND eregi("apache", @php_sapi_name()))
-		OR ereg("^Apache.* PHP", $_SERVER['SERVER_SOFTWARE']))
+		OR preg_match(",^Apache.* PHP,", $_SERVER['SERVER_SOFTWARE']))
 			$auth_http = $pose_cookie;
 	}
 	// Attention dans le cas 'intranet' la proposition de se loger
@@ -113,7 +113,7 @@ function login_pour_tous($login, $cible, $action) {
 
 	// Le login est memorise dans le cookie d'admin eventuel
 	if (!$login) {
-		if (ereg("^@(.*)$", $_COOKIE['spip_admin'], $regs))
+		if (preg_match(",^@(.*)$,", $_COOKIE['spip_admin'], $regs))
 			$login = $regs[1];
 	} else if ($login == '-1')
 		$login = '';
diff --git a/ecrire/exec/import_all.php b/ecrire/exec/import_all.php
index 14adb39a62..f6392f5dd7 100644
--- a/ecrire/exec/import_all.php
+++ b/ecrire/exec/import_all.php
@@ -39,7 +39,7 @@ if ($f = include_spip('mes_fonctions', false)) {
 function verifier_sauvegarde ($archive, $dir) {
 	global $spip_version;
 
-	$g = ereg("\.gz$", $archive);
+	$g = preg_match(",\.gz$,", $archive);
 	$_fopen = ($g) ? gzopen : fopen;
 	$_fread = ($g) ? gzread : fread;
 	$buf_len = 1024; // la version doit etre dans le premier ko
diff --git a/ecrire/exec/install.php b/ecrire/exec/install.php
index 100c81d9bb..01353bea1f 100644
--- a/ecrire/exec/install.php
+++ b/ecrire/exec/install.php
@@ -48,7 +48,7 @@ function tester_compatibilite_hebergement() {
 	$err = array();
 
 	$p = phpversion();
-	if (ereg('^([0-9]+)\.([0-9]+)\.([0-9]+)', $p, $regs)) {
+	if (preg_match(',^([0-9]+)\.([0-9]+)\.([0-9]+),', $p, $regs)) {
 		$php = array($regs[1], $regs[2], $regs[3]);
 		$m = '4.0.8';
 		$min = explode('.', $m);
@@ -91,16 +91,16 @@ function login_hebergeur() {
 
 	// Lycos (ex-Multimachin)
 	if ($HTTP_X_HOST == 'membres.lycos.fr') {
-		ereg('^/([^/]*)', $REQUEST_URI, $regs);
+		preg_match(',^/([^/]*),', $REQUEST_URI, $regs);
 		$login_hebergeur = $regs[1];
 	}
 	// Altern
-	else if (ereg('altern\.com$', $SERVER_NAME)) {
-		ereg('([^.]*\.[^.]*)$', $HTTP_HOST, $regs);
+	else if (preg_match(',altern\.com$,', $SERVER_NAME)) {
+		preg_match(',([^.]*\.[^.]*)$,', $HTTP_HOST, $regs);
 		$login_hebergeur = preg_replace('[^\w\d]', '_', $regs[1]);
 	}
 	// Free
-	else if (ereg('(.*)\.free\.fr$', $SERVER_NAME, $regs)) {
+	else if (preg_match(',(.*)\.free\.fr$,', $SERVER_NAME, $regs)) {
 		$base_hebergeur = 'sql.free.fr';
 		$login_hebergeur = $regs[1];
 	}
diff --git a/ecrire/exec/lang_raccourcis.php b/ecrire/exec/lang_raccourcis.php
index 0d5b5e2aa2..11283932c5 100644
--- a/ecrire/exec/lang_raccourcis.php
+++ b/ecrire/exec/lang_raccourcis.php
@@ -84,7 +84,7 @@ function afficher_raccourcis($module = "public") {
 	echo "<div>&nbsp;</div>";
 
 	foreach (preg_files(repertoire_lang().$module.'_[a-z_]+\.php[3]?$') as $f)
-		if (ereg("^".$module."\_([a-z_]+)\.php[3]?$", $f, $regs))
+		if (preg_match(",^".$module."\_([a-z_]+)\.php[3]?$,", $f, $regs))
 				$langue_module[$regs[1]] = traduire_nom_langue($regs[1]);
 
 	if (isset($langue_module) && ($langue_module)) {
diff --git a/ecrire/exec/message.php b/ecrire/exec/message.php
index 98aa94e8d2..51a9e678db 100644
--- a/ecrire/exec/message.php
+++ b/ecrire/exec/message.php
@@ -407,7 +407,7 @@ function exec_affiche_message_dist($id_message, $cherche_auteur, $forcer_dest)
 		  {
 		    foreach ($v as $l => $e)
 		      {
-			if (ereg("=$id_message$", $e['URL']))
+			if (preg_match(",=$id_message$,", $e['URL']))
 			  {
 			    $ah[$k][$l]['CATEGORIES'] = "calendrier-nb";
 			    break;
diff --git a/ecrire/exec/recherche.php b/ecrire/exec/recherche.php
index f1229c14ad..3b3115b95d 100644
--- a/ecrire/exec/recherche.php
+++ b/ecrire/exec/recherche.php
@@ -49,7 +49,7 @@ function exec_recherche_dist()
 	$query_breves['FROM'] = 'spip_breves';
 	$query_rubriques['FROM'] = 'spip_rubriques';
 	$query_sites['FROM'] = 'spip_syndic';
-	$testnum = ereg("^[0-9]+$", $recherche);
+	$testnum = preg_match(",^[0-9]+$,", $recherche);
 
 	// Eviter les symboles '%', caracteres SQL speciaux
 
diff --git a/ecrire/exec/statistiques_visites.php b/ecrire/exec/statistiques_visites.php
index bbfdbb7c6b..935eef695a 100644
--- a/ecrire/exec/statistiques_visites.php
+++ b/ecrire/exec/statistiques_visites.php
@@ -706,7 +706,7 @@ if ($GLOBALS['accepte_svg']) {
 					echo http_img_rien($largeur, 1, 'background-color:#333333;');
 					echo http_img_rien($largeur, $difference, '', $tagtitle);
 					echo http_img_rien($largeur,1,"background-color:$couleur_foncee;");
-					if (ereg("-01",$key)){ // janvier en couleur foncee
+					if (preg_match(",-01,",$key)){ // janvier en couleur foncee
 					  echo http_img_rien($largeur,$hauteur,"background-color:$couleur_foncee;", $tagtitle);
 					} 
 					else {
@@ -716,7 +716,7 @@ if ($GLOBALS['accepte_svg']) {
 				else if ($hauteur_moyenne < $hauteur) {
 					$difference = ($hauteur - $hauteur_moyenne) -1;
 					echo http_img_rien($largeur,1,"background-color:$couleur_foncee;", $tagtitle);
-					if (ereg("-01",$key)){ // janvier en couleur foncee
+					if (preg_match(",-01,",$key)){ // janvier en couleur foncee
 						$couleur =  $couleur_foncee;
 					} 
 					else {
@@ -728,7 +728,7 @@ if ($GLOBALS['accepte_svg']) {
 				}
 				else {
 				  echo http_img_rien($largeur,1,"background-color:$couleur_foncee;", $tagtitle);
-					if (ereg("-01",$key)){ // janvier en couleur foncee
+					if (preg_match(",-01,",$key)){ // janvier en couleur foncee
 					  echo http_img_rien($largeur, $hauteur, "background-color:$couleur_foncee;", $tagtitle);
 					} 
 					else {
diff --git a/ecrire/inc/agenda.php b/ecrire/inc/agenda.php
index c3e5680c2f..4ca75d81c1 100644
--- a/ecrire/inc/agenda.php
+++ b/ecrire/inc/agenda.php
@@ -47,7 +47,7 @@ function calendrier_retire_args_ancre($script)
 {
 	$script = str_replace('&amp;', '&', $script);
   $script = str_replace('?bonjour=oui&?','?',$script);
-  if (ereg('^(.*)#([^=&]*)$',$script, $m)) {
+  if (preg_match(',^(.*)#([^=&]*)$,',$script, $m)) {
 	  $script = $m[1];
 	  $ancre = $m[2];
   } else { $ancre = ''; }
@@ -56,7 +56,7 @@ function calendrier_retire_args_ancre($script)
 		$script = preg_replace("/([?&])$arg=[^&]*&/",'\1', $script);
 		$script = preg_replace("/([?&])$arg=[^&]*$/",'\1', $script);
 	}
-  if (ereg('[?&]$', $script)) $script =   substr($script,0,-1);
+  if (in_array(substr($script,-1),array('&','?'))) $script =   substr($script,0,-1);
   return array(quote_amp($script), $ancre);
 }
 
@@ -1442,7 +1442,7 @@ function sql_calendrier_interval_rv($avant, $apres) {
 		$amj = date_anneemoisjour("$annee_avant-$mois_avant-".sprintf("%02d", $j+($jour_avant)));
 
 		while ($amj <= $ical_apres) {
-		if (!($amj == date_anneemoisjour($date_fin) AND ereg("00:00:00", $date_fin)))  // Ne pas prendre la fin a minuit sur jour precedent
+		if (!($amj == date_anneemoisjour($date_fin) AND preg_match(",00:00:00,", $date_fin)))  // Ne pas prendre la fin a minuit sur jour precedent
 			$evenements[$amj][$id_message]=
 			  array(
 				'URL' => generer_url_ecrire("message","id_message=$id_message"),
diff --git a/ecrire/inc/ajouter_documents.php b/ecrire/inc/ajouter_documents.php
index 7f26c7ae9f..dc6ccd2c70 100644
--- a/ecrire/inc/ajouter_documents.php
+++ b/ecrire/inc/ajouter_documents.php
@@ -63,7 +63,7 @@ function inc_ajouter_documents_dist ($source, $nom_envoye, $type_lien, $id_lien,
 		// - interdit a l'upload ?
 		// - quel numero dans spip_types_documents ?  =-(
 		// - est-ce "inclus" comme une image ?
-		ereg("\.([^.]+)$", $nom_envoye, $match);
+		preg_match(",\.([^.]+)$,", $nom_envoye, $match);
 		$ext = (corriger_extension(strtolower($match[1])));
 
 		// Si le fichier est de type inconnu, on va le stocker en .zip
diff --git a/ecrire/inc/charsets.php b/ecrire/inc/charsets.php
index 067922ba67..14bb788485 100644
--- a/ecrire/inc/charsets.php
+++ b/ecrire/inc/charsets.php
@@ -523,14 +523,14 @@ function unicode_to_javascript($texte) {
 // convertit les %uxxxx (envoyes par javascript)
 // http://doc.spip.org/@javascript_to_unicode
 function javascript_to_unicode ($texte) {
-	while (ereg("%u([0-9A-F][0-9A-F][0-9A-F][0-9A-F])", $texte, $regs))
+	while (preg_match(",%u([0-9A-F][0-9A-F][0-9A-F][0-9A-F]),", $texte, $regs))
 		$texte = str_replace($regs[0],"&#".hexdec($regs[1]).";", $texte);
 	return $texte;
 }
 // convertit les %E9 (envoyes par le browser) en chaine du charset du site (binaire)
 // http://doc.spip.org/@javascript_to_binary
 function javascript_to_binary ($texte) {
-	while (ereg("%([0-9A-F][0-9A-F])", $texte, $regs))
+	while (preg_match(",%([0-9A-F][0-9A-F]),", $texte, $regs))
 		$texte = str_replace($regs[0],chr(hexdec($regs[1])), $texte);
 	return $texte;
 }
diff --git a/ecrire/inc/dater.php b/ecrire/inc/dater.php
index 303d407b46..0f2c0ae17f 100644
--- a/ecrire/inc/dater.php
+++ b/ecrire/inc/dater.php
@@ -22,7 +22,7 @@ function inc_dater_dist($id, $flag, $statut, $type, $script, $date, $date_redac=
 {
 	global $spip_lang_left, $spip_lang_right, $options;
 
-	if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})( ([0-9]{2}):([0-9]{2}))?", $date_redac, $regs)) {
+	if (preg_match("/([0-9]{4})-([0-9]{2})-([0-9]{2})( ([0-9]{2}):([0-9]{2}))?/", $date_redac, $regs)) {
 		$annee_redac = $regs[1];
 		$mois_redac = $regs[2];
 		$jour_redac = $regs[3];
@@ -33,7 +33,7 @@ function inc_dater_dist($id, $flag, $statut, $type, $script, $date, $date_redac=
 
 	$possedeDateRedac= ($annee_redac + $mois_redac + $jour_redac);
 
-	if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})( ([0-9]{2}):([0-9]{2}))?", $date, $regs)) {
+	if (preg_match("/([0-9]{4})-([0-9]{2})-([0-9]{2})( ([0-9]{2}):([0-9]{2}))?/", $date, $regs)) {
 		$annee = $regs[1];
 		$mois = $regs[2];
 		$jour = $regs[3];
diff --git a/ecrire/inc/distant.php b/ecrire/inc/distant.php
index e5c12aa02c..e7e80ab12f 100644
--- a/ecrire/inc/distant.php
+++ b/ecrire/inc/distant.php
@@ -186,7 +186,7 @@ function recuperer_page($url, $munge_charset=false, $get_headers=false,
 
 			// Reponse du serveur distant
 			$s = trim(fgets($f, 16384));
-			if (ereg('^HTTP/[0-9]+\.[0-9]+ ([0-9]+)', $s, $r)) {
+			if (preg_match(',^HTTP/[0-9]+\.[0-9]+ ([0-9]+),', $s, $r)) {
 				$status = $r[1];
 			}
 			else return;
diff --git a/ecrire/inc/envoyer_mail.php b/ecrire/inc/envoyer_mail.php
index 2dd0812aac..5d7d23057e 100644
--- a/ecrire/inc/envoyer_mail.php
+++ b/ecrire/inc/envoyer_mail.php
@@ -24,7 +24,7 @@ if ($HTTP_X_HOST == 'membres.lycos.fr') {
 	$hebergeur = 'lycos';
 }
 // Altern
-else if (ereg('altern\.com$', $SERVER_NAME)) {
+else if (preg_match(',altern\.com$,', $SERVER_NAME)) {
 	$hebergeur = 'altern';
 }
 // NexenServices
-- 
GitLab