Valider c0df2eba rédigé par Fil's avatar Fil
Parcourir les fichiers

suppression des methodes spip_fetch_object et spip_fetch_row

(moins on aura de façons différentes de parler à la base, et mieux
on se portera quand il faudra migrer vers un autre SGDB)

NB: une fois testé qu'il n'y a pas d'oubli, on peut réactiver les fonctions au cas où elles serviraient dans des scripts externes ou contribs.
parent add9a85a
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+5 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -23,7 +23,7 @@ function verifier_base() {
	if (! $res1= spip_query("SHOW TABLES"))
		return false;

	while ($tab = spip_fetch_row($res1)) {
	while ($tab = spip_fetch_array($res1)) {
		echo "<p><b>".$tab[0]."</b> ";

		if (!($result_repair = spip_query("REPAIR TABLE ".$tab[0])))
@@ -32,15 +32,15 @@ function verifier_base() {
		if (!($result = spip_query("SELECT COUNT(*) FROM ".$tab[0])))
			return false;

		list($count) = spip_fetch_row($result);
		list($count) = spip_fetch_array($result);
		if ($count>1)
			echo "("._T('texte_compte_elements', array('count' => $count)).")\n";
		if ($count==1)
		else if ($count==1)
			echo "("._T('texte_compte_element', array('count' => $count)).")\n";
		else
			echo "("._T('texte_vide').")\n";

		$row = spip_fetch_row($result_repair);
		$row = spip_fetch_array($result_repair);
		$ok = ($row[3] == 'OK');

		if (!$ok)
@@ -57,7 +57,7 @@ function verifier_base() {
if (! $res1= spip_query("SELECT version()"))
	$message = _T('avis_erreur_connexion_mysql');
else {
	$tab = spip_fetch_row($res1);
	$tab = spip_fetch_array($res1);
	$version_mysql = $tab[0];
	if ($version_mysql < '3.23.14')
		$message = _T('avis_version_mysql', array('version_mysql' => $version_mysql));
+3 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -277,8 +277,8 @@ function get_forums_publics($id_article=0) {
	if ($id_article) {
		$query = "SELECT accepter_forum FROM spip_articles WHERE id_article=$id_article";
		$res = spip_query($query);
		if ($obj = spip_fetch_object($res))
			$forums_publics = $obj->accepter_forum;
		if ($obj = spip_fetch_array($res))
			$forums_publics = $obj['accepter_forum'];
	} else { // dans ce contexte, inutile
		$forums_publics = substr(lire_meta("forums_publics"),0,3);
	}
@@ -1079,7 +1079,7 @@ if (spip_num_rows($result)) {
			"WHERE lien.id_auteur=$id_auteur AND articles.id_article=lien.id_article ".
			"AND articles.statut IN $aff_articles GROUP BY lien.id_auteur";
		$result2 = spip_query($query2);
		if ($result2) list($nombre_articles) = spip_fetch_row($result2);
		if ($result2) list($nombre_articles) = spip_fetch_array($result2);
		else $nombre_articles = 0;

		$url_auteur = "auteurs_edit.php3?id_auteur=$id_auteur";
+5 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -167,23 +167,23 @@ if (!$adresse_site) {

function tester_rubrique_vide($id_rubrique) {
	$query = "SELECT id_rubrique FROM spip_rubriques WHERE id_parent='$id_rubrique' LIMIT 0,1";
	list($n) = spip_fetch_row(spip_query($query));
	list($n) = spip_fetch_array(spip_query($query));
	if ($n > 0) return false;

	$query = "SELECT id_article FROM spip_articles WHERE id_rubrique='$id_rubrique' AND (statut='publie' OR statut='prepa' OR statut='prop') LIMIT 0,1";
	list($n) = spip_fetch_row(spip_query($query));
	list($n) = spip_fetch_array(spip_query($query));
	if ($n > 0) return false;

	$query = "SELECT id_breve FROM spip_breves WHERE id_rubrique='$id_rubrique' AND (statut='publie' OR statut='prop') LIMIT 0,1";
	list($n) = spip_fetch_row(spip_query($query));
	list($n) = spip_fetch_array(spip_query($query));
	if ($n > 0) return false;

	$query = "SELECT id_syndic FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND (statut='publie' OR statut='prop') LIMIT 0,1";
	list($n) = spip_fetch_row(spip_query($query));
	list($n) = spip_fetch_array(spip_query($query));
	if ($n > 0) return false;

	$query = "SELECT id_document FROM spip_documents_rubriques WHERE id_rubrique='$id_rubrique' LIMIT 0,1";
	list($n) = spip_fetch_row(spip_query($query));
	list($n) = spip_fetch_array(spip_query($query));
	if ($n > 0) return false;

	return true;
+8 −8
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -386,23 +386,23 @@ function liste_rv($query, $type) {
		debut_cadre_enfonce("", false, "", $titre);

		echo "<table width='100%' border='0' cellpadding='0' cellspacing='2'>";
		while ($row = spip_fetch_object($result)) {
		while ($row = spip_fetch_array($result)) {
		
			if (ereg("^=([^[:space:]]+)$",$row->texte,$match))
			if (ereg("^=([^[:space:]]+)$",$row['texte'],$match))
				$url = $match[1];
			else
				$url = "message.php3?id_message=".$row->id_message;
				$type=$row->type;
				$rv = $row->rv;
				$date = $row->date_heure;
				$date_fin = $row -> date_fin;
				$url = "message.php3?id_message=".$row['id_message'];
				$type=$row['type'];
				$rv = $row['rv'];
				$date = $row['date_heure'];
				$date_fin = $row['date_fin'];

				if ($type=="normal") $bouton = "message";
				elseif ($type=="pb") $bouton = "pense-bete";
				elseif ($type=="affich") $bouton = "annonce";
				else $bouton = "message";
						
			$titre = typo($row->titre);
			$titre = typo($row['titre']);
			
			if ($rv == "oui") {
				echo "<tr><td colspan='2'>";
+121 −132
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -1227,23 +1227,24 @@ function http_calendrier_rv($messages, $type) {
	$total = '';
	if (!$messages) return $total;
	foreach ($messages as $row) {
	  if (ereg("^=([^[:space:]]+)$",$row->texte,$match))
		if (ereg("^=([^[:space:]]+)$",$row['texte'],$match))
			$url = $match[1];
		else
	    $url = "message.php3?id_message=".$row->id_message;
			$url = "message.php3?id_message=".$row['id_message'];

	  $rv = ($row->rv == 'oui');
	  $date = $row->date_heure;
	  $date_fin = $row -> date_fin;
		$rv = ($row['rv'] == 'oui');
		$date = $row['date_heure'];
		$date_fin = $row['date_fin'];

	  if ($row->type=="pb") $bouton = "pense-bete";
	  elseif ($row->type=="annonces") $bouton = "annonce";
		if ($row['type']=="pb") $bouton = "pense-bete";
		else if ($row['type']=="annonces") $bouton = "annonce";
		else $bouton = "message";

		if ($rv) {
			$date_jour = affdate_jourcourt($date);
			$total .= "<tr><td colspan='2'>" .
	      (($date_jour == $date_rv) ? '' : "<div class='arial11'><b>$date_jour</b></div>") .
				(($date_jour == $date_rv) ? '' :
				"<div class='arial11'><b>$date_jour</b></div>") .
				"</td></tr>";
		}

@@ -1258,7 +1259,7 @@ function http_calendrier_rv($messages, $type) {
		("<div class='arial0' style='float: $spip_lang_left; line-height: 12px; color: #666666; margin-$spip_lang_right: 3px; padding-$spip_lang_right: 4px; background: url(img_pack/fond-agenda.gif) $spip_lang_right center no-repeat;'>".heures($date).":".minutes($date)."<br />".heures($date_fin).":".minutes($date_fin)."</div>") :
		( "<div class='arial0' style='float: $spip_lang_left; line-height: 12px; color: #666666; margin-$spip_lang_right: 3px; padding-$spip_lang_right: 4px; background: url(img_pack/fond-agenda.gif) $spip_lang_right center no-repeat; text-align: center;'>".heures($date).":".minutes($date)."<br />...</div>" ))) .
		"<div><b>" .
	    http_calendrier_href($url, typo($row->titre), '', 
		http_calendrier_href($url, typo($row['titre']), '', 
'font-family: Verdana, Arial, Sans, sans-serif; font-size: 10px;') .
		"</b></div>" .
		"</td>" .
@@ -1294,12 +1295,11 @@ function http_calendrier_rv($messages, $type) {
	  fin_cadre_enfonce(true);
}

# fabrique une balise A, avec un href conforme au validateur W3C
# et une classe uniquement destinee a retirer l'URL lors d'une impression
# attention au cas ou la href est du Javascript avec des "'"
// Fabrique une balise A, avec un href conforme au validateur W3C
// et une classe uniquement destinee a retirer l'URL lors d'une impression
// attention au cas ou la href est du Javascript avec des "'"

function http_calendrier_href($href, $clic, $title='', $style='', $class='')
{
function http_calendrier_href($href, $clic, $title='', $style='', $class='') {
	return '<a href="' .
		str_replace('&', '&amp;', $href) .
		'"' . # class="forum-repondre-message"' .
@@ -1312,8 +1312,7 @@ function http_calendrier_href($href, $clic, $title='', $style='', $class='')
}


function sql_calendrier_interval_jour($annee,$mois,$jour)
{
function sql_calendrier_interval_jour($annee,$mois,$jour) {
	$avant = "'$annee-$mois-$jour'";
	$apres = "'$annee-$mois-$jour 23:59:59'";

@@ -1322,36 +1321,35 @@ function sql_calendrier_interval_jour($annee,$mois,$jour)
		sql_calendrier_interval_rv($avant, $apres));
}

function sql_calendrier_interval_semaine($annee,$mois,$jour)
{
function sql_calendrier_interval_semaine($annee,$mois,$jour) {
	$w_day = date("w", mktime(0,0,0,$mois, $jour, $annee));
	if ($w_day == 0) $w_day = 7; // Gaffe: le dimanche est zero
	$debut = $jour-$w_day;
	$avant = "'" . date("Y-m-d", mktime(1,1,1,$mois,$debut,$annee)) . "'";
  $apres = "'" . date("Y-m-d", mktime(1,1,1,$mois,$debut+7,$annee)) . " 23:59:59'";
	$apres = "'" . date("Y-m-d", mktime(1,1,1,$mois,$debut+7,$annee)) .
	" 23:59:59'";

	return array(sql_calendrier_interval_articles($avant, $apres),
		sql_calendrier_interval_breves($avant, $apres),
		sql_calendrier_interval_rv($avant, $apres));
}

function sql_calendrier_interval_mois($annee,$mois,$jour)
{
function sql_calendrier_interval_mois($annee,$mois,$jour) {
	$periode = $annee . '-' . sprintf("%02d", $mois) . '-01';
	$avant = "'$periode'";
	// $apres = "DATE_ADD('$periode', INTERVAL 1 MONTH)";
  $apres = "'" . date("Y-m-d", mktime(1,1,1,$mois+1,$debut,$annee)) . " 23:59:59'";
	$apres = "'" . date("Y-m-d", mktime(1,1,1,$mois+1,$debut,$annee)) .
	" 23:59:59'";
	return array(sql_calendrier_interval_articles($avant, $apres),
		sql_calendrier_interval_breves($avant, $apres),
		sql_calendrier_interval_rv($avant, $apres));
}

# 3 fonctions retournant les evenements d'une priode
# le tableau retourn est indexe par les balises du format ics
# 3 fonctions retournant les evenements d'une periode
# le tableau retourne est indexe par les balises du format ics
# afin qu'il soit facile de produire de tels documents.

function sql_calendrier_interval_articles($avant, $apres)
{
function sql_calendrier_interval_articles($avant, $apres) {
	$evenements= array();
	$result=spip_query("
SELECT	id_article, titre, date
@@ -1372,8 +1370,7 @@ ORDER BY date
	return $evenements;
}

function sql_calendrier_interval_breves($avant, $apres)
{
function sql_calendrier_interval_breves($avant, $apres) {
	$evenements= array();
	$result=spip_query("
SELECT	id_breve, titre, date_heure
@@ -1394,8 +1391,7 @@ ORDER BY date_heure
	return $evenements;
}

function sql_calendrier_interval_rv($avant, $apres)
{
function sql_calendrier_interval_rv($avant, $apres) {
	global $connect_id_auteur;
	$evenements= array();
	$result=spip_query("
@@ -1447,7 +1443,6 @@ WHERE (lien.id_message='$id_message'
		$jour_apres = substr($apres, 9,2);
		$mois_apres = substr($apres, 6,2);
		$annee_apres = substr($apres, 1,4);
 	 		
		$ical_apres = sql_calendrier_jour_ical("$annee_apres-$mois_apres-".sprintf("%02d",$jour_apres));

		// Calcul pour les semaines a cheval sur deux mois 
@@ -1481,9 +1476,8 @@ function sql_calendrier_taches_annonces () {
	$result = spip_query("
SELECT * FROM spip_messages 
WHERE type = 'affich' AND rv != 'oui' AND statut = 'publie' ORDER BY date_heure DESC");
  if (spip_num_rows($result) > 0){
    while ($x = spip_fetch_object($result)) $r[] = $x;
  }
	if (spip_num_rows($result) > 0)
		while ($x = spip_fetch_array($result)) $r[] = $x;
	return $r;
}

@@ -1495,7 +1489,7 @@ SELECT * FROM spip_messages AS messages
WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND rv!='oui'");
	if (spip_num_rows($result) > 0){
	  $r = array();
	  while ($x = spip_fetch_object($result)) $r[] = $x;
	  while ($x = spip_fetch_array($result)) $r[] = $x;
	}
	return $r;
}
@@ -1518,7 +1512,7 @@ GROUP BY messages.id_message
ORDER BY messages.date_heure");
	if (spip_num_rows($result) > 0){
	  $r = array();
	  while ($x = spip_fetch_object($result)) $r[] = $x;
	  while ($x = spip_fetch_array($result)) $r[] = $x;
	}
	return  $r;
}
@@ -1623,9 +1617,4 @@ function calendrier_div_style($evenement)
}







?>
Chargement en cours