function nice_menus_library in Nice Menus 7.2
Same name and namespace in other branches
- 7.3 nice_menus.module \nice_menus_library()
Implements hook_library().
File
- ./
nice_menus.module, line 83 - Module to enable CSS dropdown and flyout menus.
Code
function nice_menus_library() {
$module_path = drupal_get_path('module', 'nice_menus');
// Jquery bgiframe.
$libraries['jquery.bgiframe'] = array(
'title' => 'bgiframe',
'website' => 'http://docs.jquery.com/Plugins/bgiframe',
'version' => '2.1',
'js' => array(
$module_path . '/js/jquery.bgiframe.js' => array(),
),
);
// Jquery hoverIntent.
$libraries['jquery.hoverIntent'] = array(
'title' => 'hoverIntent',
'website' => 'http://cherne.net/brian/resources/jquery.hoverIntent.html',
'version' => '0.5',
'js' => array(
$module_path . '/js/jquery.hoverIntent.js' => array(),
),
);
// Superfish.
$libraries['superfish'] = array(
'title' => 'Superfish',
'website' => 'http://users.tpg.com.au/j_birch/plugins/superfish/',
'version' => '1.4.8',
'js' => array(
$module_path . '/js/superfish.js' => array(),
),
'dependencies' => array(
array(
'nice_menus',
'jquery.bgiframe',
),
array(
'nice_menus',
'jquery.hoverIntent',
),
),
);
// Nicemenus.
$libraries['nice_menus'] = array(
'title' => 'Nice Menus',
'website' => 'http://drupal.org/project/nice_menus',
'version' => '1.0',
'js' => array(
// Add the Superfish options variables.
$module_path . '/js/nice_menus.js' => array(),
),
'dependencies' => array(
array(
'nice_menus',
'superfish',
),
),
);
// Add the javascript according to configuration settings.
$libraries['nice_menus']['js'][] = array(
'type' => 'setting',
'data' => array(
'nice_menus_options' => array(
'delay' => variable_get('nice_menus_sf_delay', 800),
'speed' => variable_get('nice_menus_sf_speed', 'slow'),
),
),
);
$jquery = drupal_get_library('system', 'jquery');
if (version_compare($jquery['version'], '1.7', '>=')) {
$plugins = array(
'jquery.hoverIntent' => array(
'js' => 'jquery.hoverIntent.js',
'version_pattern' => '@hoverIntent\\s+(r[0-9]+)@i',
),
'jquery.bgiframe' => array(
'js' => 'jquery.bgiframe.js',
'version_pattern' => '@version\\s+([0-9a-zA-Z\\.-]+)@i',
),
'superfish' => array(
'js' => 'superfish.js',
'version_pattern' => '@Superfish\\s(v[0-9\\.-]+)@i',
),
);
// config libraries directory.
$searchdir = array(
'libraries/',
conf_path() . '/libraries/',
'profiles/' . drupal_get_profile() . '/libraries/',
'sites/all/libraries/',
);
foreach ($plugins as $plugin => $file_info) {
$libraries_file = NULL;
// check libraries module.
if (module_exists('libraries') && libraries_get_path($plugin) != '') {
$library_directory = libraries_get_path($plugin);
if (is_file(DRUPAL_ROOT . '/' . $library_directory . $plugin . '/' . $file_info['js'])) {
$libraries_file = $library_directory . $plugin . '/' . $file_info['js'];
}
}
// scan dir.
if ($libraries_file === NULL) {
foreach ($searchdir as $libraries_dir) {
if (is_file(DRUPAL_ROOT . '/' . $libraries_dir . $plugin . '/' . $file_info['js'])) {
$libraries_file = $libraries_dir . $plugin . '/' . $file_info['js'];
break;
}
}
}
// add to libraries.
if ($libraries_file !== NULL) {
$libraries[$plugin]['version'] = nice_menus_get_version($libraries_file, array(
'pattern' => $file_info['version_pattern'],
));
$libraries[$plugin]['js'] = array(
$libraries_file => array(),
);
}
}
}
return $libraries;
}