3 if (!defined('_ECRIRE_INC_VERSION')) {
8 * Ajout des scripts de jQuery UI pour les pages publiques et privées
10 * @param array $plugins
11 * @return array $plugins
13 function jqueryui_jquery_plugins($plugins) {
15 // Modules demandés par le pipeline jqueryui_plugins
16 $jqueryui_plugins = pipeline('jqueryui_plugins', array());
18 // si un module est demandé, on charge tout le JS.
19 if (is_array($jqueryui_plugins) and count($jqueryui_plugins)) {
20 $plugins[] = 'javascript/ui/jquery-ui.js';
27 * Ajout des css de jQuery UI pour les pages publiques
32 function jqueryui_insert_head_css($flux) {
34 * Doit on ne pas insérer les css (défini depuis un autre plugin) ?
36 if (defined('_JQUERYUI_CSS_NON')) {
40 // Modules demandés par le pipeline jqueryui_plugins
41 $jqueryui_plugins = pipeline('jqueryui_plugins', array());
43 // si un module est demandé, on charge tout le CSS.
44 if (is_array($jqueryui_plugins) and count($jqueryui_plugins)) {
45 $flux .= "<link rel='stylesheet' type='text/css' media='all' href='" . find_in_path('css/ui/jquery-ui.css') . "' />\n";
52 * Ajout de la css de jQuery UI pour les pages privées
57 function jqueryui_header_prive_css($flux) {
59 $flux .= "<link rel='stylesheet' type='text/css' media='all' href='" . find_in_path('css/ui/jquery-ui.css') . "' />\n";
65 * Ajout du script effect de jQuery UI pour les pages privées
70 function jqueryui_header_prive($flux) {
72 $flux .= "\n" . '<script src="' . find_in_path('prive/javascript/ui/jquery-ui.js') . '" type="text/javascript"></script>';
78 * Gérer les dépendances de la lib jQuery UI
80 * @param array $plugins tableau des plugins demandés
81 * @return array $plugins tableau des plugins nécessaires ou false
83 function jqueryui_dependances($plugins) {
85 // Gestion des renommages de plugins jqueryui
86 foreach ($plugins as $nb => $val) {
87 if (0 === strpos($val, 'jquery.effects.')) {
88 $plugins[$nb] = str_replace('jquery.effects.', 'effect-', $val);
90 if (0 === strpos($val, 'jquery.ui.')) {
91 $plugins[$nb] = str_replace('jquery.ui.', '', $val);
96 * Gestion des dépendances inter plugins
98 $dependance_core = array(
106 * Dépendances à widget
107 * Si un autre plugin est dépendant d'un de ceux là, on ne les ajoute pas
109 $dependance_widget = array(
122 $dependance_mouse = array(
131 $dependance_position = array(
139 $dependance_button = array(
144 $dependance_menu = array(
149 $dependance_draggable = array(
153 $dependance_resizable = array(
157 $dependance_effects = array(
176 * Vérification des dépendances
177 * Ici on ajoute quand même le plugin en question et on supprime les doublons via array_unique
178 * Pour éviter le cas où un pipeline demanderait un plugin dans le mauvais sens de la dépendance par exemple
180 * On commence par le bas de l'échelle :
190 if (count($intersect = array_intersect($plugins, $dependance_resizable)) > 0) {
191 $keys = array_keys($intersect);
192 array_splice($plugins, $keys[0], 0, 'resizable');
194 if (count($intersect = array_intersect($plugins, $dependance_button)) > 0) {
195 $keys = array_keys($intersect);
196 array_splice($plugins, $keys[0], 0, 'button');
198 if (count($intersect = array_intersect($plugins, $dependance_menu)) > 0) {
199 $keys = array_keys($intersect);
200 array_splice($plugins, $keys[0], 0, 'menu');
202 if (count($intersect = array_intersect($plugins, $dependance_draggable)) > 0) {
203 $keys = array_keys($intersect);
204 array_splice($plugins, $keys[0], 0, 'draggable');
206 if (count($intersect = array_intersect($plugins, $dependance_position)) > 0) {
207 $keys = array_keys($intersect);
208 array_splice($plugins, $keys[0], 0, 'position');
210 if (count($intersect = array_intersect($plugins, $dependance_mouse)) > 0) {
211 $keys = array_keys($intersect);
212 array_splice($plugins, $keys[0], 0, 'mouse');
214 if (count($intersect = array_intersect($plugins, $dependance_widget)) > 0) {
215 $keys = array_keys($intersect);
216 array_splice($plugins, $keys[0], 0, 'widget');
218 if (count($intersect = array_intersect($plugins, $dependance_core)) > 0) {
219 $keys = array_keys($intersect);
220 array_splice($plugins, $keys[0], 0, 'core');
222 if (count($intersect = array_intersect($plugins, $dependance_effects)) > 0) {
223 $keys = array_keys($intersect);
224 array_splice($plugins, $keys[0], 0, 'effect');
226 $plugins = array_unique($plugins);