Subversion Repositories eFlore/Applications.cel

Rev

Rev 3474 | Rev 3478 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3474 Rev 3476
Line 65... Line 65...
65
		($id_element_lie != "") ? $requete .= " {$this->champ_id} = $id " : "";
65
		($id_element_lie != "") ? $requete .= " {$this->champ_id} = $id " : "";
66
		$requete .= ' -- '.__FILE__.':'.__LINE__;
66
		$requete .= ' -- '.__FILE__.':'.__LINE__;
67
		$resultat = Cel::db()->requeter($requete);
67
		$resultat = Cel::db()->requeter($requete);
68
		return $resultat;
68
		return $resultat;
69
	}
69
	}
70
	/**
-
 
71
	 * Renvoie tous les champs étendus associés aux éléments passés en paramètre.
-
 
72
	 * Retour sous forme de tableau associatif de tableau d'objets ChampEtendu.
-
 
73
	 * Les objets ChampEtendu sont regroupés par id d'élement.
-
 
74
	 *
-
 
75
	 * @param array $ids_element_lies tableau d'id des éléments liés (obs ou image).
-
 
76
	 * @return array tableau associatif de tableau d'objets ChampEtendu.
-
 
77
	 */
-
 
78
	public function consulterParLots(Array $ids_element_lies) {
-
 
79
	    $champs_etendus_par_element = array();
-
 
80
	    if (!empty($ids_element_lies)) {
-
 
81
	        $ids_element_lies = array_map(array(Cel::db(), 'proteger'),$ids_element_lies);
-
 
82
	        $ids = implode(',', $ids_element_lies);
-
 
83
	        
-
 
84
	        $requete = 'SELECT {$this->liste_champs} '.
-
 
85
	   	        "FROM {$this->table_champs_etendus} ce ".
-
 
86
	   	        "INNER JOIN {$this->table_champs_etendus_trad} cet ON ce.field_id = cet.extended_field_id ".
-
 
87
	   	        "WHERE cet.language_iso_code = '".$langue."' AND ";
-
 
88
	        ($id_element_lies != "") ? $requete .= " {$this->champ_id} in ($ids) " : "";
-
 
89
	        $requete .= ' -- '.__FILE__.':'.__LINE__;
-
 
90
	        $resultats = Cel::db()->requeter($requete);
-
 
91
	        
-
 
92
	        foreach ($resultats as &$ligne) {
-
 
93
	            $id_element = $ligne[$this->champ_id];
-
 
94
	            if (!isset($champs_etendus_par_element[$id_element])) {
-
 
95
	                $champs_etendus_par_element[$id_element] = array();
-
 
96
	            }
-
 
97
	            $champ_etendu = new ObsEtendue();
-
 
98
	            $champ_etendu->id = $id_element;
-
 
99
	            $champ_etendu->cle = $ligne['cle'];
-
 
100
	            $champ_etendu->valeur = $ligne['valeur'];
-
 
101
	            
-
 
102
	            $champs_etendus_par_element[$id_element][] = $champ_etendu;
-
 
103
	        }
-
 
104
	    }
-
 
105
	    return $champs_etendus_par_element;
-
 
106
	}
-
 
107
 
70
	
108
	/**
71
	/**
109
	 * Ajoute un champ étendu.
72
	 * Ajoute un champ étendu.
110
	 * Si la clé existe déjà, seule valeur du champ est mise à jour
73
	 * Si la clé existe déjà, seule valeur du champ est mise à jour
111
	 *
74
	 *
112
	 * @param ChampEtendu $champ_etendu
75
	 * @param ChampEtendu $champ_etendu