[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / jquery_ui / formulaires / config_jqueryui_20_fonctions.php
diff --git a/www/plugins/auto/jquery_ui/formulaires/config_jqueryui_20_fonctions.php b/www/plugins/auto/jquery_ui/formulaires/config_jqueryui_20_fonctions.php
new file mode 100644 (file)
index 0000000..c204d57
--- /dev/null
@@ -0,0 +1,98 @@
+<?php
+/**
+ *
+ * Fonction de chargement du formulaire de configuration CFG
+ * On ajoute aux champs déjà dans la meta ce qui est activé par le pipeline 
+ * jqueryui_forcer
+ *
+ */
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+function cfg_config_jqueryui_20_charger(&$cfg){
+       $valeurs = &$cfg->val['plugins'];
+       if(!is_array($valeurs))
+               $valeurs = array();
+       $plugins_pipeline = pipeline('jqueryui_forcer');
+       if(!is_array($plugins_pipeline))
+               $plugins_pipeline = array();
+       $cfg->val['plugins'] = array_unique(array_merge($plugins_pipeline,$valeurs));
+       $cfg->val['plugins_disable'] = $plugins_pipeline;
+}
+
+function cfg_config_jqueryui_20_pre_traiter(&$cfg){
+       $valeurs = &$cfg->val['plugins'];
+       if(!is_array($valeurs))
+               $valeurs = array();
+       $plugins_pipeline = pipeline('jqueryui_forcer');
+       if(!is_array($plugins_pipeline))
+               $plugins_pipeline = array();
+       
+       $dependance_core = array(
+                                                       'ui.accordion',
+                                                       'ui.datepicker',
+                                                       'ui.dialog',
+                                                       'ui.draggable',
+                                                       'ui.droppable',
+                                                       'ui.resizable',
+                                                       'ui.selectable', 
+                                                       'ui.slider',
+                                                       'ui.sortable',
+                                                       'ui.tabs'
+       );
+
+       $dependance_draggable = array(
+                                                       'ui.droppable',
+                                                       'ui.dialog'
+                                                       );
+
+       $dependance_resizable = array(
+                                                       'ui.dialog'
+                                                       );
+       
+       $dependance_effects = array(
+                                                       'effects.blind',
+                                                       'effects.bounce',
+                                                       'effects.clip',
+                                                       'effects.drop',
+                                                       'effects.explode',
+                                                       'effects.fold',
+                                                       'effects.highlight',
+                                                       'effects.pulsate',
+                                                       'effects.scale',
+                                                       'effects.shake',
+                                                       'effects.slide',
+                                                       'effects.transfer'
+                                               );
+       
+       $valeurs = array_unique(array_merge($plugins_pipeline,$valeurs));
+       
+       /**
+        * Vérification des dépendances :
+        * On commence par le bas de l'échelle :
+        * - draggable
+        * - resizable
+        * - core
+        * - effects
+        */
+       if((count($intersect = array_intersect($valeurs,$dependance_draggable)) > 0) && !in_array('ui.draggable',$valeurs)){
+               $keys = array_keys($intersect);
+               array_splice($valeurs,$keys[0], 0, "ui.draggable");
+       }
+       if((count($intersect = array_intersect($valeurs,$dependance_resizable)) > 0) && !in_array('ui.resizable',$valeurs)){
+               $keys = array_keys($intersect);
+               array_splice($valeurs,$keys[0], 0, "ui.resizable");
+       }
+       if((count($intersect = array_intersect($valeurs,$dependance_core)) > 0) && !in_array('ui.core',$valeurs)){
+               $keys = array_keys($intersect);
+               array_splice($valeurs,$keys[0], 0, "ui.core");
+       }
+       if((count($intersect = array_intersect($valeurs,$dependance_effects)) > 0) && !in_array('effects.core',$valeurs)){
+               $keys = array_keys($intersect);
+               array_splice($valeurs,$keys[0], 0, "effects.core");
+       }
+       
+       set_request('plugins',$valeurs);
+       $cfg->val['plugins'] = $valeurs;
+}
+
+?>