source: spip-zone/_plugins_/selection_d_objets/trunk/formulaires/recherche_objets.php @ 69203

Last change on this file since 69203 was 69203, checked in by abelass@…, 7 years ago
  • ne pas soummetre deux fois le même objet our la même liste
  • debugage problèmes jabvascripts
  • permette plueieurs formulaire recherche sur une page
File size: 3.1 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        'type_lien' =>'',         
47        'objet_sel' =>'',                               
48        );
49
50    return $valeurs;
51}
52
53function formulaires_recherche_objets_verifier_dist($objet_dest='rubrique',$id_objet_dest,$lang=''){
54    $erreurs=array();
55   
56    if(!_request('objet_sel'))$erreurs['objet_sel']=_T("info_obligatoire");
57    else{
58        list($id_objet,$objet)=explode('-',_request('objet_sel'));
59            $where = array(
60                'id_objet_dest='.$id_objet_dest,
61                'objet_dest='.sql_quote($objet_dest),
62                'objet='.sql_quote($objet), 
63                'id_objet='.$id_objet,                                       
64                'lang='.sql_quote($lang), 
65                );
66        if($id=sql_getfetsel('id_selection_objet','spip_selection_objets',$where))$erreurs['objet_sel']=_T("selection_objet:erreur_deja_selectionne");
67
68    }
69   
70    return $erreurs;
71}
72
73/* @annotation: Actualisation de la base de donnée */
74function formulaires_recherche_objets_traiter_dist($objet_dest='rubrique',$id_objet_dest,$lang=''){
75    $type_lien=_request('type_lien');   
76    $valeurs=array('type_lien'=> $type_lien); 
77    unset($valeurs['objet_sel']);
78    $instituer_objet=charger_fonction('instituer_objet_selectionne','action/');
79   
80    list($id_objet,$objet)=explode('-',_request('objet_sel'));
81   
82    $id_selection_objet=$instituer_objet($id_objet.'-'.$objet.'-'.$lang.'-'.$lang.'-'.$objet_dest.'-'.$id_objet_dest.'-'.$type_lien);
83   
84    if($id_selection_objet)$valeurs['message_ok']='ok';
85
86return $valeurs;
87       
88}
89?>
Note: See TracBrowser for help on using the repository browser.