Turnerj
ae8dbe309b
FEATURE - Added maximum upload file size by type
...
This support is on both an instance level and a global default level.
2015-03-31 21:57:32 +10:30
Damian Mooyman
319b96b48b
Merge remote-tracking branch 'origin/3.1' into 3
...
Conflicts:
docs/en/02_Developer_Guides/09_Security/04_Secure_Coding.md
docs/en/05_Contributing/01_Code.md
forms/TreeDropdownField.php
model/DataObject.php
security/Member.php
tests/model/DataObjectTest.php
2015-03-11 11:40:06 +13:00
wernerkrauss
033582abcc
Fixed typo in HtmlType translation key
2015-03-10 11:24:03 +01:00
Christopher Darling
2da0ebe148
Renamed IMagickBackend to ImagicBackend
...
Also updated config:: to Config:: on line #52
2015-02-27 11:19:09 +00:00
Damian Mooyman
88fdc75456
Merge remote-tracking branch 'composer/3.1' into 3
...
Conflicts:
.editorconfig
docs/en/00_Getting_Started/00_Server_Requirements.md
docs/en/00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_IIS7.md
docs/en/00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_Platform_Installer.md
docs/en/00_Getting_Started/04_Directory_Structure.md
docs/en/00_Getting_Started/index.md
docs/en/01_Tutorials/01_Building_A_Basic_Site.md
docs/en/01_Tutorials/02_Extending_A_Basic_Site.md
docs/en/01_Tutorials/03_Forms.md
docs/en/01_Tutorials/04_Site_Search.md
docs/en/01_Tutorials/05_Dataobject_Relationship_Management.md
docs/en/01_Tutorials/index.md
docs/en/02_Developer_Guides/00_Model/01_Data_Model_and_ORM.md
docs/en/02_Developer_Guides/00_Model/11_Scaffolding.md
docs/en/02_Developer_Guides/01_Templates/06_Themes.md
docs/en/02_Developer_Guides/03_Forms/How_Tos/Simple_Contact_Form.md
docs/en/02_Developer_Guides/05_Extending/05_Injector.md
docs/en/02_Developer_Guides/09_Security/04_Secure_Coding.md
docs/en/02_Developer_Guides/10_Email/index.md
docs/en/02_Developer_Guides/11_Integration/01_RestfulService.md
docs/en/02_Developer_Guides/12_Search/01_Searchcontext.md
docs/en/02_Developer_Guides/14_Files/index.md
docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/03_CMS_Layout.md
docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/06_Javascript_Development.md
docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/How_Tos/Customise_CMS_Tree.md
docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/How_Tos/Customise_Site_Reports.md
docs/en/02_Developer_Guides/18_Cookies_And_Sessions/01_Cookies.md
docs/en/04_Changelogs/3.1.9.md
docs/en/05_Contributing/00_Issues_and_Bugs.md
docs/en/05_Contributing/02_Release_Process.md
docs/en/05_Contributing/03_Documentation.md
filesystem/File.php
filesystem/GD.php
model/DataDifferencer.php
model/Versioned.php
security/BasicAuth.php
security/Member.php
tests/filesystem/FileTest.php
tests/forms/uploadfield/UploadFieldTest.php
tests/model/VersionedTest.php
tests/security/BasicAuthTest.php
2015-01-15 18:52:46 +13:00
Damian Mooyman
7816875e92
Fix file and uploadfield permissions
2015-01-12 10:56:25 +13:00
Damian Mooyman
644f38f2d6
Merge pull request #3726 from willmorgan/bugfixes/gd-image-exists
...
FIX: GD - check file exists before getimagesize
2014-12-12 08:30:39 +13:00
Will Morgan
b5c361a66c
FIX: GD - check file exists before getimagesize
...
Use is_readable to check the file exists and is readable
2014-12-11 15:21:38 +00:00
JorisDebonnet
af47a63322
File.php: support for MS Office template / macro files
...
Fixes #3692
2014-12-04 21:57:31 +01:00
Damian Mooyman
0b1f297873
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
.travis.yml
README.md
admin/code/LeftAndMain.php
admin/css/screen.css
admin/scss/screen.scss
api/RestfulService.php
conf/ConfigureFromEnv.php
control/injector/ServiceConfigurationLocator.php
control/injector/SilverStripeServiceConfigurationLocator.php
core/ClassInfo.php
core/Object.php
css/AssetUploadField.css
css/ComplexTableField_popup.css
dev/CSSContentParser.php
dev/DevelopmentAdmin.php
docs/en/changelogs/index.md
docs/en/misc/contributing/code.md
docs/en/reference/execution-pipeline.md
filesystem/GD.php
filesystem/ImagickBackend.php
filesystem/Upload.php
forms/Form.php
forms/FormField.php
forms/HtmlEditorConfig.php
forms/gridfield/GridFieldDetailForm.php
forms/gridfield/GridFieldSortableHeader.php
lang/en.yml
model/Aggregate.php
model/DataList.php
model/DataObject.php
model/DataQuery.php
model/Image.php
model/MySQLDatabase.php
model/SQLQuery.php
model/fieldtypes/HTMLText.php
model/fieldtypes/Text.php
scss/AssetUploadField.scss
search/filters/SearchFilter.php
security/Authenticator.php
security/LoginForm.php
security/Member.php
security/MemberAuthenticator.php
security/MemberLoginForm.php
security/Security.php
tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php
tests/control/HTTPTest.php
tests/control/RequestHandlingTest.php
tests/filesystem/UploadTest.php
tests/forms/FormTest.php
tests/forms/NumericFieldTest.php
tests/model/DataListTest.php
tests/model/DataObjectTest.php
tests/model/TextTest.php
tests/security/MemberAuthenticatorTest.php
tests/security/SecurityDefaultAdminTest.php
tests/view/SSViewerCacheBlockTest.php
tests/view/SSViewerTest.php
2014-11-18 12:45:54 +13:00
Jeremy Shipman
392ddef2e8
FIX: Image resizing breaks when one of the resized image dimensions is between 0 and 1.
...
Solution: Round up to 1 instead of down to 0.
Converted php errors to exceptions in the process.
2014-10-30 14:21:04 +13:00
Devlin
478edfa0c6
BUG Upload: File versioning with existing files
...
reinsert oldFilePath = relativeFilePath in while loop
2014-10-22 08:48:55 +13:00
Thierry François
bbc1cb8270
FIX #3458 iframe transport multi file upload FIX #3343 , FIX #3148
...
UploadField now handles multiple file upload through iframe transport
correctly (mainly for IE) as well as upload errors on a per file basis.
2014-09-26 10:48:41 +03:00
Damian Mooyman
3ff4bf633e
Merge pull request #3407 from dhensby/pulls/file-link
...
Removing duplicate code and keeping File API consistent
2014-09-26 12:16:34 +12:00
Sean Harvey
6d12cf372e
Merge pull request #2921 from JayDevlin/2904-upload-file-versioning
...
BUG Upload: file versioning uses illegal underscore in filename
2014-09-24 15:59:53 +12:00
Sean Harvey
07eef2ece2
Removing deprecated class/functions marked for deprecation in 3.0/3.1
2014-08-25 12:06:05 +12:00
Daniel Hensby
6577324a9c
Removing duplicate code and keeping File API consistent
2014-08-20 11:18:18 +01:00
Sean Harvey
8bd867ef4e
Merge pull request #3334 from jedateach/fixes/imagick-padresize
...
Image Magick PaddedResize fix
2014-08-19 14:19:13 +12:00
Jeremy Shipman
bf3ad56674
FIX: Image_Backend -> croppedResize function doesn't include a backgroundColor, therefore this shouldn't be assumed in ImageMagick->croppedResize
2014-08-19 12:24:45 +12:00
Jeremy Shipman
02265dc3c4
FIX: Correctly paddedResize images in IMagickBackend.
...
FIX: Compression quality setting now takes effect.
fixes #3333
2014-08-19 12:24:07 +12:00
Jeremy Shipman
47cc157d97
FIX: Keep ImagickBackend API consistent with Image_Backend interface and fix color formatting.
2014-08-19 12:24:07 +12:00
Damian Mooyman
eb069e605d
Remove all redundant whitespace
2014-08-19 09:17:15 +12:00
Mateusz Uzdowski
8bf3853887
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
docs/en/misc/contributing/issues.md
docs/en/reference/uploadfield.md
forms/HtmlEditorField.php
i18n/i18n.php
javascript/HtmlEditorField.js
model/DB.php
model/Image.php
model/SQLQuery.php
2014-08-14 09:08:26 +12:00
Sean Harvey
5491a5dadc
Use Injector to create default Upload_Validator instance
...
Allows this class to be swapped out with a custom Upload_Validator
globally, without having to call Upload::setValidator() everywhere.
2014-07-28 16:28:38 +12:00
Loz Calver
791ee7171b
API: Prevent large images from repeatedly crashing PHP on resize
2014-07-16 09:18:51 +01:00
Damian Mooyman
d8e9af8af8
API New Database abstraction layer. Ticket #7429
...
Database abstraction broken up into controller, connector, query builder, and schema manager, each independently configurable via YAML / Injector
Creation of new DBQueryGenerator for database specific generation of SQL
Support for parameterised queries, move of code base to use these over escaped conditions
Refactor of SQLQuery into separate query classes for each of INSERT UPDATE DELETE and SELECT
Support for PDO
Installation process upgraded to use new ORM
SS_DatabaseException created to handle database errors, maintaining details of raw sql and parameter details for user code designed interested in that data.
Renamed DB static methods to conform correctly to naming conventions (e.g. DB::getConn -> DB::get_conn)
3.2 upgrade docs
Performance Optimisation and simplification of code to use more concise API
API Ability for database adapters to register extensions to ConfigureFromEnv.php
2014-07-09 18:04:05 +12:00
Damian Mooyman
e9c3ff933f
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
.travis.yml
composer.json
2014-05-06 10:22:09 +12:00
Hamish Friedlander
8e841cc471
FIX folder Title not being exactly the same as Name field if setName modified the value
2014-05-02 14:41:10 +12:00
Damian Mooyman
2e73dcb891
API Remove swf,html,htm,xhtml,xml as default allowed upload able file types
2014-04-29 11:09:30 +12:00
Damian Mooyman
982ad569b9
Merge remote-tracking branch 'origin/3.1'
2014-04-22 12:09:51 +12:00
Stephen Holdaway
3be01968ec
Delete formatted images after image upload
...
This change fixes an issue where old/existing formatted images are used
when a filename is reused (by overwrite or by coincidence), regardless
of if the file contents have changed. To users this mainly manifests
as a file overwrite appearing not to work; the thumbnails in the CMS
show the original image until regeneration is forced.
Calling Image::deleteFormattedImages() after image upload ensures that
no stagnant formatted images will be used.
2014-04-08 14:33:44 +12:00
Simon Welsh
fe8dc50ffc
Merge branch '3.1'
...
Conflicts:
tests/view/SSViewerTest.php
2014-03-30 18:17:24 +13:00
Nathan Glasl
398e5bc688
Cast TreeTitle to HTMLText
...
Closes #2989
2014-03-30 18:01:05 +13:00
Devlin
0096ab0d3d
Upload: refactor file versioning
2014-03-24 11:45:37 +01:00
Simon Welsh
8f31352039
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
.travis.yml
2014-03-16 09:36:48 +13:00
Simon Welsh
d28a323fbd
Merge pull request #2941 from torleif/patch-3
...
Updated find_or_make() documentation
2014-03-15 21:55:06 +13:00
Simon Welsh
279b927df1
Merge pull request #2903 from tractorcow/pulls/fix-fileupload-fileexists
...
BUG Fix issues with uploading to /assets
2014-03-15 21:02:36 +13:00
torleif
76e689b8c0
Updated find_or_make() documentation
...
See: https://github.com/silverstripe/silverstripe-framework/pull/2903#issuecomment-37252948
2014-03-11 14:26:08 +13:00
Simon Welsh
d431e98ecf
Merge branch '3.1'
...
Conflicts:
forms/Form.php
forms/FormField.php
security/Member.php
security/MemberLoginForm.php
2014-03-10 22:58:49 +13:00
Devlin
3c1e82b42c
Upload: retrieve existing File if an object without an ID is given and replaceFile=true
2014-03-04 18:02:33 +01:00
Damian Mooyman
c1e0f98f87
BUG Fix case where setFolder('/') would break UploadField::fileexists
...
BUG Prevent Upload from writing to the site root folder
2014-02-27 14:23:32 +13:00
Igor
3e5ac7cdcc
Update File.php
...
Adding warning, took me a couple hours to figure this out...
The file does not get moved because of this line:
https://github.com/silverstripe/silverstripe-framework/blob/3.1/filesystem/File.php#L515
Maybe add to the method doc, telling people to set ParentId and Name instead if they want to change the location of a file (if that's the correct method).
2014-02-26 14:09:09 +13:00
Damian Mooyman
ebeb663ddf
BUG Fixed critical issue with Folder::find_or_make failing to handle invalid filename characters
...
BUG Fix UploadField duplicate checking with invalid folderName
2014-02-21 09:11:34 +13:00
Ingo Schommer
caecc05b0b
Upload path regression caused by 3d24079
2014-02-19 16:39:10 +13:00
Sean Harvey
9048eab4a2
Merge branch '3.1'
2014-02-12 11:06:54 +13:00
Ingo Schommer
3d24079d15
Use filtered file paths in upload ( fixes #2836 )
2014-02-09 19:24:09 +13:00
Ingo Schommer
0d7e9a9692
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
_config/routes.yml
docs/en/topics/datamodel.md
forms/DropdownField.php
2014-02-04 08:19:04 +13:00
Ingo Schommer
124886a7f9
Merge pull request #2799 from yearofthegus/document-magic-members
...
Documented magic properties of DataObject
2014-01-30 18:26:23 -08:00
Ingo Schommer
ab070944d5
Merge branch 'pulls/apidocs-package-list' of https://github.com/madmatt/silverstripe-framework into madmatt-pulls/apidocs-package-list
...
Conflicts:
view/SSTemplateParser.php
view/SSTemplateParser.php.inc
2014-01-31 15:15:59 +13:00
Gus King
5797efa263
Documented magic properties of DataObject
2014-01-26 00:11:32 -05:00
Will Rossiter
0b22ca6c59
FIX: Ignore current instance when checking for duplicate records ( Fixes #1927 )
2014-01-12 20:54:55 +13:00
Martijn
668610941c
File validate should have extend hook
...
Currently you can't add validation rules to File thru a DataExtension.
This fixes this issue.
2013-12-16 17:07:33 +01:00
madmatt
bebe0f6e37
Updating @package and @subpackage doc tags
2013-11-29 17:49:30 +13:00
colymba
19928ff5e8
NEW GDBackend can save interlaced image
...
Disabled by default use config GDBackend.image_interlace: 1 to enable
2013-10-19 14:46:23 +03:00
unclecheese
b1ad10a42b
BUGFIX: Without casting TreeTitle as HTMLText, unescape HTML appears in TreeDropdownField
2013-09-27 14:46:17 +12:00
tazzydemon
ca2e7dad49
Update ImagickBackend.php
2013-08-25 11:37:00 +12:00
Simon Welsh
151baeede1
Correct line length and indentation
2013-08-21 18:54:05 +12:00
CheeseSucker
3d9e12baf4
ENHANCEMENT: Allow programmers to set OwnerID for new files.
...
NOTE: This change should be reviewed to make sure it does not cause any side effects.
Example use case:
An admin porting user images from an old website.
The script would put the images in the assets folder,
and then insert them into the database using Image::write()
and data from the old database.
public function insertImage($data) {
$image = new Image();
$image->ParentID = $data->parentId;
$image->Title = $data->title;
$image->FileName = $data->filename;
$image->OwnerID = $data->ownerId;
$image->write();
// In the current version, this results in all images
// being owned by Member::currentUser() instead of
// the expected $data->ownerId;
}
2013-06-14 18:30:09 +02:00
CheeseSucker
6ce2a90f19
Fixes a translation issue where a parameter isn't replaced.
...
Whenever File::Validate() failed due to an illegal file extension, it printed the translated message without replacing the parameter {extensions}.
2013-06-14 00:08:44 +03:00
Ingo Schommer
fbfcb6d8aa
New video formats in allowed_extensions
...
See https://github.com/silverstripe/silverstripe-installer/pull/41
2013-05-29 18:22:47 +02:00
Ingo Schommer
4b21f9f6ad
Merge branch '3.1-uploadfield-enhancement' of git://github.com/tractorcow/sapphire into tractorcow-3.1-uploadfield-enhancement
2013-05-29 17:11:15 +02:00
Daniel Hensby
295f76e331
FIX Making path names consistent
...
I've changed the variables to use the absolute path as the path is unhelpful for debugging and this is more consistent with the other lines of code below
2013-05-28 19:08:59 +02:00
Damian Mooyman
7f057ce343
API UploadField functions on new records
...
Fixed regression from 1e5d40474d
(UploadField::canPreviewFolder).
Merged in pull request #2009 - (6018bdd631
).
Merged pull request #1259 (34bfc862ee
).
2013-05-27 15:22:59 +12:00
Julian Seidenberg
22c7bbfcd4
NEW UploadField displays a warning before overwriting files (only relevant if config.yml: Upload:replaceFile = true).
2013-05-25 19:07:06 +12:00
Will Rossiter
cf31114813
Merge pull request #1939 from chillu/pulls/folder-creation
...
Recursive folder creation in Upload
2013-05-14 02:00:06 -07:00
Sean Harvey
ebac1bf06e
BUG Fixing Filesystem::sync breaking subsite pages with same URLSegments
...
Filesystem::sync() tries to run through all pages, without caring
which subsite the page came from. The problem with this is
code in SiteTree::validURLSegment() will return invalid information,
as it will check if the page exists, thinking it does, return false,
then the page will get a new URLSegment written, e.g. "home-2".
Instead of disabling the subsite filter in Filesystem::sync(), this
fix will just loop through each subsite and sync each subsite's pages
individually before doing the main site.
2013-05-14 09:45:14 +12:00
Ingo Schommer
68af8409a5
Recursive folder creation in Upload
2013-05-13 15:47:34 +02:00
Will Rossiter
1a36bb628e
API: Add sync_blacklisted_patterns for configuring files to skip in sync tasks
...
Fixes http://open.silverstripe.org/ticket/6210 .
Replaces the hardcoded file patterns from Folder::syncChildren() with a new static Filesystem::$sync_blacklisted_patterns to describe files and folder names to skip when running Folder::sync().
Added unit test for Folder::sync()
Extended Folder::sync() to report on the number of file / folders skipped.
2013-05-11 16:06:14 +12:00
Ingo Schommer
3b02d22989
Merge remote-tracking branch 'origin/3.0' into 3.1
...
Conflicts:
dev/CsvBulkLoader.php
2013-05-09 10:34:20 +02:00
Ingo Schommer
36906f794b
Merge pull request #1845 from a2nt/imagemagick_fix
...
FIX ImageMagick cropped resize
2013-05-08 00:45:20 -07:00
Tony Air
00b8ffd05f
FIX File class typo
2013-05-08 01:27:34 +07:00
a2nt
197516b94f
FIX ImageMagick cropped resize
2013-05-07 22:07:58 +07:00
Ingo Schommer
2523dfbe95
Enforcing extension-less file validation ( fixes #1767 )
...
By default, File.allowed_extensions contains '' (no extension),
but if you specifically remove it, the validation should pick it up.
2013-04-17 10:21:59 +02:00
g4b0
c8e8b5147d
API: used call_user_func_array in order to have an arbitrary number of parameter for getFormattedImage ( fixes #1752 )
2013-04-11 16:51:36 +02:00
Ingo Schommer
f44d5b311e
Added *.gpx and *.kml to allowed_extensions (fixes installer/#33)
...
Also sorted exensions alphabetically
2013-04-03 10:52:00 +02:00
Ingo Schommer
1916a6e8f4
Fixed config API usage (unknown call to set())
2013-03-26 00:04:01 +01:00
Ingo Schommer
3334eafcb1
API Marked statics private, use Config API instead ( #8317 )
...
See "Static configuration properties are now immutable, you must use Config API." in the 3.1 change log for details.
2013-03-24 17:20:53 +01:00
Ingo Schommer
b282c9f8f3
Fixed deprecated GD usage
2013-03-19 10:51:39 +01:00
Ingo Schommer
83b24285fa
Merge pull request #1270 from oddnoc/gd-crop-preserve-alpha
...
BUG: Preserve alpha channel when cropping
2013-03-12 03:25:23 -07:00
Ingo Schommer
53e988bb09
Merge remote-tracking branch 'origin/3.1.0-beta2' into 3.1
2013-03-12 10:45:44 +01:00
Fred Condo
bb30c1e590
BUG: Preserve alpha channel when cropping
...
This keeps the alpha channel from turning black.
2013-03-11 15:19:09 -07:00
Zauberfisch
00d01aa6e3
BUGFIX: fixed file icon for uppercase file extensions
2013-03-07 16:13:21 +00:00
Ingo Schommer
af52de97e9
Merge pull request #1161 from chillu/pulls/uploadfield-replacefile
...
NEW Upload->replaceFile setting
2013-02-27 01:24:27 -08:00
Ingo Schommer
a86e4ee00c
Merge remote-tracking branch 'origin/3.0' into 3.1
...
Conflicts:
tests/injector/InjectorTest.php
tests/travis/before_script
2013-02-18 14:15:42 +01:00
Simon Welsh
b81386a431
Correct check for File subclass
2013-02-18 17:35:17 +13:00
Ingo Schommer
083b6b2164
NEW Upload->replaceFile setting
2013-02-05 19:28:24 +01:00
Ingo Schommer
86940aa684
Made hyphen escaping clearer in FileNameFilter and URLSegmentFilter
...
Does not actually change behaviour, but ensures that the hyphen
is not interpreted as a range identifier should it be placed
between two characters which PCRE regards as "rangeable".
2012-12-19 17:30:28 +01:00
Simon Welsh
b0121b541c
Add codesniffer that ensures indentation is with tabs.
2012-12-12 17:33:31 +13:00
Simon Welsh
fc5dd2994c
Add codesniffer that ensures indentation is with tabs.
2012-12-12 00:12:11 +13:00
Damian Mooyman
65002f6b83
BUG GD::greyscale did not correctly preserve alpha component of images Added test cases to test greyscale operation across various image formats Replaced various magic numbers with IMAGETYPE_XXX definitions
2012-12-04 09:47:26 +01:00
Ingo Schommer
414c006c8e
BUG Restore GD class to avoid breaking GD::set_default_quality() calls
...
Regression from d24b586
2012-11-27 11:20:19 +01:00
Ingo Schommer
c55c7c33f8
Merge branch '3.0'
...
Conflicts:
admin/code/CMSProfileController.php
composer.json
tests/model/DataObjectTest.php
2012-11-22 23:51:28 +01:00
Sean Harvey
a46838c436
Removed deprecated Folder::findOrMake(), use find_or_make() instead
2012-11-16 14:19:19 +13:00
Sean Harvey
5a98cddd87
Removing deprecated File::TreeTitle(), use File::getTreeTitle() instead
2012-11-15 14:43:14 +13:00
Sean Harvey
e52db56ac8
Removing deprecated validator functions on Upload
...
Use Upload_Validator instead.
2012-11-15 14:43:14 +13:00
Will Rossiter
af2ac1d8c5
FIX: include ImagickBackend only when Imagick installed
2012-11-11 15:13:36 +13:00
Sean Harvey
68826357cc
BUG Fixing non-object on file upload
...
Upload::load() assumes that a parent Folder always exists for a file
upload, but that's not always the case, and a non-object error is
given if no parent folder.
Check the folder exists first before getting the ID.
2012-11-08 21:28:05 +13:00
Sam Minnée
0238db4182
Merge pull request #898 from TheFrozenFire/feature-ImageBackend
...
ENHANCEMENT: Enable multiple image manipulation back-ends on the Image class
2012-11-04 20:03:57 -08:00
Sean Harvey
0f55a11a5a
Merge pull request #872 from chillu/pulls/file-permission
...
API File->canEdit() returns TRUE by default (not checking CMS perms)
2012-11-04 19:33:18 -08:00
Justin Martin
d24b586830
NEW: Enable multiple image manipulation back-ends on the Image class
2012-11-03 19:38:09 -07:00