source: sipes/modules_contrib/jquery_ui/jquery_ui.module @ a8b1f3f

stableversion-3.0
Last change on this file since a8b1f3f was 177a560, checked in by José Gregorio Puentes <jpuentes@…>, 8 años ago

se agrego el directorio de modulos contribuidos de drupal

  • Propiedad mode establecida a 100644
File size: 3.5 KB
Línea 
1<?php
2
3/**
4 * @file
5 * Provides the jQuery UI plug-in to other Drupal modules.
6 *
7 * This module doesn't do too much, but it is a central location for any other
8 * modules that implement the JQuery UI library. It ensures that multiple
9 * modules will all include the same library script just once on any given page.
10 */
11
12/**
13 * Add the specified jQuery UI library files to this page.
14 *
15 * The ui.core file is always included automatically, as well as the
16 * effects.core file if any of the effects libraries are used.
17 *
18 * @param $files
19 *   An array of what additional files (other than UI core) should be loaded
20 *   on the page, or a string with a single file name.
21 */
22function jquery_ui_add($files = array()) {
23  static $loaded_files, $ui_core, $effects_core;
24
25  $jquery_ui_path = jquery_ui_get_path();
26  if ($jquery_ui_path === FALSE) {
27    return FALSE;
28  }
29  $jquery_ui_path .= '/ui';
30  $compression = variable_get('jquery_update_compression_type', 'mini');
31
32  // Convert file to an array if it's not one already, to compensate for
33  // lazy developers. ;)
34  if (!is_array($files)) {
35    $files = array($files);
36  }
37
38  // If core hasn't been added yet, add it.
39  if (!isset($ui_core)) {
40    $ui_core = TRUE;
41    jquery_ui_add(array('ui.core'));
42  }
43
44  // Loop through list of files to include and add them to the page.
45  foreach ($files as $file) {
46    // Any effects files require the effects core file.
47    if (!isset($effects_core) && strpos($file, 'effects.') === 0) {
48      $effects_core = TRUE;
49      jquery_ui_add(array('effects.core'));
50    }
51
52    // Load other files.
53    if (!isset($loaded_files[$file])) {
54      switch ($compression) {
55        case 'none':
56          $file_path = "$file.js";
57          break;
58
59        case 'pack':
60          $file_path = "packed/$file.packed.js";
61          break;
62
63        case 'mini':
64        default:
65          $file_path = "minified/$file.min.js";
66          break;
67      }
68      $js_path = $jquery_ui_path . '/' . $file_path;
69      drupal_add_js($js_path);
70      $loaded_files[$file] = $js_path;
71    }
72  }
73}
74
75/**
76 * Returns the path to the jQuery UI library or FALSE if not found.
77 */
78function jquery_ui_get_path() {
79  static $path;
80
81  if (isset($path)) {
82    return $path;
83  }
84  $path = FALSE;
85
86  // Libraries API integration.
87  if (function_exists('libraries_get_path')) {
88    $path = libraries_get_path('jquery.ui');
89    // Libraries API 1.x returns a default path; 2.x returns FALSE.
90    if ($path !== FALSE && !file_exists($path)) {
91      $path = FALSE;
92    }
93  }
94  // Manually check sites/all/libraries in case Libraries API is not available.
95  elseif (file_exists('./sites/all/libraries/jquery.ui')) {
96    $path = 'sites/all/libraries/jquery.ui';
97  }
98
99  // Check the module directory for backwards compatibility if other methods
100  // failed.
101  if (!$path) {
102    // drupal_get_path() is not available during Drupal installation.
103    if (defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'install') {
104      $path = drupal_substr(dirname(__FILE__), drupal_strlen(getcwd()) + 1);
105      $path = strtr($path, '\\', '/');
106      $path .= '/jquery.ui';
107    }
108    else {
109      $path = drupal_get_path('module', 'jquery_ui') . '/jquery.ui';
110    }
111    if (!file_exists($path)) {
112      $path = FALSE;
113    }
114  }
115
116  return $path;
117}
118
119/**
120 * Return the version of jQuery UI installed.
121 */
122function jquery_ui_get_version() {
123  $version = 0;
124
125  $path = jquery_ui_get_path();
126  if ($path === FALSE) {
127    return $version;
128  }
129  $file = $path . '/version.txt';
130  if (file_exists($file)) {
131    $version = file_get_contents($file);
132  }
133
134  return $version;
135}
136
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.