0){ $keys = array_keys($intersect); array_splice($config['plugins'],$keys[0], 0, "ui.draggable"); } if(count($intersect = array_intersect($config['plugins'],$dependance_resizable)) > 0){ $keys = array_keys($intersect); array_splice($config['plugins'],$keys[0], 0, "ui.resizable"); } if(count($intersect = array_intersect($config['plugins'],$dependance_core)) > 0){ $keys = array_keys($intersect); array_splice($config['plugins'],$keys[0], 0, "ui.core"); } if(count($intersect = array_intersect($config['plugins'],$dependance_effects)) > 0){ $keys = array_keys($intersect); array_splice($config['plugins'],$keys[0], 0, "effects.core"); } $config['plugins'] = array_unique($config['plugins']); foreach ($config['plugins'] as $val) { $plugins[] = _DIR_JQUERYUI_JS.$val.".js"; } // si pas de config en base, on enregistre les scripts issu du pipeline jqueryui_forcer + leurs dépendances if ($ecrire_meta == 'oui') { include_spip('inc/meta'); ecrire_meta('jqueryui',serialize($config)); } return $plugins; } /** * jqueryui_insert_head : ajout des CSS de jQuery-UI pour les pages publiques * avec gestion du theme et des UI utilises * * @param: $flux * @return: $flux */ function jqueryui_insert_head($flux) { $config = @unserialize($GLOBALS['meta']['jqueryui']); // recuperer le repertoire du theme $theme = 'default/'; if (isset($config['theme']) AND $config['theme'] != '') $theme = $config['theme'].'/'; if ($theme == 'no_css/') return $flux; // recuperer la liste des plugins jquery actives ou issus du pipeline jqueryui_forcer $config['plugins'] = array_unique(array_merge(sinon(pipeline('jqueryui_forcer'),array()),$config['plugins'])); // en 1.6 pas de CSS par plugin: ui.all.css comprend tout sauf datepicker if (!in_array('ui.all', $config['plugins'])) $config['plugins'][] = 'ui.all'; // les CSS correspondantes aux plugins $Tjquery_css = array( 'ui.all', 'ui.datepicker' ); // appeler les CSS necessaires foreach ($config['plugins'] as $plug) { if (in_array($plug, $Tjquery_css)) { $flux .= "\n"; } } return $flux; } ?>