From 0412c1b6ba993a465a5bf41e40bf90679e1e3b99 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sun, 30 Apr 2006 21:17:08 +0000
Subject: [PATCH] =?UTF-8?q?int=C3=A9gration=20du=20#247=20:=20on=20stocke?=
 =?UTF-8?q?=20la=20structure=20d'indexation=20en=20meta,=20ce=20qui=20la?=
 =?UTF-8?q?=20rend=20modifiable=20par=20ailleurs=20(Cedric)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc/indexation.php | 100 +++++++++++++++++++++++++-------------
 1 file changed, 67 insertions(+), 33 deletions(-)

diff --git a/ecrire/inc/indexation.php b/ecrire/inc/indexation.php
index 94055d8c63..340fa4f489 100644
--- a/ecrire/inc/indexation.php
+++ b/ecrire/inc/indexation.php
@@ -33,55 +33,89 @@ $INDEX_tables_interdites=array('spip_ajax_fonc');
 // Indexation des elements de l'objet principal
 // 'champ'=>poids, ou 'champ'=>array(poids,min_long)
 global $INDEX_elements_objet;
-$INDEX_elements_objet['spip_articles'] = array('titre'=>8,'soustitre'=>5,'surtitre'=>5,'descriptif'=>4,'chapo'=>3,'texte'=>1,'ps'=>1,'nom_site'=>1,'extra|unserialize_join'=>1);
-$INDEX_elements_objet['spip_breves'] = array('titre'=>8,'texte'=>2,'extra|unserialize_join'=>1);
-$INDEX_elements_objet['spip_rubriques'] = array('titre'=>8,'descriptif'=>5,'texte'=>1,'extra|unserialize_join'=>1);
-$INDEX_elements_objet['spip_auteurs'] = array('nom'=>array(5,2),'bio'=>1,'extra|unserialize_join'=>1);
-$INDEX_elements_objet['spip_mots'] = array('titre'=>8,'descriptif'=>5,'texte'=>1,'extra|unserialize_join'=>1);
-$INDEX_elements_objet['spip_signatures'] = array('nom_email'=>array(2,2),'ad_email'=>2,'nom_site'=>2,'url_site'=>1,'message'=>1);
-$INDEX_elements_objet['spip_syndic'] = array('nom_site'=>50,'descriptif'=>30,'url_site|contenu_page_accueil'=>1);
-$INDEX_elements_objet['spip_syndic_articles'] = array('titre'=>5);
-$INDEX_elements_objet['spip_forum'] = array('titre'=>3,'texte'=>2,'auteur'=>array(2,2),'email_auteur'=>2,'nom_site'=>2,'url_site'=>1);
-$INDEX_elements_objet['spip_documents'] = array('titre'=>20,'descriptif'=>10,'fichier|nettoie_nom_fichier'=>1);
-
+if (isset($GLOBALS['meta']['INDEX_elements_objet']))
+	$INDEX_elements_objet = unserialize($GLOBALS['meta']['INDEX_elements_objet']);
+else{
+	$INDEX_elements_objet['spip_articles'] = array('titre'=>8,'soustitre'=>5,'surtitre'=>5,'descriptif'=>4,'chapo'=>3,'texte'=>1,'ps'=>1,'nom_site'=>1,'extra|unserialize_join'=>1);
+	$INDEX_elements_objet['spip_breves'] = array('titre'=>8,'texte'=>2,'extra|unserialize_join'=>1);
+	$INDEX_elements_objet['spip_rubriques'] = array('titre'=>8,'descriptif'=>5,'texte'=>1,'extra|unserialize_join'=>1);
+	$INDEX_elements_objet['spip_auteurs'] = array('nom'=>array(5,2),'bio'=>1,'extra|unserialize_join'=>1);
+	$INDEX_elements_objet['spip_mots'] = array('titre'=>8,'descriptif'=>5,'texte'=>1,'extra|unserialize_join'=>1);
+	$INDEX_elements_objet['spip_signatures'] = array('nom_email'=>array(2,2),'ad_email'=>2,'nom_site'=>2,'url_site'=>1,'message'=>1);
+	$INDEX_elements_objet['spip_syndic'] = array('nom_site'=>50,'descriptif'=>30,'url_site|contenu_page_accueil'=>1);
+	$INDEX_elements_objet['spip_syndic_articles'] = array('titre'=>5);
+	$INDEX_elements_objet['spip_forum'] = array('titre'=>3,'texte'=>2,'auteur'=>array(2,2),'email_auteur'=>2,'nom_site'=>2,'url_site'=>1);
+	$INDEX_elements_objet['spip_documents'] = array('titre'=>20,'descriptif'=>10,'fichier|nettoie_nom_fichier'=>1);
+	ecrire_meta('INDEX_elements_objet',serialize($INDEX_elements_objet));
+	ecrire_metas();
+}
 
 // Indexation des objets associes
 // 'objet'=>poids
 global $INDEX_objet_associes;
-$INDEX_objet_associes['spip_articles'] = array('spip_documents'=>1,'spip_auteurs'=>10,'mot'=>3);
-$INDEX_objet_associes['spip_breves'] = array('spip_documents'=>1,'spip_mots'=>3);
-$INDEX_objet_associes['spip_rubriques'] = array('spip_documents'=>1,'spip_mots'=>3);
-$INDEX_objet_associes['spip_documents'] = array('spip_mots'=>3);
+if (isset($GLOBALS['meta']['INDEX_objet_associes']))
+	$INDEX_objet_associes = unserialize($GLOBALS['meta']['INDEX_objet_associes']);
+else {
+	$INDEX_objet_associes['spip_articles'] = array('spip_documents'=>1,'spip_auteurs'=>10,'spip_mots'=>3);
+	$INDEX_objet_associes['spip_breves'] = array('spip_documents'=>1,'spip_mots'=>3);
+	$INDEX_objet_associes['spip_rubriques'] = array('spip_documents'=>1,'spip_mots'=>3);
+	$INDEX_objet_associes['spip_documents'] = array('spip_mots'=>3);
+	ecrire_meta('INDEX_objet_associes',serialize($INDEX_objet_associes));
+	ecrire_metas();
+}
 
 // Indexation des elements des objets associes
 // 'champ'=>poids, ou 'champ'=>array(poids,min_long)
 global $INDEX_elements_associes;
-$INDEX_elements_associes['spip_documents'] = array('titre'=>2,'descriptif'=>1);
-$INDEX_elements_associes['spip_auteurs'] = array('nom'=>1);
-$INDEX_elements_associes['spip_mots'] = array('titre'=>4,'descriptif'=>1);
-
+if (isset($GLOBALS['meta']['INDEX_elements_associes']))
+	$INDEX_elements_associes = unserialize($GLOBALS['meta']['INDEX_elements_associes']);
+else {
+	$INDEX_elements_associes['spip_documents'] = array('titre'=>2,'descriptif'=>1);
+	$INDEX_elements_associes['spip_auteurs'] = array('nom'=>1);
+	$INDEX_elements_associes['spip_mots'] = array('titre'=>4,'descriptif'=>1);
+	ecrire_meta('INDEX_elements_associes',serialize($INDEX_elements_associes));
+	ecrire_metas();
+}
 // Criteres d'indexation
 global $INDEX_critere_indexation;
-$INDEX_critere_indexation['spip_articles']="statut='publie'";
-$INDEX_critere_indexation['spip_breves']="statut='publie'";
-$INDEX_critere_indexation['spip_rubriques']="statut='publie'";
-$INDEX_critere_indexation['spip_syndic']="statut='publie'";
-$INDEX_critere_indexation['spip_forum']="statut='publie'";
-$INDEX_critere_indexation['spip_signatures']="statut='publie'";
+if (isset($GLOBALS['meta']['INDEX_critere_indexation']))
+	$INDEX_critere_indexation = unserialize($GLOBALS['meta']['INDEX_critere_indexation']);
+else {
+	$INDEX_critere_indexation['spip_articles']="statut='publie'";
+	$INDEX_critere_indexation['spip_breves']="statut='publie'";
+	$INDEX_critere_indexation['spip_rubriques']="statut='publie'";
+	$INDEX_critere_indexation['spip_syndic']="statut='publie'";
+	$INDEX_critere_indexation['spip_forum']="statut='publie'";
+	$INDEX_critere_indexation['spip_signatures']="statut='publie'";
+	ecrire_meta('INDEX_critere_indexation',serialize($INDEX_critere_indexation));
+	ecrire_metas();
+}
 
 // Criteres de des-indexation (optimisation dans base/optimiser)
 global $INDEX_critere_optimisation;
-$INDEX_critere_optimisation['spip_articles']="statut<>'publie'";
-$INDEX_critere_optimisation['spip_breves']="statut<>'publie'";
-$INDEX_critere_optimisation['spip_rubriques']="statut<>'publie'";
-$INDEX_critere_optimisation['spip_syndic']="statut<>'publie'";
-$INDEX_critere_optimisation['spip_forum']="statut<>'publie'";
-$INDEX_critere_optimisation['spip_signatures']="statut<>'publie'";
+if (isset($GLOBALS['meta']['INDEX_critere_optimisation']))
+	$INDEX_critere_optimisation = unserialize($GLOBALS['meta']['INDEX_critere_optimisation']);
+else {
+	$INDEX_critere_optimisation['spip_articles']="statut<>'publie'";
+	$INDEX_critere_optimisation['spip_breves']="statut<>'publie'";
+	$INDEX_critere_optimisation['spip_rubriques']="statut<>'publie'";
+	$INDEX_critere_optimisation['spip_syndic']="statut<>'publie'";
+	$INDEX_critere_optimisation['spip_forum']="statut<>'publie'";
+	$INDEX_critere_optimisation['spip_signatures']="statut<>'publie'";
+	ecrire_meta('INDEX_critere_optimisation',serialize($INDEX_critere_optimisation));
+	ecrire_metas();
+}
 
 // Nombre d'elements maxi a indexer a chaque iteration
 global $INDEX_iteration_nb_maxi;
-$INDEX_iteration_nb_maxi['spip_documents']=10;
-$INDEX_iteration_nb_maxi['spip_syndic']=1;
+if (isset($GLOBALS['meta']['INDEX_iteration_nb_maxi']))
+	$INDEX_iteration_nb_maxi = unserialize($GLOBALS['meta']['INDEX_iteration_nb_maxi']);
+else {
+	$INDEX_iteration_nb_maxi['spip_documents']=10;
+	$INDEX_iteration_nb_maxi['spip_syndic']=1;
+	ecrire_meta('INDEX_iteration_nb_maxi',serialize($INDEX_iteration_nb_maxi));
+	ecrire_metas();
+}
 
 
 // Filtres d'indexation
-- 
GitLab