diff options
author | plegall <plg@piwigo.org> | 2010-04-28 16:11:07 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2010-04-28 16:11:07 +0000 |
commit | 056668c9aef0c28703777ba54e83020fdd80713d (patch) | |
tree | ca4ef1466bd506fbc039f63663c7d749b12ebe73 /include | |
parent | deb73a99f7e369ce5ebfff959cd988477003acf8 (diff) |
bug 860: display a more readable error when the _data directory is not writable
git-svn-id: http://piwigo.org/svn/trunk@5985 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-rw-r--r-- | include/functions_html.inc.php | 11 | ||||
-rw-r--r-- | include/template.class.php | 12 |
2 files changed, 20 insertions, 3 deletions
diff --git a/include/functions_html.inc.php b/include/functions_html.inc.php index 0ab3aae42..e78f823e8 100644 --- a/include/functions_html.inc.php +++ b/include/functions_html.inc.php @@ -361,10 +361,15 @@ function page_not_found($msg, $alternate_url=null) * this method can be called at any time (does not use template/language/user etc...) * @param string msg a message to display */ -function fatal_error($msg) +function fatal_error($msg, $title=null, $show_trace=true) { + if (empty($title)) + { + $title = 'Piwigo encountered a non recoverable error'; + } + $btrace_msg = ''; - if (function_exists('debug_backtrace')) + if ($show_trace and function_exists('debug_backtrace')) { $bt = debug_backtrace(); for ($i=1; $i<count($bt); $i++) @@ -377,7 +382,7 @@ function fatal_error($msg) } $display = "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'> -<h1>Piwigo encountered a non recoverable error</h1> +<h1>$title</h1> <pre style='font-size:larger;background:white;color:red;padding:1em;margin:0;clear:both;display:block;width:auto;height:auto;overflow:auto'> <b>$msg</b> $btrace_msg diff --git a/include/template.class.php b/include/template.class.php index a92e499a8..ec813efb3 100644 --- a/include/template.class.php +++ b/include/template.class.php @@ -52,6 +52,18 @@ class Template { $this->smarty->compile_check = $conf['template_compile_check']; $this->smarty->force_compile = $conf['template_force_compile']; + if (!is_writable($conf['local_data_dir'])) + { + load_language('admin.lang'); + fatal_error( + sprintf( + l10n('Give write access (chmod 777) to "%s" directory at the root of your Piwigo installation'), + basename($conf['local_data_dir']) + ), + l10n('an error happened'), + false // show trace + ); + } $compile_dir = $conf['local_data_dir'].'/templates_c'; mkgetdir( $compile_dir ); |