Changeset 93488 in spip-zone


Ignore:
Timestamp:
Dec 9, 2015, 5:04:23 PM (5 years ago)
Author:
marcimat@…
Message:

Des tonnes de notices en moins.
Quelques indentations et tabulations.
Ce plugin ne fonctionne absolument pas :/

Location:
_plugins_/selection_objets/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/selection_objets/trunk/formulaires/bouton_objet.php

    r74900 r93488  
    33if (!defined("_ECRIRE_INC_VERSION")) return;
    44
    5 function formulaires_bouton_objet_charger_dist($id_objet,$objet,$langue,$lang='',$objet_dest='rubrique') {
    6     include_spip('inc/config');
    7     include_spip('inc/presentation');   
    8     include_spip('inc/layer');     
    9      
    10     //Les objets destinataires choisies
    11      $special=array('article','rubrique');
    12      if(in_array($objet_dest,$special)) $choisies= picker_selected(lire_config('selection_objet/selection_'.$objet_dest.'_dest',array()),$objet_dest);
    13      else $choisies=lire_config('selection_objet/selection_'.$objet_dest.'_dest',array());
    14    
    15     $lang=$langue?explode(',',$langue):'';
     5function formulaires_bouton_objet_charger_dist($id_objet, $objet, $langue, $lang='', $objet_dest = 'rubrique') {
     6        include_spip('inc/config');
     7        include_spip('inc/presentation');   
     8        include_spip('inc/layer');     
    169
    17     //On garde l'objet original pour la détection des données de l'objet
    18     $objet_dest_original=$objet_dest;
     10        // Les objets destinataires choisies
     11        $special = array('article','rubrique');
     12        if (in_array($objet_dest, $special)) {
     13                $choisies = picker_selected(lire_config('selection_objet/selection_'.$objet_dest.'_dest', array()), $objet_dest);
     14        } else {
     15                $choisies = lire_config('selection_objet/selection_'.$objet_dest.'_dest', array());
     16        }
    1917
    20     $e = trouver_objet_exec($objet_dest);
     18        $lang = $langue?explode(',',$langue):'';
    2119
    22     $objet_dest=$e['type']?$e['type']:$objet_dest;
    23    
    24     // Les information des objets destinataires
    25     $table_dest = table_objet_sql($objet_dest);
    26     $tables=lister_tables_objets_sql();
    27     $titre_objet_dest=_T($tables[$table_dest]['texte_objet']);
    28    
    29     //Préparer la requette
    30     $where=array();
    31     if(isset($tables[$table_dest]['statut'][0]['publie']))$statut=$tables[$table_dest]['statut'][0]['publie'];
    32     if($objet=='auteur') $where[]='statut !='.sql_quote('5poubelle');
    33     elseif($statut AND $objet_dest !='rubrique')  $where[]='statut='.sql_quote($statut);
    34     if($choisies)$where[]='id_'.$objet_dest.' IN ('.implode(',',$choisies).')';
    35     if($tables[$table_dest]['field']['lang'] and $lang){
    36         if($objet_dest!='rubrique')$where[]='lang IN ('.sql_quote($lang).')';
    37         elseif(test_plugin_actif('tradrub'))$where[]='lang IN ('.sql_quote($lang).')';
    38         }
     20        //On garde l'objet original pour la détection des données de l'objet
     21        $objet_dest_original=$objet_dest;
    3922
    40     $objets_choisies=tableau_objet($objet_dest_original,'','*',$where);
    41    
    42     //Les types liens pour l'objet concerné
    43     if(!$types=lire_config('selection_objet/type_liens_'.$objet_dest_original,array()))$types=lire_config('selection_objet/type_liens',array());
    44    
    45     $types_lien=array();
    46     foreach($types as $cle => $valeur){
    47         if($valeur)$types_lien[$cle]=_T($valeur);
    48         }
     23        $e = trouver_objet_exec($objet_dest);
     24        $objet_dest=$e['type']?$e['type']:$objet_dest;
    4925
    50     $valeurs = array(
    51         "id_objet"      => $id_objet,
    52         "objet" => $objet,     
    53         "langue"        => $langue,     
    54         "objet_dest"=>$objet_dest,
    55         "objet_dest_original"=>$objet_dest_original,
    56         "id_objet_dest"=>$id_objet_dest,       
    57         "table_dest"=>$table_dest,     
    58         "titre_objet_dest"=>$titre_objet_dest,
    59         'objets_choisies'=>$objets_choisies,
    60         'types_lien' =>$types_lien,                             
    61         );
    62        
    63     $valeurs['_hidden'] .= "<input type='hidden' name='id_objet' value='$id_objet' />";
    64     $valeurs['_hidden'] .= "<input type='hidden' name='objet' value='$objet' />";
    65     $valeurs['_hidden'] .= "<input type='hidden' name='lang' value='$langue' />";
    66     $valeurs['_hidden'] .= "<input type='hidden' name='objet_dest' value='$objet_dest' />";
     26        // Les information des objets destinataires
     27        $table_dest = table_objet_sql($objet_dest);
     28        $tables = lister_tables_objets_sql();
     29        $titre_objet_dest = _T($tables[$table_dest]['texte_objet']);
    6730
    68     return $valeurs;
     31        //Préparer la requette
     32        $where = array();
     33        if (isset($tables[$table_dest]['statut'][0]['publie'])) {
     34                $statut=$tables[$table_dest]['statut'][0]['publie'];
     35        }
     36
     37        if ($objet=='auteur') {
     38                $where[]='statut !='.sql_quote('5poubelle');
     39        } elseif ($statut AND $objet_dest !='rubrique') {
     40                $where[]='statut='.sql_quote($statut);
     41        }
     42
     43        if ($choisies) {
     44                $where[] = sql_in(id_table_objet($objet_dest), $choisies);
     45        }
     46
     47        if (isset($tables[$table_dest]['field']['lang']) and $lang) {
     48                if ($objet_dest!='rubrique') {
     49                        $where[] = 'lang IN ('.sql_quote($lang).')';
     50                } elseif(test_plugin_actif('tradrub')) {
     51                        $where[] = 'lang IN ('.sql_quote($lang).')';
     52                }
     53        }
     54
     55        $objets_choisies = tableau_objet($objet_dest_original,'','*',$where);
     56
     57        // Les types liens pour l'objet concerné
     58        if (!$types = lire_config('selection_objet/type_liens_'.$objet_dest_original, array())) {
     59                $types = lire_config('selection_objet/type_liens', array());
     60        }
     61
     62        $types_lien=array();
     63        foreach ($types as $cle => $valeur){
     64                if ($valeur) {
     65                        $types_lien[$cle]=_T($valeur);
     66                }
     67        }
     68
     69        $valeurs = array(
     70                "id_objet"            => $id_objet,
     71                "objet"               => $objet,
     72                "langue"              => $langue,
     73                "objet_dest"          => $objet_dest,
     74                "objet_dest_original" => $objet_dest_original,
     75                "id_objet_dest"       => '', //$id_objet_dest,
     76                "table_dest"          => $table_dest,
     77                "titre_objet_dest"    => $titre_objet_dest,
     78                'objets_choisies'     => $objets_choisies,
     79                'types_lien'          => $types_lien,
     80        );
     81
     82        $valeurs['_hidden']  = "<input type='hidden' name='id_objet' value='$id_objet' />";
     83        $valeurs['_hidden'] .= "<input type='hidden' name='objet' value='$objet' />";
     84        $valeurs['_hidden'] .= "<input type='hidden' name='lang' value='$langue' />";
     85        $valeurs['_hidden'] .= "<input type='hidden' name='objet_dest' value='$objet_dest' />";
     86
     87        return $valeurs;
    6988}
    7089
    7190/* @annotation: Actualisation de la base de donnée */
    72 function formulaires_bouton_objet_traiter_dist($id_objet,$objet,$langue,$lang='',$objet_dest='rubrique'){
    73     $valeurs=array();
    74     $id_objet_dest=_request('id_objet_dest');
    75     $instituer_objet=charger_fonction('instituer_objet_selectionne','action/');
    76     $objet_dest=_request('objet_dest');
    77     $type_lien=_request('type_lien');
     91function formulaires_bouton_objet_traiter_dist($id_objet, $objet, $langue, $lang='', $objet_dest='rubrique'){
     92        $valeurs=array();
     93        $id_objet_dest=_request('id_objet_dest');
     94        $instituer_objet=charger_fonction('instituer_objet_selectionne', 'action/');
     95        $objet_dest=_request('objet_dest');
     96        $type_lien=_request('type_lien');
    7897
    7998
    80     $id_selection_objet=$instituer_objet($id_objet.'-'.$objet.'-'.$langue.'-'.$lang.'-'.$objet_dest.'-'.$id_objet_dest.'-'.$type_lien);
     99        $id_selection_objet = $instituer_objet($id_objet.'-'.$objet.'-'.$langue.'-'.$lang.'-'.$objet_dest.'-'.$id_objet_dest.'-'.$type_lien);
    81100
    82         if($id_selection_objet)$valeurs['message_ok']='ok';
     101        if ($id_selection_objet) {
     102                $valeurs['message_ok']='ok';
     103        }
    83104
    84 return $valeurs;
    85        
     105        return $valeurs;
     106
    86107}
    87 ?>
     108
  • _plugins_/selection_objets/trunk/formulaires/recherche_objets.php

    r73237 r93488  
    33if (!defined("_ECRIRE_INC_VERSION")) return;
    44
    5 function formulaires_recherche_objets_charger_dist($objet_dest='rubrique',$id_objet_dest,$lang='') {
    6    
    7     include_spip('inc/config');
    8     //Les objets destinataires choisies
    9      $special=array('article','rubrique');
    10      if(in_array($objet_dest,$special)) $choisies= picker_selected(lire_config('selection_objet/selection_'.$objet_dest.'_dest',array()),$objet_dest);
    11      else $choisies=lire_config('selection_objet/selection_'.$objet_dest.'_dest',array());
    12    
    13    
    14     //Quelques objets ne sont pas conforme, on adapte
    15     $exceptions=charger_fonction('exceptions','inc');
     5function formulaires_recherche_objets_charger_dist($objet_dest='rubrique', $id_objet_dest, $lang='') {
    166
    17     //On garde l'objet original pour la détection des données de l'objet
    18     $objet_dest_original=$objet_dest;
    19     $e = trouver_objet_exec($objet_dest);
    20     $objet_dest=$e['type']?$e['type']:$objet_dest;
    21  
    22    
    23    //Déterminer le bon objet
    24    $e = trouver_objet_exec($objet);
    25    $objet=$e['type']?$e['type']:$objet;
    26  
    27     //Les types liens pour l'objet concerné
    28     if(!$types=lire_config('selection_objet/type_liens_'.$objet_dest_original,array()))$types=lire_config('selection_objet/type_liens',array());
     7        include_spip('inc/config');
     8        //Les objets destinataires choisies
     9        $special=array('article','rubrique');
     10        if (in_array($objet_dest,$special)) {
     11                $choisies = picker_selected(lire_config('selection_objet/selection_'.$objet_dest.'_dest',array()),$objet_dest);
     12        } else {
     13                $choisies = lire_config('selection_objet/selection_'.$objet_dest.'_dest',array());
     14        }
    2915
    30     $types_lien=array();
    31     foreach($types as $cle => $valeur){
    32         if($valeur)$types_lien[$cle]=_T($valeur);
    33         }
    3416
    35     $url_recherche=generer_url_public('recherche_objet','langue='.$lang.'&objet_dest='.$objet_dest.'&id_objet_dest='.$id_objet_dest,true);
    36    
    37     $valeurs = array(
    38         "id_objet"      => $id_objet,
    39         "objet" => $objet,     
    40         "lang"  => $lang,       
    41         "objet_dest"=>$objet_dest,
    42         "id_objet_dest"=>$id_objet_dest,
    43         'types_lien' =>$types_lien,
    44         'type_lien' =>'',         
    45         'objet_sel' =>'',
    46         'label_objet' =>_T('selection_objet:ajouter_objet'),
    47         'label_lien' =>_T('selection_objet:selection_type_lien'),
    48         'url_recherche'=>$url_recherche                                                 
    49         );
     17        //Quelques objets ne sont pas conforme, on adapte
     18        $exceptions=charger_fonction('exceptions','inc');
    5019
    51     return $valeurs;
     20        //On garde l'objet original pour la détection des données de l'objet
     21        $objet_dest_original=$objet_dest;
     22        $e = trouver_objet_exec($objet_dest);
     23        $objet_dest=$e['type']?$e['type']:$objet_dest;
     24
     25        //Les types liens pour l'objet concerné
     26        if (!$types=lire_config('selection_objet/type_liens_'.$objet_dest_original,array())) {
     27                $types=lire_config('selection_objet/type_liens',array());
     28        }
     29
     30        $types_lien=array();
     31        foreach ($types as $cle => $valeur){
     32                if($valeur) {
     33                        $types_lien[$cle]=_T($valeur);
     34                }
     35        }
     36
     37        $url_recherche=generer_url_public('recherche_objet','langue='.$lang.'&objet_dest='.$objet_dest.'&id_objet_dest='.$id_objet_dest,true);
     38
     39        $valeurs = array(
     40                "id_objet" => '',
     41                "objet"    => '',
     42                "lang"     => $lang,
     43                "objet_dest"=>$objet_dest,
     44                "id_objet_dest"=>$id_objet_dest,
     45                'types_lien' =>$types_lien,
     46                'type_lien' =>'',
     47                'objet_sel' =>'',
     48                'label_objet' =>_T('selection_objet:ajouter_objet'),
     49                'label_lien' =>_T('selection_objet:selection_type_lien'),
     50                'url_recherche'=>$url_recherche
     51        );
     52
     53        return $valeurs;
    5254}
    5355
    5456function formulaires_recherche_objets_verifier_dist($objet_dest='rubrique',$id_objet_dest,$lang=''){
    55     include_spip('inc/config');
    56     $config=lire_config('selection_objet');
    57    
    58     $erreurs=array();
    59    
    60     if(!_request('objet_sel'))$erreurs['objet_sel']=_T("info_obligatoire");
    61     else{
    62         list($id_objet,$objet)=explode('-',_request('objet_sel'));
    63             $where = array(
    64                 'id_objet_dest='.$id_objet_dest,
    65                 'objet_dest='.sql_quote($objet_dest),
    66                 'objet='.sql_quote($objet),
    67                 'id_objet='.$id_objet,                                       
    68                 'lang='.sql_quote($lang), 
    69                 );
    70         if(!isset($config['choix_illimite']) AND $id=sql_getfetsel('id_selection_objet','spip_selection_objets',$where))$erreurs['objet_sel']=_T("selection_objet:erreur_deja_selectionne");
     57        include_spip('inc/config');
     58        $config=lire_config('selection_objet');
    7159
    72     }
    73    
    74     return $erreurs;
     60        $erreurs=array();
     61
     62        if (!_request('objet_sel')) {
     63                $erreurs['objet_sel']=_T("info_obligatoire");
     64        } else {
     65                list($id_objet, $objet) = explode('-', _request('objet_sel'));
     66                $where = array(
     67                        'id_objet_dest='.$id_objet_dest,
     68                        'objet_dest='.sql_quote($objet_dest),
     69                        'objet='.sql_quote($objet),
     70                        'id_objet='.$id_objet,
     71                        'lang='.sql_quote($lang), 
     72                );
     73                if (!isset($config['choix_illimite']) AND $id = sql_getfetsel('id_selection_objet', 'spip_selection_objets', $where)) {
     74                        $erreurs['objet_sel']=_T("selection_objet:erreur_deja_selectionne");
     75                }
     76        }
     77
     78        return $erreurs;
    7579}
    7680
  • _plugins_/selection_objets/trunk/recherche_objet_fonctions.php

    r93483 r93488  
    77
    88function tableau_recherche_objet($objet,$exclus,$lang=''){
    9     include_spip('inc/pipelines_ecrire'); 
    10     //Les tables non conforme, faudrait inclure une pipeline
    11     $exceptions=charger_fonction('exceptions','inc');
    12     $exception_objet=$exceptions();
    13     if(!$champ_titre=$exception_objet['titre'][$objet]) $champ_titre='titre';
    14    
    15     $ancien_objet=$objet; 
    16     $e = trouver_objet_exec($objet);
    17     $objet=$e['type'];
    18     $id_table_objet=$e['id_table_objet'];
    19      if(!$objet){
    20             $objet=$ancien_objet;
    21             $id_table_objet='id_'.$objet;
    22         }
    23     $table = table_objet_sql($objet);     
     9        include_spip('inc/pipelines_ecrire'); 
     10        //Les tables non conforme, faudrait inclure une pipeline
     11        $exceptions=charger_fonction('exceptions','inc');
     12        $exception_objet=$exceptions();
     13        if(!$champ_titre=$exception_objet['titre'][$objet]) $champ_titre='titre';
    2414
    25     $tables=lister_tables_objets_sql();
    26    
    27     $traduction_nom_objet=_T($tables[$table]['texte_objet']);
     15        $ancien_objet=$objet; 
     16        $e = trouver_objet_exec($objet);
     17        $objet=$e['type'];
     18        $id_table_objet=$e['id_table_objet'];
     19         if(!$objet){
     20                        $objet=$ancien_objet;
     21                        $id_table_objet='id_'.$objet;
     22                }
     23        $table = table_objet_sql($objet);     
    2824
    29    
    30     $where=array($champ_titre.' LIKE '.sql_quote('%'._request('term').'%'));
    31     if($objet=='document'){
    32         $where=array($champ_titre.' LIKE '.sql_quote('%'._request('term').'%').' OR fichier LIKE'.sql_quote('%'._request('term').'%'));
    33         $champ_titre='titre,fichier';
    34     }
     25        $tables=lister_tables_objets_sql();
    3526
    36     if(isset($tables[$table_dest]['statut'][0]['publie']))$statut=$tables[$table_dest]['statut'][0]['publie'];
    37     $exceptions_statut=array('rubrique','document');
    38    if($statut AND !in_array($objet,$exceptions_statut))  $where[]='statut='.sql_quote($statut);
    39    if($objet=='auteur') $where[]='statut !='.sql_quote('5poubelle');
    40     if(isset($tables[$table_dest]['field']['lang']) AND $lang) $where[]='lang IN ("'.implode('","',$lang).'")';
    41     $d=info_objet($objet,'',$champ_titre.','.$id_table_objet,$where);
     27        $traduction_nom_objet=_T($tables[$table]['texte_objet']);
    4228
    43     $data=array();
    44     if(is_array($d)){
    45         foreach($d as $r){
    46             if(!$r['titre']) $r['titre']=titre_objet_sel($objet,$r);
    47             if(!isset($exclus[$r[$id_table_objet].'-'.$objet]))$data[]=array('label'=>$r[titre].' ('.$traduction_nom_objet.')','value'=>$r[$id_table_objet].'-'.$objet);
    48         }
    49     }
    50     return $data;
     29
     30        $where=array($champ_titre.' LIKE '.sql_quote('%'._request('term').'%'));
     31        if($objet=='document'){
     32                $where=array($champ_titre.' LIKE '.sql_quote('%'._request('term').'%').' OR fichier LIKE'.sql_quote('%'._request('term').'%'));
     33                $champ_titre='titre,fichier';
     34        }
     35
     36        if(isset($tables[$table_dest]['statut'][0]['publie']))$statut=$tables[$table_dest]['statut'][0]['publie'];
     37        $exceptions_statut=array('rubrique','document');
     38        if($statut AND !in_array($objet,$exceptions_statut))  $where[]='statut='.sql_quote($statut);
     39        if($objet=='auteur') $where[]='statut !='.sql_quote('5poubelle');
     40        if(isset($tables[$table_dest]['field']['lang']) AND $lang) $where[]='lang IN ("'.implode('","',$lang).'")';
     41        $d = info_objet($objet, '', $champ_titre . ',' . $id_table_objet, $where);
     42
     43        $data = array();
     44        if (is_array($d)) {
     45                foreach ($d as $r){
     46                        if(!$r['titre']) $r['titre']=titre_objet_sel($objet,$r);
     47                        if(!isset($exclus[$r[$id_table_objet].'-'.$objet]))$data[]=array('label'=>$r[titre].' ('.$traduction_nom_objet.')','value'=>$r[$id_table_objet].'-'.$objet);
     48                }
     49        }
     50        return $data;
    5151}
  • _plugins_/selection_objets/trunk/selection_objet_fonctions.php

    r70768 r93488  
    77 //Applique des filtres sur des champs spéciciques
    88function filtrer_champ($data){
    9     include_spip('inc/texte');
    10     $exceptions=charger_fonction('exceptions','inc');
    11     $titres=$exceptions('titre');
    12     $titres=array_merge(array(0=>'titre'),$titres);
    13     $propres=array('descriptif','texte');
    14     $extraire_multi=array_merge($titres,array('descriptif','texte'));
    15     $filtres=array(
    16         'extraire_multi'=>  $extraire_multi,         
    17         'supprimer_numero'=>$titres,
    18         'propre'=>$propres,
    19        );
    20        
    21     foreach($filtres as $filtre => $champ){
    22         if(is_array($data)){
    23             if(is_array($champ)){
    24                 foreach($champ as $c){
    25                     if($data[$c])$data[$c]=$filtre($data[$c]);
    26                     }
    27                 }
    28             }
    29         else $data=$filtre($data);
    30         }
    31     return $data;   
    32    
     9        include_spip('inc/texte');
     10        $exceptions=charger_fonction('exceptions', 'inc');
     11        $titres = $exceptions('titre');
     12        $titres = array_merge(array(0=>'titre'), $titres);
     13        $propres=array('descriptif', 'texte');
     14        $extraire_multi = array_merge($titres, array('descriptif','texte'));
     15        $filtres = array(
     16                'extraire_multi' => $extraire_multi,
     17                'supprimer_numero' => $titres,
     18                'propre' => $propres,
     19        );
     20
     21        foreach($filtres as $filtre => $champ){
     22                if (is_array($data)) {
     23                        if (is_array($champ)) {
     24                                foreach($champ as $c) {
     25                                        if (isset($data[$c])) {
     26                                                $data[$c]=$filtre($data[$c]);
     27                                        }
     28                                }
     29                        }
     30                } else {
     31                        $data=$filtre($data);
     32                }
     33        }
     34        return $data;
    3335}
    3436
    3537/*Etablit le titre de l'objet*/
    36 function titre_objet_sel($objet,$contexte){
    37 
    38     $exceptions=charger_fonction('exceptions','inc');
    39     $exception_titre=$exceptions('titre');
    40     //Les exceptions du titre
    41     if(!$titre=$contexte[$exception_titre[$objet]] and isset($contexte['titre']))$titre=$contexte['titre'];
    42     if(!$titre){
    43         if($objet=='document'){
    44             $f=explode('/',$contexte['fichier']);
    45             $titre=$f[1];
    46             }
    47         elseif($objet){
    48             $table_sql = table_objet_sql($objet);
    49             $tables=lister_tables_objets_sql();
    50             $titre_objet=_T($tables[$table_sql]['texte_objet']);
    51             if(isset($contexte['id_objet']))$id=$contexte['id_objet'];
    52             if($objet='selection_objet' AND isset($contexte['id_selection_objet']))$id=$contexte['id_selection_objet'];
    53            $titre=$titre_objet.' '.$id;
    54         }
    55    
    56     }
    57     return $titre;
     38function titre_objet_sel($objet, $contexte){
     39        $exceptions = charger_fonction('exceptions','inc');
     40        $exception_titre = $exceptions('titre');
     41        //Les exceptions du titre
     42        $titre = '';
     43        if (isset($exception_titre[$objet]) and isset($contexte[$exception_titre[$objet]])) {
     44                $titre = $contexte[$exception_titre[$objet]];
     45        }
     46        if (!$titre and isset($contexte['titre'])) {
     47                $titre = $contexte['titre'];
     48        }
     49        if (!$titre) {
     50                if ($objet == 'document') {
     51                        $f = explode('/', $contexte['fichier']);
     52                        $titre = $f[1];
     53                } elseif ($objet) {
     54                        $table_sql = table_objet_sql($objet);
     55                        $tables = lister_tables_objets_sql();
     56                        $titre_objet = _T($tables[$table_sql]['texte_objet']);
     57                        if (isset($contexte['id_objet'])) {
     58                                $id = $contexte['id_objet'];
     59                        }
     60                        if ($objet='selection_objet' AND isset($contexte['id_selection_objet'])) {
     61                                $id = $contexte['id_selection_objet'];
     62                        }
     63                        $titre = $titre_objet.' '.$id;
     64                }
     65        }
     66        return $titre;
    5867}
    5968
     
    116125
    117126/*Fournit un tableau avec id_objet=>donnees_objet*/
    118 function tableau_objet($objet,$id_objet='',$champs='*',$where=array(),$filtrer=array(),$array_donnes=true){
    119    
    120     $d=info_objet($objet,$id_objet,$champs,$where);
    121    
    122     //Les tables non conforme, faudrait inclure une pipeline
    123     $exceptions=charger_fonction('exceptions','inc');
    124     $exception_objet=$exceptions('objet');
    125     if($exception_objet[$objet]){
    126          $objet=$exception_objet[$objet];
    127     }
    128     $data=array();
    129     if(is_array($d)){
    130         foreach($d as $r){
    131             //déterminer le titre
    132             if(!$r['titre'])$r['titre']=titre_objet_sel($objet,$r);
    133             if(!$filtrer) $data[$r['id_'.$objet]]=$r;
    134             elseif(is_array($filtrer)){
    135                 $donnees=array();
    136                 foreach($filtrer as $c){
    137                 if($r[$c])$donnees[$c]=$r[$c]; 
    138                 }
    139              if($array_donnes) $data[$r['id_'.$objet]]=$donnees;
    140              else $data[$r['id_'.$objet]]=implode(',',$donnees);
    141             }
    142         }
    143     }
    144     return $data;
     127function tableau_objet($objet, $id_objet='', $champs='*', $where=array(), $filtrer=array(), $array_donnes=true){
     128
     129        $d=info_objet($objet,$id_objet,$champs,$where);
     130
     131        //Les tables non conforme, faudrait inclure une pipeline
     132        $exceptions=charger_fonction('exceptions','inc');
     133        $exception_objet=$exceptions('objet');
     134        if (isset($exception_objet[$objet])) {
     135                $objet=$exception_objet[$objet];
     136        }
     137        $data=array();
     138        if (is_array($d)) {
     139                foreach($d as $r) {
     140                        $donnees = array();
     141
     142                        //déterminer le titre
     143                        if (!$r['titre']) {
     144                                $r['titre']=titre_objet_sel($objet,$r);
     145                        }
     146                        if (!$filtrer) {
     147                                $data[$r['id_'.$objet]]=$r;
     148                        } elseif (is_array($filtrer)) {
     149                                foreach ($filtrer as $c){
     150                                        if (isset($r[$c]) and $r[$c]) {
     151                                                $donnees[$c]=$r[$c];
     152                                        }
     153                                }
     154                        }
     155
     156                        if ($array_donnes) {
     157                                $data[$r['id_'.$objet]] = $donnees;
     158                        } else {
     159                                $data[$r['id_'.$objet]]=implode(',',$donnees);
     160                        }
     161                }
     162        }
     163        return $data;
    145164}
    146165/* Assemble les données entre un objet sélectioné et son objet d'origine pour injection dans un modele choisit*/
Note: See TracChangeset for help on using the changeset viewer.