From 455f0c2602350f229e6f58d624790c3d7448a68b Mon Sep 17 00:00:00 2001 From: Paul Merrill Date: Thu, 4 Nov 2010 04:30:23 -0700 Subject: [PATCH] Improved large file size error message. --- inc/config.php | 4 ++-- inc/display.php | 2 +- inc/functions.php | 16 +++++++++++++++- post.php | 9 +++++++-- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/inc/config.php b/inc/config.php index 44dc60ec..fbaca0d8 100644 --- a/inc/config.php +++ b/inc/config.php @@ -40,7 +40,7 @@ define('ERROR_NOMOVE', 'The server failed to handle your upload.'); define('ERROR_FILEEXT', 'Unsupported image format.'); define('ERR_INVALIDIMG','Invalid image.'); - define('ERR_FILSIZE', 'The file was too large.'); + define('ERR_FILESIZE', 'Maximum file size: %maxsz% bytes
Your file\'s size: %filesz% bytes'); define('ERR_MAXSIZE', 'The file was too big.'); // For resizing, max values @@ -48,7 +48,7 @@ define('THUMB_HEIGHT', 200); // Maximum image upload size in bytes - define('MAX_FILESIZE', 1048576); // 10MB + define('MAX_FILESIZE', 10*1024*1024); // 10MB // Maximum image dimensions define('MAX_WIDTH', 10000); define('MAX_HEIGHT', MAX_WIDTH); diff --git a/inc/display.php b/inc/display.php index b988e3bc..92f6eca8 100644 --- a/inc/display.php +++ b/inc/display.php @@ -15,7 +15,7 @@ } function error($message) { - die(Element('page.html', Array('index' => ROOT, 'title'=>'Error', 'subtitle'=>'An error has occured.', 'body'=>"

$message

Go back.

"))); + die(Element('page.html', Array('index' => ROOT, 'title'=>'Error', 'subtitle'=>'An error has occured.', 'body'=>"

$message

Go back.

"))); } class Post { diff --git a/inc/functions.php b/inc/functions.php index b465488c..e251c054 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -1,4 +1,18 @@ $v) { + $replaces[$delim . $k . $delim] = $v; + } + return str_replace(array_keys($replaces), + array_values($replaces), $str); + } + + function commaize($n) { + $n = strval($n); + return (intval($n) < 1000) ? $n : commaize(substr($n, 0, -3)) . ',' . substr($n, -3); + } + function sql_open() { global $sql; $sql = @mysql_connect(MY_SERVER, MY_USER, MY_PASSWORD) or error('Database error.'); @@ -502,4 +516,4 @@ function int_to_word($n) { return chr($n & 255).chr(($n >> 8) & 255); } -?> \ No newline at end of file +?> diff --git a/post.php b/post.php index 94b80f8c..52048be8 100644 --- a/post.php +++ b/post.php @@ -74,8 +74,13 @@ $post['filename'] = $_FILES['file']['name']; $post['has_file'] = $OP || !empty($_FILES['file']['tmp_name']); - if($post['has_file'] && $_FILES['file']['size'] > MAX_FILESIZE) - error(ERR_FILSIZE); + if($post['has_file']) { + $size = $_FILES['file']['size']; + if($size > MAX_FILESIZE) + error(sprintf3(ERR_FILESIZE, array( + 'filesz'=>commaize($size), + 'maxsz'=>commaize(MAX_FILESIZE)))); + } $trip = generate_tripcode($post['name']); $post['name'] = $trip[0];