Changeset 39751 in spip-zone


Ignore:
Timestamp:
Aug 9, 2010, 9:39:14 AM (9 years ago)
Author:
kent1@…
Message:

Gestion des dépendances inter plugins de jquery ui pour le formulaire de configuration

Il faut faire la même chose pour le pipeline pour sécurité

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/jquery_ui/formulaires/config_jqueryui_fonctions.php

    r39722 r39751  
    2525        if(!is_array($plugins_pipeline))
    2626                $plugins_pipeline = array();
     27       
     28        $dependance_core = array(
     29                                                        'jquery.ui.mouse',
     30                                                        'jquery.ui.widget',
     31                                                        'jquery.ui.datepicker'
     32        );
     33
     34        /**
     35         * Dépendances à widget
     36         * Si un autre plugin est dépendant d'un de ceux là, on ne les ajoute pas
     37         */
     38        $dependance_widget = array(
     39                                                        'jquery.ui.mouse',
     40                                                        'jquery.ui.accordion',
     41                                                        'jquery.ui.autocomplete',
     42                                                        'jquery.ui.button',
     43                                                        'jquery.ui.dialog',
     44                                                        'jquery.ui.tabs',
     45                                                        'jquery.ui.progressbar'                                         
     46                                                        );
     47       
     48        $dependance_mouse = array(
     49                                                        'jquery.ui.draggable',
     50                                                        'jquery.ui.droppable',
     51                                                        'jquery.ui.resizable',
     52                                                        'jquery.ui.selectable',
     53                                                        'jquery.ui.sortable',
     54                                                        'jquery.ui.slider'
     55                                                );
     56       
     57        $dependance_position = array(
     58                                                        'jquery.ui.autocomplete',
     59                                                        'jquery.ui.dialog',
     60                                                        );
     61       
     62        $dependance_draggable = array(
     63                                                        'jquery.ui.droppable'
     64                                                        );
     65       
     66        $dependance_effects = array(
     67                                                        'jquery.effects.blind',
     68                                                        'jquery.effects.bounce',
     69                                                        'jquery.effects.clip',
     70                                                        'jquery.effects.drop',
     71                                                        'jquery.effects.explode',
     72                                                        'jquery.effects.fold',
     73                                                        'jquery.effects.highlight',
     74                                                        'jquery.effects.pulsate',
     75                                                        'jquery.effects.scale',
     76                                                        'jquery.effects.shake',
     77                                                        'jquery.effects.slide',
     78                                                        'jquery.effects.transfer'
     79                                                );
     80       
    2781        $valeurs = array_unique(array_merge($plugins_pipeline,$valeurs));
     82       
     83        /**
     84         * Vérification des dépendances :
     85         * On commence par le bas de l'échelle :
     86         * - draggable
     87         * - position
     88         * - mouse
     89         * - widget
     90         * - core
     91         * - effects
     92         */
     93        if((count($intersect = array_intersect($valeurs,$dependance_draggable)) > 0) && !in_array('jquery.ui.draggable',$valeurs)){
     94                $keys = array_keys($intersect);
     95                array_splice($valeurs,$keys[0], 0, "jquery.ui.draggable");
     96        }
     97        if((count($intersect = array_intersect($valeurs,$dependance_position)) > 0) && !in_array('jquery.ui.position',$valeurs)){
     98                $keys = array_keys($intersect);
     99                array_splice($valeurs,$keys[0], 0, "jquery.ui.position");
     100        }
     101        if((count($intersect = array_intersect($valeurs,$dependance_mouse)) > 0) && !in_array('jquery.ui.mouse',$valeurs)){
     102                $keys = array_keys($intersect);
     103                array_splice($valeurs,$keys[0], 0, "jquery.ui.mouse");
     104        }
     105        if((count($intersect = array_intersect($valeurs,$dependance_widget)) > 0) && !in_array('jquery.ui.widget',$valeurs)){
     106                $keys = array_keys($intersect);
     107                array_splice($valeurs,$keys[0], 0, "jquery.ui.widget");
     108        }
     109        if((count($intersect = array_intersect($valeurs,$dependance_core)) > 0) && !in_array('jquery.ui.core',$valeurs)){
     110                $keys = array_keys($intersect);
     111                array_splice($valeurs,$keys[0], 0, "jquery.ui.core");
     112        }
     113        if((count($intersect = array_intersect($valeurs,$dependance_effects)) > 0) && !in_array('jquery.effects.core',$valeurs)){
     114                $keys = array_keys($intersect);
     115                array_splice($valeurs,$keys[0], 0, "jquery.effects.core");
     116        }
     117        if((count($intersect = array_intersect($valeurs,$dependance_effects)) > 0) && !in_array('jquery.effects.core',$valeurs)){
     118                $keys = array_keys($intersect);
     119                array_splice($valeurs,$keys[0], 0, "jquery.effects.core");
     120        }
     121       
    28122        set_request('plugins',$valeurs);
    29123        $cfg->val['plugins'] = $valeurs;
Note: See TracChangeset for help on using the changeset viewer.