ZipDirectoryReaderError subclasses Exception, and sets the code property as a
string. Php's documentation says this should be an int, so this is already a
little bit weird.
Under Hiphop, calling the parent constructor without the second parameter will
set the code property to 0, because the parameter defaults to 0. This leads to
uploads breaking, because calls to getErrorCode return 0 rather than the code
that was passed in.
The change renames the code property to errorCode, so it can't be confused with
exception's code property, which should be an int.
https://bugzilla.wikimedia.org/show_bug.cgi?id=39346
Patch by Chris Keeline <ckeeline@fb.com>
Change-Id: I9b07a5f7f8ba7c980c0cb0da7b65816dc3b97c4c
* Removed the ZIP subtypes from $wgMimeTypeBlacklist, they no longer need to be there.
* Added ZipDirectoryReader. Added some small ZIP files which are used to test its various error cases. Most were constructed with a hex editor.
* Fixed getStatusArray() to return a consistent type regardless of whether the error message has parameters. This allows error messages with no parameters to work with the Status object conversion code in UploadBase::verifyFile().