diff --git a/modules/file/file.admin.controller.php b/modules/file/file.admin.controller.php index 6f8dfe2cd..09952be77 100644 --- a/modules/file/file.admin.controller.php +++ b/modules/file/file.admin.controller.php @@ -178,23 +178,6 @@ class fileAdminController extends file else $_SESSION['file_management'][$output->file_srl] = true; } } - - /** - * Change value from human readable to byte unit - * - * @param string $size_str Size string - * @return int The byte value for input - */ - function _changeBytes($size_str) - { - switch (substr ($size_str, -1)) - { - case 'M': case 'm': return (int)$size_str * 1048576; - case 'K': case 'k': return (int)$size_str * 1024; - case 'G': case 'g': return (int)$size_str * 1073741824; - default: return $size_str; - } - } } /* End of file file.admin.controller.php */ /* Location: ./modules/file/file.admin.controller.php */ diff --git a/modules/file/file.admin.view.php b/modules/file/file.admin.view.php index 250d5fd61..4cc68621f 100644 --- a/modules/file/file.admin.view.php +++ b/modules/file/file.admin.view.php @@ -217,6 +217,10 @@ class fileAdminView extends file $oFileModel = getModel('file'); $config = $oFileModel->getFileConfig(); Context::set('config',$config); + $iniPostMaxSize = $this->_changeBytes(ini_get('post_max_size')); + $iniUploadMaxSize = $this->_changeBytes(ini_get('upload_max_filesize')); + $iniMinSize = min($iniPostMaxSize, $iniUploadMaxSize); + Context::set('upload_max_filesize',$this->_changeBytes($iniMinSize / 1048576)); // Set a template file $this->setTemplatePath($this->module_path.'tpl'); $this->setTemplateFile('adminConfig'); diff --git a/modules/file/file.class.php b/modules/file/file.class.php index a0a6f5ec4..93361ca43 100644 --- a/modules/file/file.class.php +++ b/modules/file/file.class.php @@ -150,6 +150,25 @@ class file extends ModuleObject function recompileCache() { } + + /** + * Change value from human readable to byte unit + * + * @param string $size_str Size string + * @return int The byte value for input + */ + function _changeBytes($size_str) + { + $unit = strtoupper(substr($size_str, -1)); + $size_str = (int)$size_str; + switch ($unit) + { + case 'G': $size_str *= 1024; + case 'M': $size_str *= 1024; + case 'K': $size_str *= 1024; + } + return $size_str; + } } /* End of file file.class.php */ /* Location: ./modules/file/file.class.php */ diff --git a/modules/file/file.model.php b/modules/file/file.model.php index 713ce080a..2e58e312e 100644 --- a/modules/file/file.model.php +++ b/modules/file/file.model.php @@ -238,7 +238,9 @@ class fileModel extends file if($logged_info->is_admin == 'Y') { - $size = preg_replace('/[a-z]/is', '', ini_get('upload_max_filesize')); + $iniPostMaxSize = $this->_changeBytes(ini_get('post_max_size')); + $iniUploadMaxSize = $this->_changeBytes(ini_get('upload_max_filesize')); + $size = min($iniPostMaxSize, $iniUploadMaxSize) / 1048576; $file_config->allowed_attach_size = $size; $file_config->allowed_filesize = $size; $file_config->allowed_filetypes = '*.*'; diff --git a/modules/file/tpl/adminConfig.html b/modules/file/tpl/adminConfig.html index 3730fe3d0..07fa7dff3 100644 --- a/modules/file/tpl/adminConfig.html +++ b/modules/file/tpl/adminConfig.html @@ -34,7 +34,7 @@