source: spip-zone/_plugins_/jquery_ui/formulaires/config_jqueryui_fonctions.php @ 52843

Last change on this file since 52843 was 52843, checked in by kent1@…, 8 years ago

if (!defined("_ECRIRE_INC_VERSION")) return; sur tout fichier PHP pour sécurité future principalement

File size: 3.9 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 */
9if (!defined("_ECRIRE_INC_VERSION")) return;
10
11function cfg_config_jqueryui_charger(&$cfg){
12        $valeurs = &$cfg->val['plugins'];
13        if(!is_array($valeurs))
14                $valeurs = array();
15        $plugins_pipeline = pipeline('jqueryui_forcer');
16        if(!is_array($plugins_pipeline))
17                $plugins_pipeline = array();
18        $cfg->val['plugins'] = array_unique(array_merge($plugins_pipeline,$valeurs));
19        $cfg->val['plugins_disable'] = $plugins_pipeline;
20}
21
22function cfg_config_jqueryui_pre_traiter(&$cfg){
23        $valeurs = &$cfg->val['plugins'];
24        if(!is_array($valeurs))
25                $valeurs = array();
26        $plugins_pipeline = pipeline('jqueryui_forcer');
27        if(!is_array($plugins_pipeline))
28                $plugins_pipeline = array();
29       
30        $dependance_core = array(
31                                                        'jquery.ui.mouse',
32                                                        'jquery.ui.widget',
33                                                        'jquery.ui.datepicker'
34        );
35
36        /**
37         * Dépendances à widget
38         * Si un autre plugin est dépendant d'un de ceux là, on ne les ajoute pas
39         */
40        $dependance_widget = array(
41                                                        'jquery.ui.mouse',
42                                                        'jquery.ui.accordion',
43                                                        'jquery.ui.autocomplete',
44                                                        'jquery.ui.button',
45                                                        'jquery.ui.dialog',
46                                                        'jquery.ui.tabs',
47                                                        'jquery.ui.progressbar'                                         
48                                                        );
49       
50        $dependance_mouse = array(
51                                                        'jquery.ui.draggable',
52                                                        'jquery.ui.droppable',
53                                                        'jquery.ui.resizable',
54                                                        'jquery.ui.selectable',
55                                                        'jquery.ui.sortable',
56                                                        'jquery.ui.slider'
57                                                );
58       
59        $dependance_position = array(
60                                                        'jquery.ui.autocomplete',
61                                                        'jquery.ui.dialog',
62                                                        );
63       
64        $dependance_draggable = array(
65                                                        'jquery.ui.droppable'
66                                                        );
67       
68        $dependance_effects = array(
69                                                        'jquery.effects.blind',
70                                                        'jquery.effects.bounce',
71                                                        'jquery.effects.clip',
72                                                        'jquery.effects.drop',
73                                                        'jquery.effects.explode',
74                                                        'jquery.effects.fold',
75                                                        'jquery.effects.highlight',
76                                                        'jquery.effects.pulsate',
77                                                        'jquery.effects.scale',
78                                                        'jquery.effects.shake',
79                                                        'jquery.effects.slide',
80                                                        'jquery.effects.transfer'
81                                                );
82       
83        $valeurs = array_unique(array_merge($plugins_pipeline,$valeurs));
84       
85        /**
86         * Vérification des dépendances :
87         * On commence par le bas de l'échelle :
88         * - draggable
89         * - position
90         * - mouse
91         * - widget
92         * - core
93         * - effects
94         */
95        if((count($intersect = array_intersect($valeurs,$dependance_draggable)) > 0) && !in_array('jquery.ui.draggable',$valeurs)){
96                $keys = array_keys($intersect);
97                array_splice($valeurs,$keys[0], 0, "jquery.ui.draggable");
98        }
99        if((count($intersect = array_intersect($valeurs,$dependance_position)) > 0) && !in_array('jquery.ui.position',$valeurs)){
100                $keys = array_keys($intersect);
101                array_splice($valeurs,$keys[0], 0, "jquery.ui.position");
102        }
103        if((count($intersect = array_intersect($valeurs,$dependance_mouse)) > 0) && !in_array('jquery.ui.mouse',$valeurs)){
104                $keys = array_keys($intersect);
105                array_splice($valeurs,$keys[0], 0, "jquery.ui.mouse");
106        }
107        if((count($intersect = array_intersect($valeurs,$dependance_widget)) > 0) && !in_array('jquery.ui.widget',$valeurs)){
108                $keys = array_keys($intersect);
109                array_splice($valeurs,$keys[0], 0, "jquery.ui.widget");
110        }
111        if((count($intersect = array_intersect($valeurs,$dependance_core)) > 0) && !in_array('jquery.ui.core',$valeurs)){
112                $keys = array_keys($intersect);
113                array_splice($valeurs,$keys[0], 0, "jquery.ui.core");
114        }
115        if((count($intersect = array_intersect($valeurs,$dependance_effects)) > 0) && !in_array('jquery.effects.core',$valeurs)){
116                $keys = array_keys($intersect);
117                array_splice($valeurs,$keys[0], 0, "jquery.effects.core");
118        }
119        if((count($intersect = array_intersect($valeurs,$dependance_effects)) > 0) && !in_array('jquery.effects.core',$valeurs)){
120                $keys = array_keys($intersect);
121                array_splice($valeurs,$keys[0], 0, "jquery.effects.core");
122        }
123       
124        set_request('plugins',$valeurs);
125        $cfg->val['plugins'] = $valeurs;
126}
127
128?>
Note: See TracBrowser for help on using the repository browser.