source: spip-zone/_plugins_/jquery_ui/formulaires/config_jqueryui_20_fonctions.php @ 47798

Last change on this file since 47798 was 47798, checked in by cy_altern@…, 10 years ago

ajout des CSS des plugins jQuery-UI (neccessaires pour le bon fonctionnement des widgets)
ajout du choix du theme pour l'habillage des widgets
ajout de la compatibilite SPIP 2.0

File size: 2.6 KB
Line 
1<?php
2/**
3 *
4 * Fonction de chargement du formulaire de configuration CFG
5 * On ajoute aux champs déjà dans la meta ce qui est activé par le pipeline
6 * jqueryui_forcer
7 *
8 */
9function cfg_config_jqueryui_20_charger(&$cfg){
10        $valeurs = &$cfg->val['plugins'];
11        if(!is_array($valeurs))
12                $valeurs = array();
13        $plugins_pipeline = pipeline('jqueryui_forcer');
14        if(!is_array($plugins_pipeline))
15                $plugins_pipeline = array();
16        $cfg->val['plugins'] = array_unique(array_merge($plugins_pipeline,$valeurs));
17        $cfg->val['plugins_disable'] = $plugins_pipeline;
18}
19
20function cfg_config_jqueryui_20_pre_traiter(&$cfg){
21        $valeurs = &$cfg->val['plugins'];
22        if(!is_array($valeurs))
23                $valeurs = array();
24        $plugins_pipeline = pipeline('jqueryui_forcer');
25        if(!is_array($plugins_pipeline))
26                $plugins_pipeline = array();
27       
28        $dependance_core = array(
29                                                        'ui.accordion',
30                                                        'ui.datepicker',
31                                                        'ui.dialog',
32                                                        'ui.draggable',
33                                                        'ui.droppable',
34                                                        'ui.resizable',
35                                                        'ui.selectable', 
36                                                        'ui.slider',
37                                                        'ui.sortable',
38                                                        'ui.tabs'
39        );
40
41        $dependance_draggable = array(
42                                                        'ui.droppable',
43                                                        'ui.dialog'
44                                                        );
45
46        $dependance_resizable = array(
47                                                        'ui.dialog'
48                                                        );
49       
50        $dependance_effects = array(
51                                                        'effects.blind',
52                                                        'effects.bounce',
53                                                        'effects.clip',
54                                                        'effects.drop',
55                                                        'effects.explode',
56                                                        'effects.fold',
57                                                        'effects.highlight',
58                                                        'effects.pulsate',
59                                                        'effects.scale',
60                                                        'effects.shake',
61                                                        'effects.slide',
62                                                        'effects.transfer'
63                                                );
64       
65        $valeurs = array_unique(array_merge($plugins_pipeline,$valeurs));
66       
67        /**
68         * Vérification des dépendances :
69         * On commence par le bas de l'échelle :
70         * - draggable
71         * - resizable
72         * - core
73         * - effects
74         */
75        if((count($intersect = array_intersect($valeurs,$dependance_draggable)) > 0) && !in_array('ui.draggable',$valeurs)){
76                $keys = array_keys($intersect);
77                array_splice($valeurs,$keys[0], 0, "ui.draggable");
78        }
79        if((count($intersect = array_intersect($valeurs,$dependance_resizable)) > 0) && !in_array('ui.resizable',$valeurs)){
80                $keys = array_keys($intersect);
81                array_splice($valeurs,$keys[0], 0, "ui.resizable");
82        }
83        if((count($intersect = array_intersect($valeurs,$dependance_core)) > 0) && !in_array('ui.core',$valeurs)){
84                $keys = array_keys($intersect);
85                array_splice($valeurs,$keys[0], 0, "ui.core");
86        }
87        if((count($intersect = array_intersect($valeurs,$dependance_effects)) > 0) && !in_array('effects.core',$valeurs)){
88                $keys = array_keys($intersect);
89                array_splice($valeurs,$keys[0], 0, "effects.core");
90        }
91       
92        set_request('plugins',$valeurs);
93        $cfg->val['plugins'] = $valeurs;
94}
95
96?>
Note: See TracBrowser for help on using the repository browser.