Index: core/kernel/globals.php =================================================================== --- core/kernel/globals.php +++ core/kernel/globals.php @@ -997,6 +997,33 @@ } } + /** + * Parse ini size + * + * @param string $size Size. + * + * @return integer + */ + public static function parseIniSize($size) + { + $result = (int)$size; + $size = strtolower($size); + + if ( strpos($size, 'k') ) { + return $result * 1024; + } + + if ( strpos($size, 'm') ) { + return $result * 1024 * 1024; + } + + if ( strpos($size, 'g') ) { + return $result * 1024 * 1024 * 1024; + } + + return $result; + } + } /** Index: core/kernel/startup.php =================================================================== --- core/kernel/startup.php +++ core/kernel/startup.php @@ -114,7 +114,13 @@ define('IMAGES_PATH', WRITEBALE_BASE . '/images/'); define('IMAGES_PENDING_PATH', IMAGES_PATH . 'pending/'); - define('MAX_UPLOAD_SIZE', min(ini_get('upload_max_filesize'), ini_get('post_max_size'))*1024*1024); + + $upload_limit = kUtil::parseIniSize(ini_get('upload_max_filesize')); + $post_max_size = ini_get('post_max_size'); + $upload_limit = $post_max_size !== '0' ? min($upload_limit, kUtil::parseIniSize($post_max_size)) : $upload_limit; + $memory_limit = ini_get('memory_limit'); + $upload_limit = $memory_limit !== '-1' ? min($upload_limit, kUtil::parseIniSize($memory_limit)) : $upload_limit; + define('MAX_UPLOAD_SIZE', $upload_limit); define('EDITOR_PATH', $vars['EditorPath']);