source: spip-zone/_plugins_/jquery_ui/formulaires/config_jqueryui_20_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: 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 */
9if (!defined("_ECRIRE_INC_VERSION")) return;
10
11function cfg_config_jqueryui_20_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_20_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                                                        'ui.accordion',
32                                                        'ui.datepicker',
33                                                        'ui.dialog',
34                                                        'ui.draggable',
35                                                        'ui.droppable',
36                                                        'ui.resizable',
37                                                        'ui.selectable', 
38                                                        'ui.slider',
39                                                        'ui.sortable',
40                                                        'ui.tabs'
41        );
42
43        $dependance_draggable = array(
44                                                        'ui.droppable',
45                                                        'ui.dialog'
46                                                        );
47
48        $dependance_resizable = array(
49                                                        'ui.dialog'
50                                                        );
51       
52        $dependance_effects = array(
53                                                        'effects.blind',
54                                                        'effects.bounce',
55                                                        'effects.clip',
56                                                        'effects.drop',
57                                                        'effects.explode',
58                                                        'effects.fold',
59                                                        'effects.highlight',
60                                                        'effects.pulsate',
61                                                        'effects.scale',
62                                                        'effects.shake',
63                                                        'effects.slide',
64                                                        'effects.transfer'
65                                                );
66       
67        $valeurs = array_unique(array_merge($plugins_pipeline,$valeurs));
68       
69        /**
70         * Vérification des dépendances :
71         * On commence par le bas de l'échelle :
72         * - draggable
73         * - resizable
74         * - core
75         * - effects
76         */
77        if((count($intersect = array_intersect($valeurs,$dependance_draggable)) > 0) && !in_array('ui.draggable',$valeurs)){
78                $keys = array_keys($intersect);
79                array_splice($valeurs,$keys[0], 0, "ui.draggable");
80        }
81        if((count($intersect = array_intersect($valeurs,$dependance_resizable)) > 0) && !in_array('ui.resizable',$valeurs)){
82                $keys = array_keys($intersect);
83                array_splice($valeurs,$keys[0], 0, "ui.resizable");
84        }
85        if((count($intersect = array_intersect($valeurs,$dependance_core)) > 0) && !in_array('ui.core',$valeurs)){
86                $keys = array_keys($intersect);
87                array_splice($valeurs,$keys[0], 0, "ui.core");
88        }
89        if((count($intersect = array_intersect($valeurs,$dependance_effects)) > 0) && !in_array('effects.core',$valeurs)){
90                $keys = array_keys($intersect);
91                array_splice($valeurs,$keys[0], 0, "effects.core");
92        }
93       
94        set_request('plugins',$valeurs);
95        $cfg->val['plugins'] = $valeurs;
96}
97
98?>
Note: See TracBrowser for help on using the repository browser.