diff --git a/modules/upload/upload.admin.inc b/modules/upload/upload.admin.inc index ae0cee19f6659b8d8a1ebf06bf50c0191727004e..c22e7ed07f77712dac76996eb9555e3c6b169e98 100644 --- a/modules/upload/upload.admin.inc +++ b/modules/upload/upload.admin.inc @@ -20,14 +20,14 @@ function upload_admin_settings_validate($form, &$form_state) { if (!is_numeric($default_uploadsize) || ($default_uploadsize <= 0)) { form_set_error('upload_uploadsize_default', t('The %role file size limit must be a number and greater than zero.', array('%role' => t('default')))); } - if (!is_numeric($default_usersize) || ($default_usersize <= 0)) { - form_set_error('upload_usersize_default', t('The %role file size limit must be a number and greater than zero.', array('%role' => t('default')))); + if (!is_numeric($default_usersize) || ($default_usersize < 0)) { + form_set_error('upload_usersize_default', t('The %role file size limit must be a number zero or greater.', array('%role' => t('default')))); } if ($default_uploadsize * 1024 * 1024 > file_upload_max_size()) { form_set_error('upload_uploadsize_default', $exceed_max_msg . $more_info); $more_info = ''; } - if ($default_uploadsize > $default_usersize) { + if ($default_usersize && $default_uploadsize > $default_usersize) { form_set_error('upload_uploadsize_default', t('The %role maximum file size per upload is greater than the total file size allowed per user', array('%role' => t('default')))); } @@ -38,14 +38,14 @@ function upload_admin_settings_validate($form, &$form_state) { if (!is_numeric($uploadsize) || ($uploadsize <= 0)) { form_set_error('upload_uploadsize_' . $rid, t('The %role file size limit must be a number and greater than zero.', array('%role' => $role))); } - if (!is_numeric($usersize) || ($usersize <= 0)) { - form_set_error('upload_usersize_' . $rid, t('The %role file size limit must be a number and greater than zero.', array('%role' => $role))); + if (!is_numeric($usersize) || ($usersize < 0)) { + form_set_error('upload_usersize_' . $rid, t('The %role file size limit must be a number zero or greater.', array('%role' => $role))); } if ($uploadsize * 1024 * 1024 > file_upload_max_size()) { form_set_error('upload_uploadsize_' . $rid, $exceed_max_msg . $more_info); $more_info = ''; } - if ($uploadsize > $usersize) { + if ($usersize && $uploadsize > $usersize) { form_set_error('upload_uploadsize_' . $rid, t('The %role maximum file size per upload is greater than the total file size allowed per user', array('%role' => $role))); } } @@ -101,9 +101,9 @@ function upload_admin_settings() { '#type' => 'textfield', '#title' => t('Default total file size per user'), '#default_value' => $upload_usersize_default, - '#size' => 5, - '#maxlength' => 5, - '#description' => t('The default maximum size of all files a user can have on the site.'), + '#size' => 7, + '#maxlength' => 7, + '#description' => t('The default maximum size of all files a user can have on the site. Set to 0 for no restriction. The least restrictive limit is used, so setting this to 0 will disable any role-specific total file size limits.'), '#field_suffix' => t('MB'), ); @@ -139,9 +139,9 @@ function upload_admin_settings() { '#type' => 'textfield', '#title' => t('Total file size per user'), '#default_value' => variable_get('upload_usersize_' . $rid, $upload_usersize_default), - '#size' => 5, - '#maxlength' => 5, - '#description' => t('The maximum size of all files a user can have on the site.'), + '#size' => 7, + '#maxlength' => 7, + '#description' => t('The maximum size of all files a user can have on the site. Set to 0 for no restriction.'), '#field_suffix' => t('MB'), ); }