Commit 625cf954 authored by webchick's avatar webchick

Issue #1006714 by Steven Jones, chx, mr.baileys, xjm, carlos8f: Fixed...

Issue #1006714 by Steven Jones, chx, mr.baileys, xjm, carlos8f: Fixed drupal_get_path() doesn't work for profiles.
parent 4c45ee17
......@@ -828,6 +828,11 @@ function drupal_get_filename($type, $name, $filename = NULL) {
// drupal_static().
static $files = array(), $dirs = array();
// Profiles are a special case: they have a fixed location and naming.
if ($type == 'profile') {
$profile_filename = "profiles/$name/$name.profile";
$files[$type][$name] = file_exists($profile_filename) ? $profile_filename : FALSE;
}
if (!isset($files[$type])) {
$files[$type] = array();
}
......
......@@ -350,8 +350,18 @@ class BootstrapGetFilenameTestCase extends DrupalUnitTestCase {
// Retrieving the location of a theme engine.
$this->assertIdentical(drupal_get_filename('theme_engine', 'phptemplate'), 'themes/engines/phptemplate/phptemplate.engine', t('Retrieve theme engine location.'));
// Retrieving a file that is definitely not stored in the database.
// Retrieving the location of a profile. Profiles are a special case with
// a fixed location and naming.
$this->assertIdentical(drupal_get_filename('profile', 'standard'), 'profiles/standard/standard.profile', t('Retrieve install profile location.'));
// When a file is not found in the database cache, drupal_get_filename()
// searches several locations on the filesystem, including the DRUPAL_ROOT
// directory. We use the '.script' extension below because this is a
// non-existent filetype that will definitely not exist in the database.
// Since there is already a scripts directory, drupal_get_filename() will
// automatically check there for 'script' files, just as it does for (e.g.)
// 'module' files in modules.
$this->assertIdentical(drupal_get_filename('script', 'test'), 'scripts/test.script', t('Retrieve test script location.'));
}
}
......
This file is for testing purposes only.
It is used to test the functionality of drupal_get_filename(). See
BootstrapGetFilenameTestCase::testDrupalGetFilename() for more information.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment