diff options
Diffstat (limited to 'modules/system/system.install')
-rw-r--r-- | modules/system/system.install | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/modules/system/system.install b/modules/system/system.install index 42c4728a9..475613d7c 100644 --- a/modules/system/system.install +++ b/modules/system/system.install @@ -106,6 +106,39 @@ function system_requirements($phase) { $requirements['cron']['title'] = $t('Cron maintenance tasks'); } + // Test files directory + if ($phase == 'runtime') { + $directory = file_directory_path(); + $is_writable = is_writable($directory); + $is_directory = is_dir($directory); + if (!$is_writable || !$is_directory) { + if (!$is_directory) { + $error = $t('The directory %directory does not exist.', array('%directory' => $directory)); + } + else { + $error = $t('The directory %directory is not writable.', array('%directory' => $directory)); + } + $requirements['file system'] = array( + 'value' => $t('Not writable'), + 'severity' => REQUIREMENT_ERROR, + 'description' => $error .' '. $t('You may need to set the correct directory at the <a href="@admin-file-system">file system settings page</a> or change the current directory\'s permissions so that it is writable.', array('@admin-file-system' => url('admin/settings/file-system'))), + ); + } + else { + if (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC) == FILE_DOWNLOADS_PUBLIC) { + $requirements['file system'] = array( + 'value' => $t('Writable (<em>public</em> download method)'), + ); + } + else { + $requirements['file system'] = array( + 'value' => $t('Writable (<em>private</em> download method)'), + ); + } + } + $requirements['file system']['title'] = $t('File system'); + } + // See if updates are available in update.php. if ($phase == 'runtime') { $requirements['update'] = array( |