[Agora-commits] agora/ecrire articles.php3, 1.91, 1.92 config-fonctions.php3, 1.24, 1.25 inc.php3, 1.44, 1.45 inc_config.php3, 1.33, 1.34 inc_mots.php3, 1.33, 1.34 inc_version.php3, 1.98, 1.99 naviguer.php3, 1.48, 1.49

lpoinsignon at adullact1.hosting.cri74.org lpoinsignon at adullact1.hosting.cri74.org
Jeu 15 Sep 15:32:59 CEST 2005


Update of /cvsroot/agora/agora/ecrire
In directory adullact1:/tmp/cvs-serv14600/ecrire

Modified Files:
	articles.php3 config-fonctions.php3 inc.php3 inc_config.php3 
	inc_mots.php3 inc_version.php3 naviguer.php3 
Log Message:
Ajouts et modifications pour la fonctionnalité de mapping (indexation d'un article dans plusieurs rubriques), développée par G Grason pour le minitère des Affaires étrangères.

Index: articles.php3
===================================================================
RCS file: /cvsroot/agora/agora/ecrire/articles.php3,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -d -r1.91 -r1.92
--- articles.php3	22 Jul 2005 08:59:20 -0000	1.91
+++ articles.php3	15 Sep 2005 13:32:56 -0000	1.92
@@ -31,6 +31,10 @@
 require_once (dirname(__FILE__)."/include/bd/inc_article_historique_factory.php");
 // Fin de l'ajout Aurelien Vialet
 
+/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+require_once (dirname(__FILE__)."/include/bd/inc_mapping_factory.php");
+/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 /* fin zone de modification Clever Age */
 
 // le poids du redacteur .... utile pour la suite 
@@ -58,6 +62,11 @@
 
 $auteurMetier = & recuperer_instance_auteur();
 
+/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+$mapping = & recuperer_instance_mapping();
+$mappingMetier = & recuperer_instance_article();
+/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 // Récupération de l'heure courante (valeur par défaut de l'heure de publication)
 $heure = date( 'H' );
 $minute = date( 'i' );
@@ -348,6 +357,28 @@
 		$query = "UPDATE spip_articles SET statut='$statut_nouv' WHERE id_article=$id_article";
 		$result = spip_query($query);
 		*/
+
+		/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+		if ($statut_nouv == 'poubelle' AND $statut_nouv != $statut_article) {
+			$mappings = $mapping->getMappings($articleMetier->getArticleId());
+			if ( PEAR::isError($mappings) ) {
+				die($mappings->getMessage());
+			}
+			else {
+				for ($i = 0; $i < count($mappings); $i++) {
+					$deleteOK = $mappingMetier->delete($mappings[$i]);
+					if (PEAR :: isError($deleteOK)) {
+						die($deleteOK->getMessage());
+					}
+					$deleteOK = $mapping->deleteEntryByArticleIdAndMappingId($articleMetier->getArticleId(), $id_map);
+					if (PEAR :: isError($deleteOK)) {
+						die($deleteOK->getMessage());
+					}
+				}
+			}
+		}
+		/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 		if ($statut_nouv == 'publie' AND $statut_nouv != $statut_article) {
 			if (($activer_version_articles == 'oui') && ($articleMetier->getVersionId() != 0)) {
 				//echo $articleMetier->getVersionId();
@@ -384,6 +415,33 @@
 		}
 		//-------FIN MODIFICATION CLEVER AGE
 
+		/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+		if ($statut_nouv != $statut_article) {
+			$mappings = $mapping->getMappings($articleMetier->getArticleId());
+			if ( PEAR::isError($mappings) ) {
+				die($mappings->getMessage());
+			}
+			else {
+				for ($i = 0; $i < count($mappings); $i++) {
+					$loadOK = $mappingMetier->load($mappings[$i]);
+					if (PEAR :: isError($loadOK)) {
+						die($loadOK->getMessage());
+					} else {
+						if ($statut_nouv == 'publie')
+							$mappingMetier->setStatut('mappe');
+						else
+							$mappingMetier->setStatut('map_off');
+						$updateOK = $mappingMetier->update();
+						if (PEAR :: isError($updateOK)) {
+							die($updateOK->getMessage());
+						}
+					}
+				}
+			}
+		}
+		/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
+
 		$statut_ancien = $statut_article; // message pour les traitements de fond (indexation ; envoi mail)
 		$statut_article = $statut_nouv;
 		//--------Zone de modifications Clever Age elebescond-------------
@@ -407,6 +465,25 @@
     if ( PEAR::isError($status) ) {
         die( 'Impossible de modifier la date de publication : ' . $status->getMessage() );
     }
+
+	/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+	$mappings = $mapping->getMappings($articleMetier->getArticleId());
+	if ( PEAR::isError($mappings) ) {
+		die($mappings->getMessage());
+	}
+	else {
+		for ($i = 0; $i < count($mappings); $i++) {
+			$loadOK = $mappingMetier->load($mappings[$i]);
+			if (PEAR :: isError($loadOK)) {
+				die($loadOK->getMessage());
+			} else {
+				$mappingMetier->setPublicationDate(array($_GET['annee'], $_GET['mois'], $_GET['jour']),
+													array($_GET['heure'], $_GET['minute'], '00'));
+			}
+		}
+	}
+	/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 }
 
 // Modification de la date d'expiration
@@ -440,6 +517,27 @@
 		if (PEAR :: isError($updateOK)) {
 			die($updateOK->getMessage());
 		}
+		/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+		$mappings = $mapping->getMappings($articleMetier->getArticleId());
+		if ( PEAR::isError($mappings) ) {
+			die($mappings->getMessage());
+		}
+		else {
+			for ($i = 0; $i < count($mappings); $i++) {
+				$loadOK = $mappingMetier->load($mappings[$i]);
+				if (PEAR :: isError($loadOK)) {
+					die($loadOK->getMessage());
+				} else {
+					$mappingMetier->setRedactionDate($articleMetier->getRedactionDate());
+					$updateOK = $mappingMetier->update();
+					if (PEAR :: isError($updateOK)) {
+						die($updateOK->getMessage());
+					}
+				}
+			}
+		}
+		/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 	} else {
 		$maDate = new Date("$annee_redac-$mois_redac-$jour_redac 01:01:01");
 
@@ -450,6 +548,28 @@
 		if (PEAR :: isError($updateOK)) {
 			die($updateOK->getMessage());
 		}
+
+		/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+		$mappings = $mapping->getMappings($articleMetier->getArticleId());
+		if ( PEAR::isError($mappings) ) {
+			die($mappings->getMessage());
+		}
+		else {
+			for ($i = 0; $i < count($mappings); $i++) {
+				$loadOK = $mappingMetier->load($mappings[$i]);
+				if (PEAR :: isError($loadOK)) {
+					die($loadOK->getMessage());
+				} else {
+					$mappingMetier->setRedactionDate($articleMetier->getRedactionDate());
+					$updateOK = $mappingMetier->update();
+					if (PEAR :: isError($updateOK)) {
+						die($updateOK->getMessage());
+					}
+				}
+			}
+		}
+		/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 	}
 	/*
 	if ($avec_redac=="non") {
@@ -499,6 +619,30 @@
 		if (PEAR :: isError($updateOK)) {
 			die($updateOK->getMessage());
 		}
+		
+                /******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+		$mappings = $mapping->getMappings($articleMetier->getArticleId());
+		if ( PEAR::isError($mappings) ) {
+			die($mappings->getMessage());
+		}
+		else {
+			for ($i = 0; $i < count($mappings); $i++) {
+				$loadOK = $mappingMetier->load($mappings[$i]);
+				if (PEAR :: isError($loadOK)) {
+					die($loadOK->getMessage());
+				} else {
+					$mappingMetier->setLang($articleMetier->getLang());
+					$mappingMetier->setLangChoisie($articleMetier->getLangChoisie());
+					$updateOK = $mappingMetier->update();
+					if (PEAR :: isError($updateOK)) {
+						die($updateOK->getMessage());
+					}
+				}
+			}
+		}
+		/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
+
 	}
 	/*
 	if ($changer_lang) {
@@ -597,6 +741,26 @@
 	$result = spip_query($query);
 	*/
 	//-----------FIN MODIFICATION CLEVER AGE
+	/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+	$mappings = $mapping->getMappings($articleMetier->getArticleId());
+	if ( PEAR::isError($mappings) ) {
+		die($mappings->getMessage());
+	}
+	else {
+		for ($i = 0; $i < count($mappings); $i++) {
+			$loadOK = $mappingMetier->load($mappings[$i]);
+			if (PEAR :: isError($loadOK)) {
+				die($loadOK->getMessage());
+			} else {
+				$mappingMetier->setChapo($chapo);
+				$updateOK = $mappingMetier->update();
+				if (PEAR :: isError($updateOK)) {
+					die($updateOK->getMessage());
+				}
+			}
+		}
+	}
+	/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
 
 }
 
@@ -668,13 +832,44 @@
 	if (PEAR :: isError($updateOK)) {
 		die(PEAR :: isError($updateOK));
 	}
-	/*
+
+	/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+	$mappings = $mapping->getMappings($articleMetier->getArticleId());
+	if ( PEAR::isError($mappings) ) {
+		die($mappings->getMessage());
+	}
+	else {
+		for ($i = 0; $i < count($mappings); $i++) {
+			$loadOK = $mappingMetier->load($mappings[$i]);
+			if (PEAR :: isError($loadOK)) {
+				die($loadOK->getMessage());
+			} else {
+				$mappingMetier->setSurtitre($articleMetier->getSurtitre());
+				//$mappingMetier->setTitre($articleMetier->getTitre());
+				$mappingMetier->setSoustitre($articleMetier->getSoustitre());
+				//$mappingMetier->setDescriptif($articleMetier->getDescriptif());
+				$mappingMetier->setNomSite($articleMetier->getNomSite());
+				$mappingMetier->setUrlSite($articleMetier->getUrlSite());
+				$mappingMetier->setChapo($articleMetier->getChapo());
+				$mappingMetier->setTexte($articleMetier->getTexte());
+				$mappingMetier->setPs($articleMetier->getPs());
+				$mappingMetier->setExtra($articleMetier->getExtra());
+				$updateOK = $mappingMetier->update();
+				if (PEAR :: isError($updateOK)) {
+					die($updateOK->getMessage());
+				}
+			}
+		}
+	}
+	/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
+        /*
 	$query = "UPDATE spip_articles SET surtitre=\"$surtitre\", titre=\"$titre\", soustitre=\"$soustitre\", $change_rubrique descriptif=\"$descriptif\", chapo=\"$chapo\", texte=\"$texte\", ps=\"$ps\", url_site=\"$url_site\", nom_site=\"$nom_site\" $add_extra WHERE id_article=$id_article";
 	$result = spip_query($query);
 	*/
 	//----------FIN MODIFICATION CLEVER AGE
-	
-	
+
+
 	
 	// modifications Olivier Mansour 
 	// reports de ces actions en bas de script
@@ -723,7 +918,28 @@
 				if (PEAR :: isError($updateOK)) {
 					die($updateOK->getMessage());
 				}
-			}
+				/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+				$mappings = $mapping->getMappings($articleMetier->getArticleId());
+				if ( PEAR::isError($mappings) ) {
+					die($mappings->getMessage());
+				}
+				else {
+					for ($i = 0; $i < count($mappings); $i++) {
+						$loadOK = $mappingMetier->load($mappings[$i]);
+						if (PEAR :: isError($loadOK)) {
+							die($loadOK->getMessage());
+						} else {
+							$mappingMetier->setLang($articleMetier->getLang());
+							$updateOK = $mappingMetier->update();
+							if (PEAR :: isError($updateOK)) {
+								die($updateOK->getMessage());
+							}
+						}
+					}
+				}
+				/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
+                        }
 		}
 		/*
 		if ($langue_choisie_old != "oui") {
@@ -750,6 +966,27 @@
 	if (PEAR :: isError($updateOK)) {
 		die(PEAR :: isError($updateOK));
 	}
+	/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+	$mappings = $mapping->getMappings($articleMetier->getArticleId());
+	if ( PEAR::isError($mappings) ) {
+		die($mappings->getMessage());
+	}
+	else {
+		for ($i = 0; $i < count($mappings); $i++) {
+			$loadOK = $mappingMetier->load($mappings[$i]);
+			if (PEAR :: isError($loadOK)) {
+				die($loadOK->getMessage());
+			} else {
+				$mappingMetier->setModificationDate($articleMetier->getModificationDate());
+				$mappingMetier->setAuteurModif($articleMetier->getAuteurModif());
+				$updateOK = $mappingMetier->update();
+				if (PEAR :: isError($updateOK)) {
+					die($updateOK->getMessage());
+				}
+			}
+		}
+	}
+	/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
 
 	/*
 	spip_query("UPDATE spip_articles SET date_modif=NOW(), auteur_modif=$connect_id_auteur WHERE id_article=$id_article");
@@ -888,6 +1125,14 @@
 
 fin_grand_cadre();
 
+/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+// Mod par Johnny Muller
+if ($statut_article == 'mappe' || $statut_article == 'map_off') {
+	echo _T('avis_acces_interdit');
+	fin_page();
+	exit;
+}
+/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
 
 //////////////////////////////////////////////////////
 // Affichage de la colonne de gauche
@@ -1063,6 +1308,26 @@
 		if (PEAR :: isError($updateOK)) {
 			die($updateOK->getMessage());
 		}
+		/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+		$mappings = $mapping->getMappings($articleMetier->getArticleId());
+		if ( PEAR::isError($mappings) ) {
+			die($mappings->getMessage());
+		}
+		else {
+			for ($i = 0; $i < count($mappings); $i++) {
+				$loadOK = $mappingMetier->load($mappings[$i]);
+				if (PEAR :: isError($loadOK)) {
+					die($loadOK->getMessage());
+				} else {
+					$mappingMetier->setAccepterForum($articleMetier->getAccepterForum());
+					$updateOK = $mappingMetier->update();
+					if (PEAR :: isError($updateOK)) {
+						die($updateOK->getMessage());
+					}
+				}
+			}
+		}
+		/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
 		/*
 		$query_forum = "UPDATE spip_articles SET accepter_forum='$change_accepter_forum' WHERE id_article='$id_article'";
 		$result_forum = spip_query($query_forum);
@@ -1590,6 +1855,15 @@
 }
 // Fin de l'ajout Aurelien Vialet <avialet at clever-age.com>
 
+/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+echo "<td><img src='img_pack/rien.gif' width=5></td>\n";
+if ( ( $options == 'basiques' ) && ( lire_meta("activer_mapping_articles") == 'oui' ) ) {
+	echo "<td align='center' valign='top'>";
+	icone(_T("mapping_article"), "mapping_edit.php3?id_article=$id_article", "mapping.gif", "");
+	echo "</td>";
+}
+/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 if ($flag_editable) {
 	echo "<td><img src='img_pack/rien.gif' width=5></td>\n";
 	echo "<td align='center'>";
@@ -1607,6 +1881,23 @@
 
 	$authorization = & recuperer_instance_authorization('modifierArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article));
 	if ($authorization->isAuthorizedAction()) {
+
+		/******* Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+		if ($statut_article == 'mappe') {
+			icone(_T('art_icone_modifier_mapping', null, $articleMetier->getRubriqueId()), "mappings_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
+			if ($flag_modif) {
+				echo "<font face='arial,helvetica,sans-serif' size='2'>"._T('avis_mapping_modifie', array ('nom_auteur_modif' => $nom_auteur_modif, 'date_diff' => $date_diff))."</font>";
+				echo aide("artmodif");
+			}
+		}
+		else {
+			icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
+			if ($flag_modif) {
+				echo "<font face='arial,helvetica,sans-serif' size='2'>"._T('avis_article_modifie', array ('nom_auteur_modif' => $nom_auteur_modif, 'date_diff' => $date_diff))."</font>";
+				echo aide("artmodif");
+			}
+		}
+		/*
 		if ($flag_modif) {
 			icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
 			echo "<font face='arial,helvetica,sans-serif' size='2'>"._T('avis_article_modifie', array ('nom_auteur_modif' => $nom_auteur_modif, 'date_diff' => $date_diff))."</font>";
@@ -1614,6 +1905,8 @@
 		} else {
 			icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
 		}
+		*/
+		/******* Fin Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
 	}
 	echo "</td>";
 }
@@ -1621,6 +1914,77 @@
 
 echo "<div class='serif' align='left'>";
 
+/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+if ( ( $options == 'avancees' ) && ( lire_meta("activer_mapping_articles") == 'oui' ) ) {
+	require_once (dirname(__FILE__)."/include/bd/inc_metier_factory.php");
+	$dbMetier = &recuperer_instance_metier();
+	$db = &$dbMetier->_getDB();
+
+	debut_cadre_enfonce();
+	echo "<TABLE CELLPADDING=5 CELLSPACING=0 BORDER=0 WIDTH=100% BACKGROUND=''>";
+	echo "<TR><TD BGCOLOR='$couleur_foncee'>";
+	echo "<FONT SIZE=1 COLOR='#FFFFFF'><B>MAPPING</B></FONT>";
+	echo "</TD></TR></TABLE>";
+	echo '<table cellpadding="5" cellspacing="0" border="0" width="100%">';
+	echo '<tr><td bgcolor="#cccccc" colspan="2"><font size="1" color="#000000" face="Verdana,Arial,Sans,sans-serif">';
+	echo bouton_block_invisible('addmapping');
+	echo _T('titre_cadre_interieur_ajout_mapping')."</font></td></tr></table>";
+	echo debut_block_invisible('addmapping');
+	echo '<table cellpadding="5" cellspacing="0" border="0" width="100%">';
+	echo '<tr><td align="left">';
+    //echo '<a href="#" onclick="window.open(\'brouteur_select_rubrique.php3?id_rubrique=0\', \'changer_rubrique\', \'width=900,height=450, scrollbars=yes\')">choisir une rubrique</a>';
+    echo '</td></tr>';
+	echo "<tr><td align='right'>"._T('entree_mapping_ajouter_rubriques')."</td></tr>";
+	echo "<FORM ACTION='do_mapping.php3' METHOD='post' name='formulaire'><tr><td align=center valign=middle>";
+	echo "<input type='HIDDEN' name='id_rubrique' value='0'>";
+	echo "<input type='hidden' name='id_action' value='1'>";
+	echo "<input type='hidden' name='id_article' value=$id_article>";
+	echo "<input type='text' CLASS='fondl' style='size: 250px;' NAME='lbl_current_rubrique_info' readonly value='' onclick=\"window.open('brouteur_select_rubrique.php3?id_rubrique=0', 'changer_rubrique', 'width=900,height=450, scrollbars=yes');\">";
+	echo "&nbsp;&nbsp;<input type=submit CLASS='fondo' value='"._T('bouton_enregistrer')."'>";
+	echo "</td></tr></table></form>";
+	echo fin_block();
+	echo '<table cellpadding="5" cellspacing="0" border="0" width="100%">';
+	echo '<tr><td bgcolor="#cccccc" colspan="2"><font size="1" color="#000000" face="Verdana,Arial,Sans,sans-serif">';
+	echo bouton_block_invisible('listmapping');
+	echo _T('titre_cadre_interieur_liste_mapping')."</font></td></tr></table>";
+	echo debut_block_invisible('listmapping');
+	echo '<table cellpadding="5" cellspacing="0" border="0" width="100%">';
+	echo '<tr><td align="left">';
+	echo "<form name='mapping' method=post action='do_mapping.php3'>";
+	echo ""._T('entree_mapping_liste_rubriques')."</td></tr>";
+	echo "<tr><td align=center valign=middle><select name='id_map' CLASS='fondl' style='size: 250px;'>";
+	$query = "SELECT map.id_map, rubriques.titre, rubriques.id_rubrique FROM ".$GLOBALS['table_prefix']."_rubriques rubriques, ".$GLOBALS['table_prefix']."_articles articles, ".$GLOBALS['table_prefix']."_articles_mapping map WHERE map.id_article = $id_article AND map.id_map = articles.id_article AND rubriques.id_rubrique = articles.id_rubrique";
+	$result = $db->query($query);
+	$rubriqueMetier = &recuperer_instance_rubrique();
+	while($row = $result->fetchRow()) {
+		$chemin = "";
+		$id_rubrique_courante = $row['id_rubrique'];
+		while ($id_rubrique_courante != 0) {
+			$loadOK = $rubriqueMetier->load($id_rubrique_courante);
+			if(PEAR::isError($loadOK)) {
+				die($loadOK->getMessage());
+			}
+			$chemin = "/".ereg_replace("^[[:space:]]*[0-9]+[.)".chr(176)."][[:space:]]+", "", $rubriqueMetier->getTitre()) . $chemin;
+			$id_rubrique_courante = $rubriqueMetier->getParentId();
+		}
+		if (strlen($chemin) > 60) 
+			$chemin = substr($chemin,0,30) . "..." . substr($chemin,-30);
+		echo "<option id='".$row['id_rubrique']."' value='".$row['id_map']."'>$chemin</option>";
+		//echo "<option id='".$row['id_rubrique']."' value='".$row['id_map']."'>".$row['titre']."</option>";
+	}
+	$result->free();
+	echo "</select><br/><input type=submit CLASS='fondo' value='"._T('bouton_supprimer')."'>";
+	echo "&nbsp;&nbsp;&nbsp;<input type=button CLASS='fondo' value='"._T('bouton_consulter')."' onclick='document.location.href=\"naviguer.php3?coll=\"+document.mapping.id_map[document.mapping.id_map.selectedIndex].id'>";
+	echo "<input type='hidden' name='id_action' value='0'>";
+	echo "<input type='hidden' name='id_article' value=$id_article>";
+	echo "</td></tr></table>";
+	echo "</form>";
+	echo fin_block();
+	
+	fin_cadre_enfonce();
+}
+/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 //
 // Affichage date redac et date publi
 //
@@ -1670,8 +2034,14 @@
 		echo "</TD></TR></TABLE>";
 	} else {
 		echo "<TABLE CELLPADDING=5 CELLSPACING=0 BORDER=0 WIDTH=100% BACKGROUND=''>";
-		echo "<TR><TD BGCOLOR='$couleur_foncee'><FONT SIZE=1 COLOR='#FFFFFF' face='Verdana,Arial,Sans,sans-serif'><b>"._T('texte_date_creation_article')." : ";
-		echo majuscules(affdate($date))."</font></B></FONT>".aide('artdate')."</TD></TR>";
+		/******* Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+		if ($statut_article == 'mappe')
+			echo "<TR><TD BGCOLOR='$couleur_foncee'><FONT SIZE=1 COLOR='#FFFFFF' face='Verdana,Arial,Sans,sans-serif'><b>"._T('texte_date_creation_mapping')." : ";
+		else
+			echo "<TR><TD BGCOLOR='$couleur_foncee'><FONT SIZE=1 COLOR='#FFFFFF' face='Verdana,Arial,Sans,sans-serif'><b>"._T('texte_date_creation_article')." : ";
+		//echo "<TR><TD BGCOLOR='$couleur_foncee'><FONT SIZE=1 COLOR='#FFFFFF' face='Verdana,Arial,Sans,sans-serif'><b>"._T('texte_date_creation_article')." : ";
+		/******* Fin Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+         		echo majuscules(affdate($date))."</font></B></FONT>".aide('artdate')."</TD></TR>";
 		//echo majuscules(affdate_base($date, 'complet'))."</font></B></FONT>".aide('artdate')."</TD></TR>";
   		echo "</TABLE>";
 	}
@@ -2539,7 +2909,28 @@
 			if (PEAR :: isError($updateOK)) {
 				die($updateOK->getMessage());
 			}
-			/*
+			/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+			$mappings = $mapping->getMappings($articleMetier->getArticleId());
+			if ( PEAR::isError($mappings) ) {
+				die($mappings->getMessage());
+			}
+			else {
+				for ($i = 0; $i < count($mappings); $i++) {
+					$loadOK = $mappingMetier->load($mappings[$i]);
+					if (PEAR :: isError($loadOK)) {
+						die($loadOK->getMessage());
+					} else {
+						$mappingMetier->setTradId($articleMetier->getTradId());
+						$updateOK = $mappingMetier->update();
+						if (PEAR :: isError($updateOK)) {
+							die($updateOK->getMessage());
+						}
+					}
+				}
+			}
+			/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
+                        /*
 			spip_query("UPDATE spip_articles SET id_trad = '0' WHERE id_article = $id_article");
 			*/
 			/**************** Fin modification elebescond at clever-age.com *************************************/
@@ -2614,6 +3005,27 @@
 					die($updateOK->getMessage());
 				}
 
+				/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+				$mappings = $mapping->getMappings($articleMetier->getArticleId());
+				if ( PEAR::isError($mappings) ) {
+					die($mappings->getMessage());
+				}
+				else {
+					for ($i = 0; $i < count($mappings); $i++) {
+						$loadOK = $mappingMetier->load($mappings[$i]);
+						if (PEAR :: isError($loadOK)) {
+							die($loadOK->getMessage());
+						} else {
+							$mappingMetier->setTradId($articleMetier->getTradId());
+							$updateOK = $mappingMetier->update();
+							if (PEAR :: isError($updateOK)) {
+								die($updateOK->getMessage());
+							}
+						}
+					}
+				}
+				/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 				if ($id_lier > 0) {
 					$updateTradIdForTradIdOK = $articleMetier->updateTradIdForTradId($id_lier, $nouveau_trad);
 					if (PEAR :: isError($updateTradIdForTradIdOK)) {
@@ -2915,7 +3327,23 @@
 		}
 		if (selection=="poubelle"){
 			document.statut.src="img_pack/puce-poubelle.gif";
-		}
+		
+			/******* Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+			if (confirm("<?php echo _T('alerte_suppression_mapping'); ?>")) {
+				document.statut.src="img_pack/puce-poubelle.gif";
+			}
+			else {
+				for (i = 0; i < selObj.length; i++) {
+					if (selObj.options[i].value == "<?php echo $statut_article; ?>") {
+						selObj.selectedIndex = i;
+						change_bouton(selObj);
+					}
+				}
+			}
+			//document.statut.src="img_pack/puce-poubelle.gif";
+			/******* Fin Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
+                }
 	}
 	// -->
 	</script>
@@ -3084,7 +3512,17 @@
 		//-------------MODIFICATION CLEVER AGE elebescond
 		$authorization = & recuperer_instance_authorization('modifierArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article));
 		if ($authorization->isAuthorizedAction()) {
-			icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "warning-24.gif", "");
+
+			/******* Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+			if ($statut_article == 'mappe') {
+				icone(_T('art_icone_modifier_mapping', null, $articleMetier->getRubriqueId()), "mappings_edit.php3?id_article=$id_article", "warning-24.gif");
+			}
+			else {
+				icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "warning-24.gif", "");
+			}
+			//icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "warning-24.gif", "");
+			/******* Fin Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 			echo "<font face='arial,helvetica,sans-serif' size=1>"._T('art_texte_travail_article', array ('nom_auteur_modif' => $nom_auteur_modif, 'date_diff' => $date_diff), $articleMetier->getRubriqueId())."</font>";
 			echo aide("artmodif");
 		}
@@ -3098,7 +3536,15 @@
 		//-------------MODIFICATION CLEVER AGE elebescond
 		$authorization = & recuperer_instance_authorization('modifierArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article));
 		if ($authorization->isAuthorizedAction()) {
-			icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
+			/******* Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+			if ($statut_article == 'mappe') {
+				icone(_T('art_icone_modifier_mapping', null, $articleMetier->getRubriqueId()), "mappings_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
+			}
+			else {
+				icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
+			}
+			//icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
+			/******* Fin Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
 		}
 		/*
 		icone(_T('icone_modifier_article'), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");*/
@@ -3269,4 +3715,4 @@
 
 fin_page();
 
-?>
\ No newline at end of file
+?>

Index: config-fonctions.php3
===================================================================
RCS file: /cvsroot/agora/agora/ecrire/config-fonctions.php3,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- config-fonctions.php3	7 Sep 2005 15:45:09 -0000	1.24
+++ config-fonctions.php3	15 Sep 2005 13:32:56 -0000	1.25
@@ -527,7 +527,34 @@
 
 	fin_cadre_relief();
 	// Fin du versionning des articles
-	
+
+	/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+	// Gestion du mapping des articles
+	debut_cadre_relief("article_mapping-24.png");
+
+	$activer_mapping_articles = lire_meta("activer_mapping_articles");
+	echo "<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=3 WIDTH=\"100%\">";
+	echo "<TR><TD BGCOLOR='$couleur_foncee' BACKGROUND='img_pack/rien.gif'><B><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=3 COLOR='#FFFFFF'>"._T('info_mapping_articles')."</FONT></B></TD></TR>";
+
+	echo "<TR><TD BACKGROUND='img_pack/rien.gif' class='verdana2'>";
+	echo _T('texte_activer_mapping_articles');
+	echo "</TD></TR>";
+	echo "<TR><TD BACKGROUND='img_pack/rien.gif' ALIGN='center' class='verdana2'>";
+	afficher_choix('activer_mapping_articles', $activer_mapping_articles,
+		array(
+			'oui' => _T('item_activer_mapping_articles'),
+			'non' => _T('item_non_activer_mapping_articles')), ' &nbsp; ');
+	echo "</TD></TR>";
+
+	echo "<TR><td style='text-align:$spip_lang_right;'>";
+	echo "<INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_valider')."' CLASS='fondo'>";
+	echo "</TD></TR>";
+	echo "</TABLE>";
+
+	fin_cadre_relief();
+	// Fin du mapping des articles
+	/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
 	
 }
 

Index: inc.php3
===================================================================
RCS file: /cvsroot/agora/agora/ecrire/inc.php3,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -d -r1.44 -r1.45
--- inc.php3	21 Jul 2005 19:00:01 -0000	1.44
+++ inc.php3	15 Sep 2005 13:32:56 -0000	1.45
@@ -318,6 +318,11 @@
 
 	//----------Modification Clever Age elebescond----------
 	$rubriqueMetier = &recuperer_instance_rubrique();
+    /******* Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+	$articleIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getArticleIdsForRubriqueIdAndStatut($id_rubrique, 'publie', 'mappe', 'map_off', 'prepa', 'prop', 'archi');
+	//$articleIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getArticleIdsForRubriqueIdAndStatut($id_rubrique, 'publie', 'prepa', 'prop', 'archi');
+    /******* Fin Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
     $articleIdsForRubriqueIdAndStatutOK = $rubriqueMetier->getArticleIdsForRubriqueIdAndStatut($id_rubrique, 'publie', 'prepa', 'prop', 'archi');
 
     if(PEAR::isError($articleIdsForRubriqueIdAndStatutOK)) {

Index: inc_config.php3
===================================================================
RCS file: /cvsroot/agora/agora/ecrire/inc_config.php3,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- inc_config.php3	7 Sep 2005 15:45:09 -0000	1.33
+++ inc_config.php3	15 Sep 2005 13:32:56 -0000	1.34
@@ -353,6 +353,12 @@
         'activer_version_articles',
         // FIN DE L'AJOUT DU VERSIONNING DES ARTICLES
         
+        /******* Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+		// AJOUT DU MAPPING DES ARTICLES
+        'activer_mapping_articles',
+        // FIN DE L'AJOUT DU MAPPING DES ARTICLES
+        /******* Fin Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+
         // AJOUT DES META DE BROUTEUR MOT CLE ET RUBRIQUE
         '_nb_limite_rub_selecteur',
         '_nb_limite_kw_selecteur',
@@ -421,4 +427,4 @@
 	}
 }
 
-?>
\ No newline at end of file
+?>

Index: inc_mots.php3
===================================================================
RCS file: /cvsroot/agora/agora/ecrire/inc_mots.php3,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- inc_mots.php3	24 Feb 2005 11:33:09 -0000	1.33
+++ inc_mots.php3	15 Sep 2005 13:32:56 -0000	1.34
@@ -96,6 +96,18 @@
         $id_table = 'id_article';
 		$url_base = "articles.php3?id_article=$id_objet";
 	}
+	/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+	// Mod par Johnny Muller
+	else if ($table == 'articles_map') {
+		//----------------Zone de modifications Clever Age elebescond at clever-age.com----------
+        $authorization = &recuperer_instance_authorization('gererMotCleArticle', $GLOBALS['connect_id_auteur'], array('id_article' => $id_objet));
+        if(!$authorization->isAuthorizedAction()) return;
+        //----------------Fin Zone de modifications Clever Age elebescond at clever-age.com----------        
+        $id_table = 'id_article';
+		$url_base = "mapping_articles.php3?id_article=$id_objet";
+		$table = 'articles';
+	}
+	/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
 	else if ($table == 'breves') {
 		$id_table = 'id_breve';
 		$url_base = "breves_voir.php3?id_breve=$id_objet";
@@ -995,4 +1007,4 @@
 }
 
 
-?>
\ No newline at end of file
+?>

Index: inc_version.php3
===================================================================
RCS file: /cvsroot/agora/agora/ecrire/inc_version.php3,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -d -r1.98 -r1.99
--- inc_version.php3	8 Sep 2005 09:59:34 -0000	1.98
+++ inc_version.php3	15 Sep 2005 13:32:56 -0000	1.99
@@ -169,7 +169,7 @@
 
 // version de la base
 $spip_version = 1.727;
-$agora_version = 1.34;
+$agora_version = 1.35;
 
 
 // version de spip
@@ -1013,4 +1013,4 @@
 // En mode debug, logger l'URI appelante (pas efficace, c'est vraiment pour debugguer !)
 if ($debug)
 	spip_debug("$REQUEST_METHOD: ".$GLOBALS['REQUEST_URI']);	
-?>
\ No newline at end of file
+?>

Index: naviguer.php3
===================================================================
RCS file: /cvsroot/agora/agora/ecrire/naviguer.php3,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- naviguer.php3	5 Sep 2005 16:59:52 -0000	1.48
+++ naviguer.php3	15 Sep 2005 13:32:56 -0000	1.49
@@ -952,6 +952,17 @@
 */
 /************ Fin modification elebescond at clever-age.com ******************/
 
+/******* Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+$articleList = recuperer_instance_list_articles();
+$queryParams = array();
+$queryParams[] = "'mappe', 'map_off'";
+$queryParams[] = $coll;
+/******* Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+// Mod par Johnny Muller
+$articleList->displayHTMLList(_T('nav_info_tous_articles_mappes', null, $coll), ARTICLES_BY_MULTIPLE_STATE_AND_RUBRIQUE, $queryParams, false, true, false, true, 0, 0, 'mapping_articles.php3');
+//$articleList->displayHTMLList(_T('nav_info_tous_articles_mappes', null, $coll), ARTICLES_BY_MULTIPLE_STATE_AND_RUBRIQUE, $queryParams, false, true, false, true, 0, 0, 'mappings_edit.php3');
+/******* Fin Modification MAPPING guillaume.grason at diplomatie.gouv.fr *******/
+/******* Fin Ajout MAPPING guillaume.grason at diplomatie.gouv.fr *******/
 
 if ($coll > 0){
 	echo "<div align='right'>";
@@ -1078,4 +1089,4 @@
 
 fin_page();
 
-?>
\ No newline at end of file
+?>




Plus d'informations sur la liste de diffusion Agora-commits