Changeset 94522 in spip-zone


Ignore:
Timestamp:
Jan 10, 2016, 7:20:17 AM (5 years ago)
Author:
abelass@…
Message:

affichage des selects en 100%

Location:
_plugins_/selection_objets/trunk
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/selection_objets/trunk/paquet.xml

    r93562 r94522  
    22        prefix="selection_objet"
    33        categorie="edition"
    4         version="1.10.3"
     4        version="1.10.4"
    55        etat="test"
    66        compatibilite="[3.0.5;3.1.*]"
    77        logo="prive/themes/spip/images/selection_objet-64.png"
    88        documentation="http://contrib.spip.net/Selection-d-objets"
    9         schema="0.5.1" 
     9        schema="0.5.1"
    1010>
    1111
     
    1616        <licence>GNU/GPL</licence>
    1717
    18         <necessite nom="saisies" compatibilite="[2.0.3;]" /> 
     18        <necessite nom="saisies" compatibilite="[2.0.3;]" />
    1919
    20         <pipeline nom="autoriser" inclure="selection_objet_autorisations.php" /> 
    21         <pipeline nom="declarer_tables_objets_sql" inclure="base/selection_objet.php" /> 
     20        <pipeline nom="autoriser" inclure="selection_objet_autorisations.php" />
     21        <pipeline nom="declarer_tables_objets_sql" inclure="base/selection_objet.php" />
    2222        <pipeline nom="declarer_tables_interfaces" inclure="base/selection_objet.php" />
    23         <pipeline nom="affiche_milieu" inclure="selection_objet_pipelines.php" />
    24         <pipeline nom="affiche_gauche" inclure="selection_objet_pipelines.php" />       
    25         <pipeline nom="formulaire_charger" inclure="selection_objet_pipelines.php" />           
    26         <pipeline nom="formulaire_traiter" inclure="selection_objet_pipelines.php" />
    27         <pipeline nom="jqueryui_plugins" inclure="selection_objet_pipelines.php" />                             
     23        <pipeline nom="affiche_milieu" inclure="selection_objet_pipelines.php" />
     24        <pipeline nom="affiche_gauche" inclure="selection_objet_pipelines.php" />
     25        <pipeline nom="formulaire_charger" inclure="selection_objet_pipelines.php" />
     26        <pipeline nom="formulaire_traiter" inclure="selection_objet_pipelines.php" />
     27        <pipeline nom="jqueryui_plugins" inclure="selection_objet_pipelines.php" />
     28        <pipeline nom="header_prive" inclure="selection_objet_pipelines.php" />
    2829
    2930</paquet>
  • _plugins_/selection_objets/trunk/selection_objet_pipelines.php

    r93483 r94522  
    11<?php
    22
    3 if (!defined("_ECRIRE_INC_VERSION")) return;
     3if (!defined("_ECRIRE_INC_VERSION"))
     4        return;
     5
     6function selection_objet_header_prive($flux) {
     7        $flux .= '<link rel="stylesheet" href="' . _DIR_PLUGIN_SELECTION_OBJET  .'css/so_admin.css" type="text/css" media="all" />';
     8        return $flux;
     9}
    410
    511function selection_objet_affiche_gauche($flux) {
    6     include_spip('inc/config');
    7     $exec = $flux["args"]["exec"];
     12        include_spip('inc/config');
     13        $exec = $flux["args"]["exec"];
    814
    9     /*Desactivé car il y a u problème  avec les cadres et block_depliables dans l'inclure
    10     * //Exception pour les documents
    11     if($objet=='document_edit')$objet='document' ;    */
    12     $args=$flux['args'];
     15        /*Desactivé car il y a u problème  avec les cadres et block_depliables dans l'inclure
     16        * //Exception pour les documents
     17        if($objet=='document_edit')$objet='document' ;    */
     18        $args = $flux['args'];
    1319
    14     $objets_selection=lire_config('selection_objet/selection_rubrique_objet',array());
     20        $objets_selection = lire_config('selection_objet/selection_rubrique_objet', array());
    1521
     22        if (in_array($exec, $objets_selection)) {
     23                $e = trouver_objet_exec($exec);
     24                $objet = $e['type'];
     25                $id_table_objet = $e['id_table_objet'];
     26                if (!$objet) {
     27                        $objet = $exec;
     28                        $id_table_objet = 'id_' . objet;
     29                }
     30                $table = table_objet_sql($objet);
     31                $contexte['id_objet'] = $flux["args"][$id_table_objet] ? $flux["args"][$id_table_objet] : _request($id_table_objet);
     32                $contexte['objet'] = $objet;
     33                $objets_cibles = lire_config('selection_objet/objets_cible', array());
    1634
    17     if(in_array($exec,$objets_selection)){
    18         $e = trouver_objet_exec($exec);
    19         $objet=$e['type'];
    20         $id_table_objet=$e['id_table_objet'];
    21         if(!$objet){
    22             $objet=$exec;
    23             $id_table_objet='id_'.objet;
    24         }
    25         $table = table_objet_sql($objet);
    26         $contexte['id_objet']=$flux["args"][$id_table_objet]?$flux["args"][$id_table_objet]:_request($id_table_objet);         
    27         $contexte['objet']=$objet;
    28         $objets_cibles=lire_config('selection_objet/objets_cible',array());
    29        
    30         if($objet=='rubrique' OR $objet=='article'){         
    31             $contexte['langue']=sql_getfetsel('lang',$table,$id_table_objet.'='.$contexte['id_objet']);
    32             //$contexte['lang'] = $contexte['langue'];
    33             }
    34         if($objet=='rubrique'){
    35             if (!$trad_rub=test_plugin_actif('tradrub')) $contexte['langue']=lire_config('langues_multilingue');
    36             elseif(!$contexte['langue']){
    37                 if(!$trad_rub=test_plugin_actif('tradrub')) $contexte['langue']=lire_config('langues_multilingue');
    38                 }
    39             }
    40         $contexte['objets_cibles']=$objets_cibles;           
    41         $flux["data"].= recuperer_fond("prive/squelettes/navigation/affiche_gauche", $contexte);
    42         }
    43      
    44     return $flux;
     35                if ($objet == 'rubrique' OR $objet == 'article') {
     36                        $contexte['langue'] = sql_getfetsel('lang', $table, $id_table_objet . '=' . $contexte['id_objet']);
     37                        //$contexte['lang'] = $contexte['langue'];
     38                }
     39                if ($objet == 'rubrique') {
     40                        if (!$trad_rub = test_plugin_actif('tradrub'))
     41                                $contexte['langue'] = lire_config('langues_multilingue');
     42                        elseif (!$contexte['langue']) {
     43                                if (!$trad_rub = test_plugin_actif('tradrub'))
     44                                        $contexte['langue'] = lire_config('langues_multilingue');
     45                        }
     46                }
     47                $contexte['objets_cibles'] = $objets_cibles;
     48                $flux["data"] .= recuperer_fond("prive/squelettes/navigation/affiche_gauche", $contexte);
     49        }
     50
     51        return $flux;
    4552}
    4653
    47 function selection_objet_affiche_milieu ($flux="") {
    48     include_spip('inc/config');
    49     $exec = $flux["args"]["exec"];
    50     //Exception pour les documents
    51     if($exec=='document_edit')$exec='document' ;   
    52     $objets_cibles=lire_config('selection_objet/objets_cible',array());
     54function selection_objet_affiche_milieu($flux = "") {
     55        include_spip('inc/config');
     56        $exec = $flux["args"]["exec"];
     57        //Exception pour les documents
     58        if ($exec == 'document_edit')
     59                $exec = 'document';
     60        $objets_cibles = lire_config('selection_objet/objets_cible', array());
    5361
    54    
     62        if (in_array($exec, $objets_cibles)) {
     63                $e = trouver_objet_exec($exec);
     64                $objet = $e['type'];
     65                $id_table_objet = $e['id_table_objet'];
     66                if (!$objet) {
     67                        $objet = $exec;
     68                        $id_table_objet = 'id_' . objet;
     69                }
    5570
     71                $table = table_objet_sql($objet);
     72                $args = $flux["args"];
    5673
    57     if(in_array($exec,$objets_cibles)){
    58         $e = trouver_objet_exec($exec);
    59         $objet=$e['type'];
    60         $id_table_objet=$e['id_table_objet'];
    61         if(!$objet){
    62             $objet=$exec;
    63             $id_table_objet='id_'.objet;
    64         }
     74                $tables = lister_tables_objets_sql();
    6575
    66         $table = table_objet_sql($objet);   
    67         $args=$flux["args"];
    68        
    69         $tables=lister_tables_objets_sql();
     76                $id_objet = $args['id_' . $objet];
     77                if ($objet == 'site')
     78                        $id_objet = $args['id_syndic'];
     79                $data = $flux["data"];
     80                $special = array(
     81                        'article',
     82                        'rubrique'
     83                );
     84                if (in_array($objet, $special))
     85                        $choisies = picker_selected(lire_config('selection_objet/selection_' . $objet . '_dest', array()), $objet);
     86                else
     87                        $choisies = lire_config('selection_objet/selection_' . $objet . '_dest', array());
    7088
    71         $id_objet=$args['id_'.$objet];
    72         if($objet=='site')$id_objet=$args['id_syndic'];
    73         $data = $flux["data"];
    74         $special=array('article','rubrique');
    75         if(in_array($objet,$special)) $choisies= picker_selected(lire_config('selection_objet/selection_'.$objet.'_dest',array()),$objet);
    76         else $choisies=lire_config('selection_objet/selection_'.$objet.'_dest',array());
    77        
    78         if(in_array($id_objet,$choisies) OR !$choisies){
    79            $contexte = array('id_objet_dest'=>$id_objet,'objet_dest'=>$objet);
    80            
    81            if($tables[$table]['field']['lang']) $contexte['langue']=array(sql_getfetsel('lang',$table,'id_'.$objet.'='.$id_objet));
    82            elseif($objet!='document') $contexte['langue']=array($args['lang']);
    83            else $contexte['langue']=array();
    84         if($objet=='rubrique'){
    85             if (!$trad_rub=test_plugin_actif('tradrub')) $contexte['langue']=explode(',',lire_config('langues_multilingue'));
    86             }
    87         if($objet=='auteur')$contexte['langue']='';
    88            $flux["data"] .= recuperer_fond('prive/objets/liste/selection_interface', $contexte);
    89             }
    90         }
    91         return $flux;
    92     }
     89                if (in_array($id_objet, $choisies) OR !$choisies) {
     90                        $contexte = array(
     91                                'id_objet_dest' => $id_objet,
     92                                'objet_dest' => $objet
     93                        );
    9394
    94 function selection_objet_formulaire_charger($flux){
    95     $form=$flux['args']['form'];
    96     if($form == 'configurer_selection_objet'){
    97  //emprunté de a2a  preparé les type_liens pour le formulaire     
    98     include_spip('inc/config');
    99     if(!$cfg['type_liens']=_request('type_liens')){
    100         $types_lien=lire_config('selection_objet/type_liens',array());
    101             $flux['data']['type_liens']='';
    102             if (is_array($types_lien)) {
    103             foreach ($types_lien as $key => $value) {
    104                 if($key)$flux['data']['type_liens'].="$key,$value\n";
    105             }
    106         }
    107        
    108     }
    109 
    110     //également les  type_liens_OBJET   
    111  
    112     $objets_cibles=lire_config('selection_objet/objets_cible',array());
    113    
    114     foreach($objets_cibles as $objet){
    115         if($types_lien=lire_config('selection_objet/type_liens_'.$objet)){
    116             $flux['data']['type_liens_'.$objet]='';
    117             foreach ($types_lien as $key => $value) {
    118                 if($key)$flux['data']['type_liens_'.$objet].="$key,$value\n";
    119                 }
    120             }
    121            
    122         }
    123     }
    124     return $flux;   
     95                        if ($tables[$table]['field']['lang'])
     96                                $contexte['langue'] = array(sql_getfetsel('lang', $table, 'id_' . $objet . '=' . $id_objet));
     97                        elseif ($objet != 'document')
     98                                $contexte['langue'] = array($args['lang']);
     99                        else
     100                                $contexte['langue'] = array();
     101                        if ($objet == 'rubrique') {
     102                                if (!$trad_rub = test_plugin_actif('tradrub'))
     103                                        $contexte['langue'] = explode(',', lire_config('langues_multilingue'));
     104                        }
     105                        if ($objet == 'auteur')
     106                                $contexte['langue'] = '';
     107                        $flux["data"] .= recuperer_fond('prive/objets/liste/selection_interface', $contexte);
     108                }
     109        }
     110        return $flux;
    125111}
    126112
    127 function selection_objet_formulaire_traiter($flux){
    128     // intervenir sur la configuration du plugin
    129     $form=$flux['args']['form'];
    130     if($form == 'configurer_selection_objet'){
    131          include_spip('inc/config');
    132         $cfg=lire_config('selection_objet');
    133         $cfg['type_liens']  = types_liaisons2array(_request('type_liens'));
    134        
    135     if(!$objets_cibles=$cfg['objets_cible'])$objets_cibles=array();
    136    
    137     foreach($objets_cibles as $objet){
    138         if(_request('type_liens_'.$objet))$cfg['type_liens_'.$objet]  = types_liaisons2array(_request('type_liens_'.$objet));
    139         }
    140        
    141     ecrire_config('selection_objet',$cfg);
    142     }
    143     return $flux;
     113function selection_objet_formulaire_charger($flux) {
     114        $form = $flux['args']['form'];
     115        if ($form == 'configurer_selection_objet') {
     116                //emprunté de a2a  preparé les type_liens pour le formulaire
     117                include_spip('inc/config');
     118                if (!$cfg['type_liens'] = _request('type_liens')) {
     119                        $types_lien = lire_config('selection_objet/type_liens', array());
     120                        $flux['data']['type_liens'] = '';
     121                        if (is_array($types_lien)) {
     122                                foreach ($types_lien as $key => $value) {
     123                                        if ($key)
     124                                                $flux['data']['type_liens'] .= "$key,$value\n";
     125                                }
     126                        }
     127
     128                }
     129
     130                //également les  type_liens_OBJET
     131
     132                $objets_cibles = lire_config('selection_objet/objets_cible', array());
     133
     134                foreach ($objets_cibles as $objet) {
     135                        if ($types_lien = lire_config('selection_objet/type_liens_' . $objet)) {
     136                                $flux['data']['type_liens_' . $objet] = '';
     137                                foreach ($types_lien as $key => $value) {
     138                                        if ($key)
     139                                                $flux['data']['type_liens_' . $objet] .= "$key,$value\n";
     140                                }
     141                        }
     142
     143                }
     144        }
     145        return $flux;
    144146}
    145147
    146 function selection_objet_jqueryui_plugins($scripts){
    147    $scripts[] = 'jquery.ui.autocomplete';
    148    $scripts[] = "jquery.ui.widget";
    149    $scripts[] = "jquery.ui.mouse";
    150    $scripts[] = "jquery.ui.sortable";
    151    return $scripts;
     148function selection_objet_formulaire_traiter($flux) {
     149        // intervenir sur la configuration du plugin
     150        $form = $flux['args']['form'];
     151        if ($form == 'configurer_selection_objet') {
     152                include_spip('inc/config');
     153                $cfg = lire_config('selection_objet');
     154                $cfg['type_liens'] = types_liaisons2array(_request('type_liens'));
     155
     156                if (!$objets_cibles = $cfg['objets_cible'])
     157                        $objets_cibles = array();
     158
     159                foreach ($objets_cibles as $objet) {
     160                        if (_request('type_liens_' . $objet))
     161                                $cfg['type_liens_' . $objet] = types_liaisons2array(_request('type_liens_' . $objet));
     162                }
     163
     164                ecrire_config('selection_objet', $cfg);
     165        }
     166        return $flux;
    152167}
    153168
    154 function types_liaisons2array($type){
    155     $tableau    = array();
    156     $lignes     = array_filter(explode("\n",$type));
    157     foreach ($lignes as $l){
    158         $donnees= explode(',',$l);
    159         if ($donnees[1])
    160             $tableau[trim($donnees[0])] = trim ($donnees[1]);
    161         else
    162             $tableau[trim($donnees[0])] = '';
    163     }
    164 
    165     return $tableau;
     169function selection_objet_jqueryui_plugins($scripts) {
     170        $scripts[] = 'jquery.ui.autocomplete';
     171        $scripts[] = "jquery.ui.widget";
     172        $scripts[] = "jquery.ui.mouse";
     173        $scripts[] = "jquery.ui.sortable";
     174        return $scripts;
    166175}
    167176
     177function types_liaisons2array($type) {
     178        $tableau = array();
     179        $lignes = array_filter(explode("\n", $type));
     180        foreach ($lignes as $l) {
     181                $donnees = explode(',', $l);
     182                if ($donnees[1])
     183                        $tableau[trim($donnees[0])] = trim($donnees[1]);
     184                else
     185                        $tableau[trim($donnees[0])] = '';
     186        }
     187
     188        return $tableau;
     189}
Note: See TracChangeset for help on using the changeset viewer.