If you edit your settings.php file to put in invalid information (like what would happen if you moved your install to a different host, or if the database was temporarily unavailable), where you would normally get a nice maintenance page that says "Unable to connect blah blah" you instead get:

Fatal error: Call to undefined function file_directory_path() in /Applications/MAMP/htdocs/head/includes/common.inc on line 1769

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

webchick’s picture

Btw, looks like this was introduced in the JS aggregation patch.

xqus’s picture

Status: Active » Needs review
FileSize
773 bytes

Well, here is a simple fix.
Just added the inclusion of includes/file.inc in the drupal_maintenance_theme() function.

A maybe better fix would be to change the drupal_get_js() function to take an argument to disable the JS preprocessing when the database is not available.

xqus’s picture

FileSize
1.03 KB

Here is a different approach. It adds some more checks to the drupal_get_js() function.

RobRoy’s picture

FileSize
710 bytes

Verified that both patches fix the problem. Just depends on which one is more elegant probably as I think they'll both perform the same. I'm slightly more a fan of #3.

This is a re-roll of patch #2 with trailing spaces removed.

RobRoy’s picture

Status: Needs review » Reviewed & tested by the community
FileSize
1.1 KB

Here is a re-roll of #3 which I slightly prefer. This abides by coding standards and includes a comment to boot. Gabor, both these patches work, guess it's just up to you which you prefer.

Gábor Hojtsy’s picture

Status: Reviewed & tested by the community » Fixed

OK, committed #4, as I think we are better off with including what we need then having special cases for all functions we might not have. The maintenance theme could be any complex. Thanks.

Anonymous’s picture

Status: Fixed » Closed (fixed)