function wysiwyg_get_libraries in Wysiwyg 6.2
Same name and namespace in other branches
- 5.2 wysiwyg.module \wysiwyg_get_libraries()
- 7.2 wysiwyg.module \wysiwyg_get_libraries()
Return an array of library directories.
Returns an array of library directories from the all-sites directory (i.e. sites/all/libraries/), the profiles directory, and site-specific directory (i.e. sites/somesite/libraries/). The returned array will be keyed by the library name. Site-specific libraries are prioritized over libraries in the default directories. That is, if a library with the same name appears in both the site-wide directory and site-specific directory, only the site-specific version will be listed.
Return value
A list of library directories.
Related topics
1 call to wysiwyg_get_libraries()
- wysiwyg_get_path in ./
wysiwyg.module - Helper function to build paths to libraries.
File
- ./
wysiwyg.module, line 1165 - Integrates client-side editors with Drupal.
Code
function wysiwyg_get_libraries() {
if (function_exists('libraries_get_libraries')) {
$directories = libraries_get_libraries();
}
else {
global $profile;
// When this function is called during Drupal's initial installation process,
// the name of the profile that is about to be installed is stored in the
// global $profile variable. At all other times, the regular system variable
// contains the name of the current profile, and we can call variable_get()
// to determine the profile.
if (!isset($profile)) {
$profile = variable_get('install_profile', 'default');
}
$directory = 'libraries';
$searchdir = array();
$config = conf_path();
// The 'profiles' directory contains pristine collections of modules and
// themes as organized by a distribution. It is pristine in the same way
// that /modules is pristine for core; users should avoid changing anything
// there in favor of sites/all or sites/<domain> directories.
if (file_exists("profiles/{$profile}/{$directory}")) {
$searchdir[] = "profiles/{$profile}/{$directory}";
}
// Always search sites/all/*.
$searchdir[] = 'sites/all/' . $directory;
// Also search sites/<domain>/*.
if (file_exists("{$config}/{$directory}")) {
$searchdir[] = "{$config}/{$directory}";
}
// Retrieve list of directories.
// @todo Core: Allow to scan for directories.
$directories = array();
$nomask = array(
'CVS',
);
foreach ($searchdir as $dir) {
if (is_dir($dir) && ($handle = opendir($dir))) {
while (FALSE !== ($file = readdir($handle))) {
if (!in_array($file, $nomask) && $file[0] != '.') {
if (is_dir("{$dir}/{$file}")) {
$directories[$file] = "{$dir}/{$file}";
}
}
}
closedir($handle);
}
}
}
return $directories;
}