source: spip-zone/_plugins_/selection_objets/trunk/formulaires/bouton_objet.php @ 94524

Last change on this file since 94524 was 94524, checked in by abelass@…, 5 years ago

les modifications de @marcimat rendent le plugin effectivement inutilisable, retour en arrièrre

File size: 3.4 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
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');     
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):'';
16
17    //On garde l'objet original pour la détection des données de l'objet
18    $objet_dest_original=$objet_dest;
19
20    $e = trouver_objet_exec($objet_dest);
21
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        }
39
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        }
49
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' />";
67
68    return $valeurs;
69}
70
71/* @annotation: Actualisation de la base de donnée */
72function 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');
78
79
80    $id_selection_objet=$instituer_objet($id_objet.'-'.$objet.'-'.$langue.'-'.$lang.'-'.$objet_dest.'-'.$id_objet_dest.'-'.$type_lien);
81
82        if($id_selection_objet)$valeurs['message_ok']='ok';
83
84return $valeurs;
85       
86}
87?>
Note: See TracBrowser for help on using the repository browser.