Unfortunately, Internet Explorer 6 discards the description and simply provides a generic (worthless) message. This page provides details and a simple fix.
500 - Internal server error
http://lib-graphics.info/wp-admin/media.php?action=edit&attachment_id=295 |
if ( !current_user_can('edit_post', $att_id) ) wp_die ( __('You are not allowed to edit this attachment.') ); |
500 - Internal server error. |
and nothing else of value. (Some products seem to always choose "user hostile" when an option is provided.) There are many pages pretending to address this problem. Basically, they say something about IE requiring at least 512 bytes to show the error. (I proved beyond any doubt that that is not the problem in this case.)
Unfortunately, Internet Explorer 6 decides that no useful information is associated with the 500 error and, therefore, only a generic (translate that to mean worthless) message is displayed.
This is the problem code in wp_die() located in functions.php
$defaults = array( 'response' => 500 ); |
Well, people can point fingers all day ... but if the number one browser decides not to follow spec (which is what some people claim), then it is up to the application (read that WordPress) developers to implement something that works reasonably well. (The current performance is pretty lame!) I simply added this after the code above.
if (is_string( $message ) && !headers_sent() ){ $defaults = array( 'response' => 200 ); $message = "<center><h3>Internal Server Error</h3></center>\n<p>" . $message ; } |
(Of course, I would have never found this design problem if it wasn't for the design problems in upload.php. In total, I had to modify 3 core WordPress files to fix these problems.)
Author: Robert Clemenzi