source: spip-zone/_plugins_/selection_d_objets/branches/1.2/recherche_objet_fonctions.php @ 69154

Last change on this file since 69154 was 69154, checked in by abelass@…, 7 years ago
  • permettre d'ajouter un objet depuis la liste des objets sélectionnées
  • recherche autocomplete sur tous les objets actifs
File size: 1.6 KB
RevLine 
[69154]1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) return;
4
5
6/*Fournit un tableau avec id_objet=>donnees_objet*/
7
8function tableau_recherche_objet($objet,$id_objet='',$champs='*'){
9    //Les tables non conforme, faudrait inclure une pipeline
10    $exceptions=charger_fonction('exceptions','inc');
11    $exception_objet=$exceptions();
12    if(!$champ_titre=$exception_objet['titre'][$objet]) $champ_titre='titre';
13   
14       
15    if($exception_objet[$objet]){
16         $objet=$exception_objet[$objet];
17         $table_dest='spip_'.$objet;
18    }
19    else $table_dest='spip_'.$objet.'s';
20   
21    $tables=lister_tables_objets_sql();
22
23
24    $where_titre=$champ_titre.' LIKE '.sql_quote('%'._request('term').'%');
25   
26  if(isset($tables[$table_dest]['statut'][0]['publie']))$statut=$tables[$table_dest]['statut'][0]['publie'];
27
28   if($statut AND $objet !='rubrique')  $where_statut=' AND statut='.sql_quote($statut);
29   if($objet=='auteur') $where_statut=' AND statut !='.sql_quote('5poubelle');
30   
31    $d=info_objet($objet,'',$champ_titre.',id_'.$objet,$where_titre.$where_statut);
32   
33    if($exception_objet[$objet]){
34         $objet=$exception_objet[$objet];
35    }
36    $data=array();
37    if(is_array($d)){
38        foreach($d as $r){
39            if(!isset($r['titre'])){
40                $r['titre']=$r['nom']?$r['nom']:($r['nom_site']?$r['nom_site']:'objet'.$r['id_'.$objet]);
41                if($r['nom'])unset($r['nom']);
42                if($r['nom_site'])unset($r['nom_site']);
43            }
44            $data[]=array('label'=>$r[titre].' ('.$objet.')','value'=>$r['id_'.$objet].'-'.$objet);
45        }
46    }
47    return $data;
48}
49
50?>
Note: See TracBrowser for help on using the repository browser.