Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

FileIFrame "Ignoring" Allowed Extensions


Reply

4 Posts   1425 Views

Avatar
Ben Gribaudo

8 April 2009 at 2:01am Community Member, 181 Posts

Hello,

How do you get FileIFrame->setAllowedExtensions() to work?

While using trunk (revision 74232) today, I noticed that even though I had a call to $fileField->setAllowedExtensions(array('pdf')); appropriately located in getCMSFields(), uploads weren't constrained to files with the pdf extension. Upon further investigation, I found that getCMSFields() is only called when the given page is loaded into the editor. Subsequent FileIFrame activity (such processing an upload) doesn't reload the entire page, meaning that getCMSFields() is not called. When uploading a file, a new FileIFrame instance is created which does not know about the call to setAllowedExtensions() in getCMSFields(). So we have a problem.

Any ideas on how to work around this?

Thanks,
Ben

Avatar
ajshort

8 April 2009 at 9:42am Community Member, 244 Posts

It's a known bug - FileIFrameField and ImageField are currently based on a hacky Image_Uploader class that is completely decoupled from the original form (they were created before the nested controller stuff). This means that setAllowedExtensions, setMaxFileSize() and setFolderName() won't work. Permissions are a bit fudgy as well.

There's currently a couple of tickets in trac about getting this sorted - and I'm waiting for a patch of mine to fix this to be reviewed (and hopefully merged :) ).

Avatar
Ben Gribaudo

9 April 2009 at 1:59am Community Member, 181 Posts

Thanks for the info, AJ! What's your patch's ticket #?

Ben

Avatar
Judge

24 February 2010 at 4:03pm Community Member, 79 Posts

Is this issue still open? I'm finding setFolderName() and other limits are being ignored when the AJAX uploads are used with FileField and FileIFrameField. I'm using SS 2.3.4

Seems like a bit of a security hole too...?

-- Jason