Changeset 112710 in spip-zone


Ignore:
Timestamp:
Dec 10, 2018, 3:24:38 PM (4 months ago)
Author:
abelass@…
Message:

format

File:
1 edited

Legend:

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

    r94524 r112710  
    11<?php
     2if (! defined("_ECRIRE_INC_VERSION"))
     3        return;
    24
    3 if (!defined("_ECRIRE_INC_VERSION")) return;
     5function formulaires_bouton_objet_charger_dist($id_objet, $objet, $langue,
     6                $lang = '', $objet_dest = 'rubrique') {
     7        include_spip('inc/config');
     8        include_spip('inc/presentation');
     9        include_spip('inc/layer');
    410
    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):'';
     11        // Les objets destinataires choisies
     12        $special = array(
     13                'article',
     14                'rubrique'
     15        );
     16        if (in_array($objet_dest, $special))
     17                $choisies = picker_selected(
     18                                lire_config('selection_objet/selection_' . $objet_dest . '_dest',
     19                                                array()), $objet_dest);
     20        else
     21                $choisies = lire_config(
     22                                'selection_objet/selection_' . $objet_dest . '_dest', array());
    1623
    17     //On garde l'objet original pour la détection des données de l'objet
    18     $objet_dest_original=$objet_dest;
     24        $lang = $langue ? explode(',', $langue) : '';
    1925
    20     $e = trouver_objet_exec($objet_dest);
     26        // On garde l'objet original pour la détection des données de l'objet
     27        $objet_dest_original = $objet_dest;
    2128
    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         }
     29        $e = trouver_objet_exec($objet_dest);
    3930
    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         }
     31        $objet_dest = $e['type'] ? $e['type'] : $objet_dest;
    4932
    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' />";
     33        // Les information des objets destinataires
     34        $table_dest = table_objet_sql($objet_dest);
     35        $tables = lister_tables_objets_sql();
     36        $titre_objet_dest = _T($tables[$table_dest]['texte_objet']);
    6737
    68     return $valeurs;
     38        // Préparer la requette
     39        $where = array();
     40        if (isset($tables[$table_dest]['statut'][0]['publie']))
     41                $statut = $tables[$table_dest]['statut'][0]['publie'];
     42        if ($objet == 'auteur')
     43                $where[] = 'statut !=' . sql_quote('5poubelle');
     44        elseif ($statut and $objet_dest != 'rubrique')
     45                $where[] = 'statut=' . sql_quote($statut);
     46        if ($choisies)
     47                $where[] = 'id_' . $objet_dest . ' IN (' . implode(',', $choisies) . ')';
     48        if ($tables[$table_dest]['field']['lang'] and $lang) {
     49                if ($objet_dest != 'rubrique')
     50                        $where[] = 'lang IN (' . sql_quote($lang) . ')';
     51                elseif (test_plugin_actif('tradrub'))
     52                        $where[] = 'lang IN (' . sql_quote($lang) . ')';
     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(
     59                        'selection_objet/type_liens_' . $objet_dest_original, array()))
     60                $types = lire_config('selection_objet/type_liens', array());
     61
     62        $types_lien = array();
     63        foreach ($types as $cle => $valeur) {
     64                if ($valeur)
     65                        $types_lien[$cle] = _T($valeur);
     66        }
     67
     68        $valeurs = array(
     69                "id_objet" => $id_objet,
     70                "objet" => $objet,
     71                "langue" => $langue,
     72                "objet_dest" => $objet_dest,
     73                "objet_dest_original" => $objet_dest_original,
     74                "id_objet_dest" => $id_objet_dest,
     75                "table_dest" => $table_dest,
     76                "titre_objet_dest" => $titre_objet_dest,
     77                'objets_choisies' => $objets_choisies,
     78                'types_lien' => $types_lien
     79        );
     80
     81        $valeurs['_hidden'] .= "<input type='hidden' name='id_objet' value='$id_objet' />";
     82        $valeurs['_hidden'] .= "<input type='hidden' name='objet' value='$objet' />";
     83        $valeurs['_hidden'] .= "<input type='hidden' name='lang' value='$langue' />";
     84        $valeurs['_hidden'] .= "<input type='hidden' name='objet_dest' value='$objet_dest' />";
     85
     86        return $valeurs;
    6987}
    7088
    7189/* @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');
     90function formulaires_bouton_objet_traiter_dist($id_objet, $objet, $langue,
     91                $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
     98        $id_selection_objet = $instituer_objet(
     99                        $id_objet . '-' . $objet . '-' . $langue . '-' . $lang . '-' .
     100                        $objet_dest . '-' . $id_objet_dest . '-' . $type_lien);
    79101
    80     $id_selection_objet=$instituer_objet($id_objet.'-'.$objet.'-'.$langue.'-'.$lang.'-'.$objet_dest.'-'.$id_objet_dest.'-'.$type_lien);
     102        if ($id_selection_objet)
     103                $valeurs['message_ok'] = 'ok';
    81104
    82         if($id_selection_objet)$valeurs['message_ok']='ok';
    83 
    84 return $valeurs;
    85        
     105        return $valeurs;
    86106}
    87107?>
Note: See TracChangeset for help on using the changeset viewer.