source: spip-zone/_plugins_/selection_d_objets/branches/1.2/formulaires/recherche_objets.php @ 69181

Last change on this file since 69181 was 69181, checked in by abelass@…, 7 years ago
  • dans le moteur de recherche ne pas proposer les objets déjà sélectionnés
  • établir la bonnelangue du contexte
File size: 2.2 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5function 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   
15    //Quelques objets ne sont pas conforme, on adapte
16    $exceptions=charger_fonction('exceptions','inc');
17    $exception_objet=$exceptions('objet');
18   
19    //On grade l'objet original pour la détection des données de l'objet
20    $objet_dest_original=$objet_dest;
21   
22    if($exception_objet[$objet_dest]){
23         $objet_dest=$exception_objet[$objet_dest];
24          $table_dest='spip_'.$objet_dest;
25    }
26    else $table_dest='spip_'.$objet_dest.'s';
27   
28    if($exception_objet[$objet]){
29         $objet=$exception_objet[$objet];
30        }
31
32    //Les types liens pour l'objet concerné
33    if(!$types=lire_config('selection_objet/type_liens_'.$objet_dest_original,array()))$types=lire_config('selection_objet/type_liens',array());
34
35    $types_lien=array();
36    foreach($types as $cle => $valeur){
37        $types_lien[$cle]=_T($valeur);
38        }
39    $valeurs = array(
40        "id_objet"      => $id_objet,
41        "objet" => $objet,     
42        "lang"  => $lang,       
43        "objet_dest"=>$objet_dest,
44        "id_objet_dest"=>$id_objet_dest,
45        'types_lien' =>$types_lien, 
46        'objet_sel' =>'',                               
47        );
48
49    return $valeurs;
50}
51
52
53
54/* @annotation: Actualisation de la base de donnée */
55function formulaires_recherche_objets_traiter_dist($objet_dest='rubrique',$id_objet_dest,$lang=''){
56    $type_lien=_request('type_lien');   
57       
58    $instituer_objet=charger_fonction('instituer_objet_selectionne','action/');
59   
60    list($id_objet,$objet)=explode('-',_request('objet_sel'));
61   
62    $id_selection_objet=$instituer_objet($id_objet.'-'.$objet.'-'.$lang.'-'.$lang.'-'.$objet_dest.'-'.$id_objet_dest.'-'.$type_lien);
63   
64    if($id_selection_objet)$valeurs['message_ok']='ok';
65
66return $valeurs;
67       
68}
69?>
Note: See TracBrowser for help on using the repository browser.