summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/attachment.pm
AgeCommit message (Collapse)Author
2008-07-08attachment: Support perl 5.8's buggy version of CGI.pm.Joey Hess
This is truely horribly disgusting. CGI::tmpFileName, in current perls, is an undocumented function (which should be a clue..) that takes the original filename of an uploaded attachment, and returns the name of the tempfile that CGI has stored it in. In old perls, though, CGI::tmpFileName does not take a filename. It takes a key from the object's {'.tmpfiles'} hash. This key is something crazy like '*Fh::fh00001group' -- apparently the stringification of a filehandle object. Just to add to the fun, tmpFileName doesn't take the key, it expects a refernce to the key. Argh?! But the fun doesn't stop there, because in perl 5.8, CGI.pm is also broken in two other ways. The upload() method is supposed to return a filehandle to the temp file. It doesn't. The param() method is supposed to return a filehandle to the temp file, that stringifies to the original filename. It returns just the original filename, no filehandle. Combine all these bugs, and you end up with this disgusting commit. Since I have no way to get the filehandle, I *need* to get the tempfile name. If I had the filehandle, I could probably pass it into tmpFileName, and it might strigify to the right key name. But I don't, so the only way to determine the key is to grub through the .tmpfiles hash ourselves. And finally, one the temp file name is discovered, a filehandle can finally be obtained by (re)opening it. I recommend that this commit be reverted when perl 5.8 is a mercifully faded memory. I'm really, really, really glad I'm actually being paid for working on this right now!
2008-07-08explicitly set form type to multipartJoey Hess
This is the default in unstable's formbuilder, but not in stable's, and CGI multipart is needed for fule uploads.
2008-07-08check for tempfile being emptyJoey Hess
2008-07-08undef $fh before openingJoey Hess
2008-07-08another try at dealing with CGI.pm problemJoey Hess
open the temp file if all attempts to get a fd fail
2008-07-08attachment: Support old versions of CGI.pm that lack an upload method.Joey Hess
2008-07-08attachment: Fix an uninitialised value warning when editing a page that ↵Joey Hess
currently has no attachments.
2008-07-06add virus checking to attachments pluginJoey Hess
2008-07-06avoid uninitialised value warningsJoey Hess
2008-07-02link to pagespec/attachmentJoey Hess
2008-07-02factor out glob2reJoey Hess
2008-07-02add mimetype checkingJoey Hess
2008-07-02add user and ip support to attachment pagespecsJoey Hess
2008-07-02xhtml fixesJoey Hess
2008-07-02attachments interface visibility togglingJoey Hess
2008-07-01fixesJoey Hess
2008-07-01some fit and finish fixesJoey Hess
2008-07-01only show one sig figJoey Hess
2008-07-01display human sizesJoey Hess
2008-07-01add both kinds of linksJoey Hess
2008-07-01basic attachment listJoey Hess
2008-07-01save attachments when page is saved tooJoey Hess
A user might specify an attachment, but not click the upload button, and just save the whole page instead.
2008-07-01check attachments in and refreshJoey Hess
2008-07-01add allowed attachments field to admin prefsJoey Hess
2008-07-01fix expensive move code pathJoey Hess
2008-07-01better approach for cgi upload disablingJoey Hess
Make it a config setting, this way subtle load order issues don't come into play. (As much?)
2008-07-01bugfixesJoey Hess
2008-07-01attachment locationJoey Hess
Put the attachment in a subdir of the page it's attached to, unless that page is an "index" page.
2008-07-01reorderJoey Hess
canedit should fail first as it's a less expensive and harder to pass test
2008-07-01call check_caneditJoey Hess
Needed to prevent uploads of locked pages as attachments.
2008-07-01bugfix; support pagetype of "0"Joey Hess
2008-07-01copy the attachment into srcdirJoey Hess
2008-06-30fix some messagesJoey Hess
2008-06-30add an ispage limitJoey Hess
2008-06-30minor improvementsJoey Hess
2008-06-30basic attachment plugin, unfinishedJoey Hess
Currently includes UI, and a few tests of the attachment, as well as the framework to extend pagespecs to test attachments. Does not actually save the file yet.