diff options
| -rw-r--r-- | engine/lib/actions.php | 15 | ||||
| -rw-r--r-- | languages/en.php | 4 | ||||
| -rw-r--r-- | views/default/admin/statistics/server/php.php | 17 | 
3 files changed, 34 insertions, 2 deletions
diff --git a/engine/lib/actions.php b/engine/lib/actions.php index c6613e6d6..3a7c02488 100644 --- a/engine/lib/actions.php +++ b/engine/lib/actions.php @@ -273,8 +273,19 @@ function validate_action_token($visibleerrors = TRUE, $token = NULL, $ts = NULL)  		} else if ($visibleerrors) {  			register_error(elgg_echo('actiongatekeeper:tokeninvalid'));  		} -	} else if ($visibleerrors) { -		register_error(elgg_echo('actiongatekeeper:missingfields')); +	} else { +		if (! empty($_SERVER['CONTENT_LENGTH']) && empty($_POST)) { +			// The size of $_POST or uploaded file has exceed the size limit +			$error_msg = elgg_trigger_plugin_hook('action_gatekeeper:upload_exceeded_msg', 'all', array( +				'post_size' => $_SERVER['CONTENT_LENGTH'], +				'visible_errors' => $visibleerrors, +			), elgg_echo('actiongatekeeper:uploadexceeded')); +		} else { +			$error_msg = elgg_echo('actiongatekeeper:missingfields'); +		} +		if ($visibleerrors) { +			register_error($error_msg); +		}  	}  	return FALSE; diff --git a/languages/en.php b/languages/en.php index 7b51b0c7d..ff730a018 100644 --- a/languages/en.php +++ b/languages/en.php @@ -741,6 +741,9 @@ $english = array(  	'admin:server:label:mem_avail' => 'Memory available',  	'admin:server:label:mem_used' => 'Memory used',  	'admin:server:error_log' => "Web server's error log", +	'admin:server:label:post_max_size' => 'POST maximum size', +	'admin:server:label:upload_max_filesize' => 'Upload maximum size', +	'admin:server:warning:post_max_too_small' => '(Note: <code>post_max_size</code> must be larger than this value to support uploads of this size)',  	'admin:user:label:search' => "Find users:",  	'admin:user:label:searchbutton' => "Search", @@ -1171,6 +1174,7 @@ You cannot reply to this email.",  	'actiongatekeeper:tokeninvalid' => "We encountered an error (token mismatch). This probably means that the page you were using expired.",  	'actiongatekeeper:timeerror' => 'The page you were using has expired. Please refresh and try again.',  	'actiongatekeeper:pluginprevents' => 'A extension has prevented this form from being submitted.', +	'actiongatekeeper:uploadexceeded' => 'The size of file(s) uploaded exceeded the limit set by your site administrator',  /** diff --git a/views/default/admin/statistics/server/php.php b/views/default/admin/statistics/server/php.php index 4a59b95fb..7c6a51383 100644 --- a/views/default/admin/statistics/server/php.php +++ b/views/default/admin/statistics/server/php.php @@ -8,6 +8,15 @@ if (!$php_log) {  	$php_log = elgg_echo('admin:server:error_log');  } +$post_max_size = elgg_get_ini_setting_in_bytes('post_max_size'); +$upload_max_filesize = elgg_get_ini_setting_in_bytes('upload_max_filesize'); + +$post_max_size_warning = ''; +if ($upload_max_filesize > $post_max_size) { +	// @todo show a link to something like http://nigel.mcnie.name/blog/uploadmaxfilesizepostmaxsize-experimentation ? +	$post_max_size_warning = elgg_echo('admin:server:warning:post_max_too_small'); +} +  ?>  <table class="elgg-table-alt">  	<tr class="odd"> @@ -30,4 +39,12 @@ if (!$php_log) {  		<td><b><?php echo elgg_echo('admin:server:label:mem_used'); ?> :</b></td>  		<td><?php echo number_format(memory_get_peak_usage()); ?></td>  	</tr> +	<tr class="even"> +		<td><b><?php echo elgg_echo('admin:server:label:post_max_size'); ?> :</b></td> +		<td><?php echo number_format($post_max_size); ?></td> +	</tr> +	<tr class="odd"> +		<td><b><?php echo elgg_echo('admin:server:label:upload_max_filesize'); ?> :</b></td> +		<td><?php echo number_format($upload_max_filesize) . '  ' . $post_max_size_warning; ?></td> +	</tr>  </table>  | 
