[SPIP] ~maj v3.0.14-->v3.0.17
[ptitvelo/web/www.git] / www / ecrire / public / criteres.php
index 254e373..92b7cc2 100644 (file)
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2012                                                *
+ *  Copyright (c) 2001-2014                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -275,6 +275,11 @@ function critere_recherche_dist($idb, &$boucles, $crit){
 
        $boucle = &$boucles[$idb];
 
+       if (!$boucle->primary OR strpos($boucle->primary, ',')){
+               erreur_squelette(_T('zbug_critere_sur_table_sans_cle_primaire',array('critere'=>'recherche')), $boucle);
+               return;
+       }
+
        if (isset($crit->param[0]))
                $quoi = calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent);
        else
@@ -293,6 +298,7 @@ function critere_recherche_dist($idb, &$boucles, $crit){
        }
        ';
 
+
        $t = $boucle->id_table.'.'.$boucle->primary;
        if (!in_array($t, $boucles[$idb]->select))
                $boucle->select[] = $t; # pour postgres, neuneu ici
@@ -1878,7 +1884,7 @@ function critere_noeud_dist($idb, &$boucles, $crit){
        $primary = $boucle->primary;
 
        if (!$primary OR strpos($primary, ',')){
-               erreur_squelette(_T('zbug_doublon_sur_table_sans_cle_primaire'), "BOUCLE$idb");
+               erreur_squelette(_T('zbug_doublon_sur_table_sans_cle_primaire'), $boucle);
                return;
        }
        $table = $boucle->type_requete;