Posted by webchick on June 13, 2007 at 6:12am
| Project: | Drupal core |
| Version: | 6.x-dev |
| Component: | base system |
| Category: | bug report |
| Priority: | critical |
| Assigned: | Unassigned |
| Status: | closed (fixed) |
Issue Summary
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
Comments
#1
Btw, looks like this was introduced in the JS aggregation patch.
#2
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.
#3
Here is a different approach. It adds some more checks to the drupal_get_js() function.
#4
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.
#5
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.
#6
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.
#7