=== modified file 'modules/system/system.install' --- modules/system/system.install 2006-12-06 16:24:12 +0000 +++ modules/system/system.install 2006-12-07 12:46:14 +0000 @@ -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_WARNING, + 'description' => $error .' '. $t('You may need to set the correct directory at the !admin-file-system settings page or change the current directory\'s permissions so that it is writable.', array('!admin-file-system' => l($t('File system'), 'admin/settings/file-system'))), + ); + } + else { + if (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC) == FILE_DOWNLOADS_PUBLIC) { + $requirements['file system'] = array( + 'value' => $t('Writable and set to public download method'), + ); + } + else { + $requirements['file system'] = array( + 'value' => $t('Writable and set to private download method'), + ); + } + } + $requirements['file system']['title'] = $t('Files directory'); + } + // See if updates are available in update.php. if ($phase == 'runtime') { $requirements['update'] = array(