- * Returns true whether the path is writable or we manage to make it
- * so, which essentially is the same thing.
- * @param $path is the file or directory to be tested.
- * @return true if $path is writable.
- */
-function
-jirafeau_is_writable ($path)
-{
- /* "@" gets rid of error messages. */
- return is_writable ($path) || @chmod ($path, 0777);
-}
-
-function
-jirafeau_check_var_dir ($path)
-{
- $mkdir_str1 = t('The following directory could not be created') . ':';
- $mkdir_str2 = t('You should create this directory by hand.');
- $write_str1 = t('The following directory is not writable') . ':';
- $write_str2 = t('You should give the write right to the web server on ' .
- 'this directory.');
- $solution_str = t('Here is a solution') . ':';
-
- if (!jirafeau_mkdir ($path) || !jirafeau_is_writable ($path))
- return array ('has_error' => true,
- 'why' => $mkdir_str1 . '<br /><code>' .
- $path . '</code><br />' . $solution_str .
- '<br />' . $mkdir_str2);
-
- foreach (array ('files', 'links', 'async', 'block') as $subdir)
- {
- $subpath = $path.$subdir;
-
- if (!jirafeau_mkdir ($subpath) || !jirafeau_is_writable ($subpath))
- return array ('has_error' => true,
- 'why' => $mkdir_str1 . '<br /><code>' .
- $subpath . '</code><br />' . $solution_str .
- '<br />' . $mkdir_str2);
- }