source: spip-zone/_plugins_/forms/forms_et_tables_2_5/exec/recherche_donnees.php @ 65963

Last change on this file since 65963 was 65963, checked in by sblanc@…, 9 years ago
File size: 1.4 KB
Line 
1<?php
2/*
3 * forms
4 * Gestion de formulaires editables dynamiques
5 *
6 * Auteurs :
7 * Antoine Pitrou
8 * Cedric Morin
9 * Renato
10 * © 2005,2006 - Distribue sous licence GNU/GPL
11 *
12 */
13
14function exec_recherche_donnees(){
15        $type = _request('type');
16        if (!preg_match(',[\w]+,',$type))
17                $type = 'article';
18        if (_request('field')=='cherche_donnee')
19                $recherche = _request('value');
20        include_spip("inc/forms_lier_donnees");
21       
22        $id = _request("id_$type");
23        $type_table = forms_type_table_lier($type,$id);
24        $id = intval($id);
25        // recuperer les donnees deja liees
26        list($s,$les_donnees,$nombre_donnees) = Forms_formulaire_objet_afficher_donnees($type,$id,"",$type_table);
27       
28        if ($type == 'donnee')
29                $les_donnees .= (strlen($les_donnees)?",":"").$id;
30        // recuperer les donnees que l'on peut lier
31        $liste = Forms_liste_recherche_donnees($recherche,$les_donnees,$type,$type_table,30);
32       
33        $out = "<ajaxresponse>";
34        foreach($liste as $titre=>$donnees){
35                $out .= "<item>
36 <text><![CDATA[$titre -----------]]></text>
37 <value><![CDATA[]]></value>
38</item>
39";
40                foreach ($donnees as $id_donnee=>$champ) {
41                $texte = implode (" ",$champ);
42                $out .= "<item>
43 <text><![CDATA[$texte]]></text>
44 <value><![CDATA[$texte]]></value>
45 <id_donnee><![CDATA[$id_donnee]]></id_donnee>
46</item>
47";
48                }
49        }
50        $out .= "</ajaxresponse>";
51        $c = $GLOBALS['meta']["charset"];
52        header('Content-Type: text/xml; charset='. $c);
53        $c = '<' . "?xml version='1.0' encoding='" . $c . "'?" . ">\n";
54        echo $c, $out;
55        exit;
56}
57
58?>
Note: See TracBrowser for help on using the repository browser.