source: spip-zone/_plugins_/selection_d_objets/branches/1/recherche_objet_fonctions.php @ 70292

Last change on this file since 70292 was 70292, checked in by abelass@…, 7 years ago
  • Informer sur les liesn de l'objets dur page de l'objet sélectionné
  • Uniformiser l'attribution du titre de l'objet
File size: 1.9 KB
Line 
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,$exclus,$lang=''){
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    $ancien_objet=$objet;   
15    if($exception_objet['objet'][$objet]){
16         $objet=$exception_objet['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=array($champ_titre.' LIKE '.sql_quote('%'._request('term').'%'));
25    if($objet=='document'){
26        $where=array($champ_titre.' LIKE '.sql_quote('%'._request('term').'%').' OR fichier LIKE'.sql_quote('%'._request('term').'%'));
27        $champ_titre='titre,fichier';
28    }
29
30    if(isset($tables[$table_dest]['statut'][0]['publie']))$statut=$tables[$table_dest]['statut'][0]['publie'];
31    $exceptions_statut=array('rubrique','document');
32   if($statut AND !in_array($objet,$exceptions_statut))  $where[]='statut='.sql_quote($statut);
33   if($objet=='auteur') $where[]='statut !='.sql_quote('5poubelle');
34    if(isset($tables[$table_dest]['field']['lang']) AND $lang) $where[]='lang IN ("'.implode('","',$lang).'")';
35    $d=info_objet($ancien_objet,'',$champ_titre.',id_'.$objet,$where);
36   
37    if($exception_objet[$objet]){
38         $objet=$exception_objet[$objet];
39    }
40    $data=array();
41    if(is_array($d)){
42        foreach($d as $r){
43            if(!$r['titre']){
44                $r['titre']=titre_objet_sel($objet,$r);
45            }
46            if(!isset($exclus[$r['id_'.$objet].'-'.$objet]))$data[]=array('label'=>$r[titre].' ('.$objet.')','value'=>$r['id_'.$objet].'-'.$objet);
47        }
48    }
49    return $data;
50}
51
52?>
Note: See TracBrowser for help on using the repository browser.