Commit Graph

446 Commits

Author SHA1 Message Date
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
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