Commit Graph

2376 Commits

Author SHA1 Message Date
Loz Calver 3e95fc51f7 Merge pull request #6490 from colintucker/fix-empty-db-installer-bug
Check if $database is empty before adding prefix/suffix
2017-01-12 09:31:29 +00:00
Colin Tucker d4db1f5189 Check if $database is empty before adding prefix/suffix 2017-01-12 11:24:33 +11:00
Robbie Averill a4bc9f49d1 FIX Regression in using template_main to render the Security area
* Introduced in 0cf477d36
* Should use the "template_main" static to decide which model to use for rendering this page
* Assuming SiteTree means any requirements added in Page and assumed to work everywhere will not
2017-01-12 13:11:40 +13:00
Robbie Averill 2d1d2aea79 FIX Remap versioned ClassNames during build process 2017-01-12 12:15:21 +13:00
Sam Minnee 6fc50cae5c FIX: Refactor TestMailer to better be base class
This small refactoring makes TestMailer better suited as a base class
for the behat-extension’s implementation, which means that we don’t
need to coordinate cross-module commits in dhensby’ SwiftMailer work.

See https://github.com/silverstripe/silverstripe-framework/pull/6466
2017-01-12 10:22:57 +13:00
Daniel Hensby 747c0770e7 Merge pull request #6446 from robbieaverill/feature/controllers-without-underscores
API Allow controller discovery without underscores (PSR-2 compliance)
2017-01-11 15:27:56 +00:00
Damian Mooyman b52a963ed7
ENHANCEMENT Remove jquery-ui button() api from default HTML editor dialog 2017-01-11 17:04:20 +13:00
Robbie Averill e4f67f6e2c Add extra backslashes and ungreedy modifier 2017-01-11 14:49:09 +13:00
Damian Mooyman 6b5efb91fd Merge pull request #6434 from open-sausages/features/4.0/ui-button-refresh
Refresh CMS UI buttons to new flat style and bootstrap classes
2017-01-11 14:22:25 +13:00
Robbie Averill 62eb0e6142 FIX Rename template parser from .inc to .peg so PHP doesn't include it automatically 2017-01-11 12:36:08 +13:00
Damian Mooyman d9034f5bfc
Remove redundant CMSSecurity.js dist file
Cleanup GridFieldFilterHeader / GridFieldSortableHeader
2017-01-11 12:00:01 +13:00
Robbie Averill 6fb49224b9 FIX SSViewer should resolve templates with or without underscores
* Capture fully qualified class name, without "Controller"
2017-01-11 09:59:28 +13:00
Robbie Averill c620063608 DOCS Update docs to reference `PageController` without an underscore, implement some PSR-2 2017-01-11 09:59:28 +13:00
Daniel Hensby a996e20e79 Merge pull request #6450 from mikenz/page-to-sitetree
ENHANCEMENT: Use SiteTree instead of Page class in more places
2017-01-10 16:02:15 +00:00
Daniel Hensby 8badad90df
FIX Make sure image backends implement method getImageResource 2017-01-10 15:15:51 +00:00
Daniel Hensby f3b6bb1470
Merge branch '3' 2017-01-10 14:31:07 +00:00
Damian Mooyman b62f9b60a0
BUG Fix broken member / group import
BUG GridFieldImportButton no longer only works on ModelAdmin
2017-01-10 17:57:54 +13:00
Christopher Joe 8118448a9c Fix PHP linting issues 2017-01-10 11:34:50 +13:00
Will Rossiter 56c2363909 Implement feedback fixes
Enhancement Fix ModelAdmin import form not POSTing to correct form
2017-01-10 11:05:58 +13:00
Paul Clarke e893fc4c51 Enhancement improve secondary action colours
Enhancement add accessibility info to page number
Enhancement new font icons added, improve trash icon and increase icon size of close
Enhancement improve title of gridfield search trigger
Enhancement add title to button to open gridfield search and improve gridfield search styles
API Shortcode fails if no parent
API JQuery-UI classes removed
Enhancement centre actions tabs within dropup in more-actions
Enhancement fix IE input height issue and fix for safari of icons in buttons with hidden text (e.g. pagination)
Enhancement only show external link on hover
2017-01-10 10:55:34 +13:00
Will Rossiter ddc9a9c6d6 Enhancement Fix up buttons within gridfield search
Enhancement Fix up batch actions button
2017-01-10 10:53:10 +13:00
Paul Clarke 7b90ee137d Enhancement resize icon to sit inline and increase size of search icon and Upload icon
Enhancement remove float from buttons as already aligned inline
Enhancement Align buttons in toolbar more consistently
API remove ui overrides
API ss-ui-button no longer exists so styles where not seen, removed nesting
2017-01-10 10:51:07 +13:00
Will Rossiter cb6ec11f1b Enhancement Implement import CSV icon and tidy up import forms
Enhancement Tidy up permission icons to new icon library
WIP The modal is a short term workaround until the UI is all react based but we wanted to do some cleanup prior to 4 release
API Remove ssui.button
Enhancement Update buttons to new flat bootstrap style
2017-01-10 10:49:15 +13:00
Paul Clarke 178bd480eb API Changes required for asset search behaviour 2017-01-09 14:55:20 +13:00
Ingo Schommer 3b50506aa0 Fail manipulateImage() without image resource
Sometimes a manipulation can’t be carried out, either because the backend isn’t available,
or because there isn’t enough PHP memory available. In these cases, $backend->getImageResource()
will be set to NULL. This should be picked up by manipulateImage(), to avoid passing an invalid
backend into the $callback provided.

The specific case this solves is calling Image->FitMax() on large images:
$resizedImage = $originalImage->FitMax(<width>, <height>)
This will have $resizedImage==$originalImage if the image is smaller than the targeted dimensions,
but with this fix $resizedImage==NULL if the image is too large to be resized.
Which gives custom code the ability to determine which of the two should be used,
for example choosing not to pass the original large image URL to the client
since it wouldn’t be considered a “thumbnail” size.
2017-01-06 18:45:56 +13:00
Ingo Schommer fcb511b1c0 Reinstated GDBackend->checkAvailableMemory()
This was removed as part of the SS4 assets refactor:
be239896d3
Presumably @tractorcow didn’t feel it’s possible to retain this,
because we don’t have local file handles required for getimagesize().
Since there’s getimagesizefromstring() as well (added in PHP 5.4),
we just needed a different logic branch.

Also makes the logic more resilient against missing GD resources on a backend.
Lack of available memory for a resize is only one (new) reason,
other edge cases were already causing these missing resources (e.g. an invalid file string).

Original discussion: https://groups.google.com/forum/m/#!topic/silverstripe-dev/B57a3KYeAVQ
Pull request for 3.x: https://github.com/silverstripe/silverstripe-framework/pull/2859
More context: https://github.com/silverstripe/silverstripe-framework/pull/2569
2017-01-06 18:45:56 +13:00
Ingo Schommer 6e561f00bd Force GC in GDBackend
This has been discussed previously, and was assumed to be handled by PHP automatically:
https://github.com/silverstripe/silverstripe-framework/issues/2739#issuecomment-32603005
It’s unclear if its a regression in SS4.

Tested with PHP 5.6.29, by setting xdebug breakpoints
and inspecting memory_get_usage() before and after GDBackend->manipulateImage().
Even a single 7MB JPEG straight from my DSLR (6000x300) can chomp bring the system from 30MB to >128MB memory use.
That’s in addition to the 7MB of PHP memory required for the $content variable.
Note that the image manipulations likely happen on the raw bitmap, which is much larger than the 7MB compressed JPEG.

Checked ImagickBackend, which doesn’t have this issue (and only uses about half the memory for the same set of images).
2017-01-06 18:45:56 +13:00
Daniel Hensby 9ee3be9337 Merge pull request #6449 from mikenz/show-query-number
ENHANCEMENT: Show the query count/query number when using showqueries
2017-01-03 12:04:47 +00:00
Mike Cochrane 0cf477d36e Use SiteTree instead of Page class in more places 2017-01-03 20:37:17 +13:00
Mike Cochrane 90fec4b8e7 Show the query count/query number when using showqueries 2017-01-03 18:13:44 +13:00
Mike Cochrane b43f2d57c2 Add mising use statements for showqueries=inline to work 2017-01-03 18:04:11 +13:00
Robbie Averill 6f4162ed74 FIX PHP 7.x should use random_bytes for entropy ahead of deprecated mcrypt lib 2016-12-29 23:46:08 +13:00
Robbie Averill 37a009289c Consolidate temporary file creation and deletion logic. 2016-12-29 22:32:04 +13:00
Robbie Averill 7448622a1a FIX Replace ini casting to int with explicit split and cast for PHP 7.1. Add tests. 2016-12-29 21:55:52 +13:00
Daniel Hensby 664c0eafbe
Merge branch '3' 2016-12-28 14:30:54 +00:00
Damian Mooyman 9be5142fc1 API ChangeSet::publish() / canPublish() no longer treats hasChanges() = false as a permission error
BUG fix issues with doArchive() in live mode
2016-12-21 14:28:20 +13:00
Daniel Hensby ba39e552a2
Merge branch '3' 2016-12-15 12:20:29 +00:00
Damian Mooyman 6e589aac75
API Updates to Form, ValidationResponse, ValidationException
API Implement form schema "errors" handling
2016-12-09 14:24:11 +13:00
Sam Minnee 6650561dac Don't use session and FormSchema to manage server-side React validation responses 2016-12-09 10:27:23 +13:00
Jake Bentvelzen 085c8f5a43 ENHANCEMENT 2x increase in scanning of files for ConfigManifest 2016-12-08 21:35:38 +11:00
Ingo Schommer 322d3e18fd Merge pull request #6370 from open-sausages/pulls/4.0/remove-temp-json
ENHANCEMENT Move temporary JSON block into standard component
2016-12-08 23:24:58 +13:00
Damian Mooyman 2a25a525cb
ENHANCEMENT Move temporary JSON block into standard component 2016-12-08 13:31:11 +13:00
Damian Mooyman 6b06fd9f2d
API Add buttonTooltop to PopoverField and fix critical positioning issue 2016-12-07 13:06:35 +13:00
Damian Mooyman 6107f45d1e
Temp patch to 5987 to prevent cms crashing 2016-11-30 11:20:22 +13:00
Damian Mooyman 0e92ecea0c
ENHANCEMENT Prevent test DBs persisting after testing 2016-11-30 10:59:37 +13:00
Daniel Hensby c6d43b477e
Merge branch '3' 2016-11-29 13:27:49 +00:00
Damian Mooyman bc19b2a491
PSR2 cleanup 2016-11-29 16:18:48 +13:00
Damian Mooyman d4abfea4eb Rename Uploadable -> UploadReceiver and FileUploadable -> FileUploadReceiver 2016-11-29 16:16:16 +13:00
Damian Mooyman 7cba50e3a5 API Refactor UploadField, FileField and AssetField into traits Uploadable and FileUploadable 2016-11-29 16:15:59 +13:00
Damian Mooyman 4b7d31377b
PSR2: Automatic fixes 2016-11-29 12:33:28 +13:00
Damian Mooyman 1b1e921e3d
PSR2: Whitespace-only changes 2016-11-29 12:31:16 +13:00
Daniel Hensby 1be2e70a2a
Merge branch '3' 2016-11-24 14:18:09 +00:00
Damian Mooyman 38a63ad73f Merge pull request #6327 from open-sausages/pulls/4.0/file-icon-update
Update doc icons for files area
2016-11-24 10:34:55 +13:00
Christopher Pitt 06d1297fbe Replace hard-coded directory separators constant
This removes warnings when building the manifest cache in Windows environments.
2016-11-24 08:05:56 +13:00
Damian Mooyman 22cb3d0d74 Fix various ORM test issues 2016-11-23 19:25:12 +13:00
Damian Mooyman 00c9c2c775 BUG Fix DataObject::dbObject assigning incorrect table to DBField instance 2016-11-23 19:25:12 +13:00
Damian Mooyman cac326eebb API Add getExtraDataObjects() and getExtraControllers() methods to SapphireTest 2016-11-23 19:25:12 +13:00
Damian Mooyman 6e8304ff2f API Namespace framework tests 2016-11-23 19:25:12 +13:00
Paul Clarke f5923cf433 Update doc icons 2016-11-23 11:26:38 +13:00
Christopher Joe 875811fdfd API Create loading state for schema
API Create stateOverride state for schema
Enhancement Moved crumbs property to rely on redux state
Enhancement Updated file app icon names
API Added InsertMediaModal functionality to HtmlEditorField
API Removed dependency on schema ID that is returned from server
API Added afterMessages property for FormBuilder to display content after the alert message
2016-11-22 16:58:00 +13:00
Daniel Hensby bcc21c2403
Merge branch '3' 2016-11-10 01:09:35 +00:00
UndefinedOffset f18ef75c3d BUGFIX: Fixed crash when BASE_PATH is set by assuming the location of Constants.php 2016-11-04 13:43:42 -03:00
Damian Mooyman 857caa8fff Merge pull request #6274 from SpiritLevel/PDO-as-default-in-webinstaller
Setting default db adapter in installation  as PDO MySQL
2016-11-03 17:42:20 +13:00
Damian Mooyman eefecc21fc BUG Fix incorrect include paths in tests and railsyml (#6279) 2016-11-03 14:41:19 +13:00
Christopher Joe 8a7ea044ac Added validator class to decouple validation library from FormBuilder
Added required rule priority logic and fix styling of error messages
2016-11-03 10:39:53 +13:00
Christopher Joe 0901de2995 BUG Fix php schema generation 2016-11-03 10:26:39 +13:00
Damian Mooyman 1142757c21 API Add 'validation' to form schema 2016-11-03 10:07:24 +13:00
David Alexander 506213899b Setting default db adapter in installation as PDO MySQL with MySQLi as fail safe.
Added back missed assignment of $_REQUEST['db']['type']
2016-11-02 19:51:13 +13:00
Damian Mooyman 019e99dd4d BUG Fix regressions from src folder creation (#6272) 2016-11-02 13:18:56 +13:00
Damian Mooyman 38fdafb474 Fix tinymce breaking in non-typical install location 2016-11-01 17:40:59 +13:00
Damian Mooyman 5650254b53 NEW: Fixes to allow code files in src/ folder.
Separated from the file renames for clarity.
2016-11-01 16:35:32 +13:00
Sam Minnee e9d2f2f733 NEW: Use composer autoloader to set the right include path. 2016-11-01 16:35:02 +13:00
Sam Minnee 7a10c194bd NEW: Move code files into src/ folder.
This updates framework to be more in keeping with PHP conventions.
2016-11-01 13:37:24 +13:00
Damian Mooyman 8dd644d25d
API Namespace all classes
Namespace all templates
Move difflib and BBCodeParser2 to thirdparty
Remove deprecated API marked for removal in 4.0
2016-09-08 10:23:17 +12:00
Damian Mooyman 4a011303b9 Add missing packages 2015-08-24 16:15:38 +12:00
Andrew Short 2f817ba177 NEW: Allow specifying a factory to use for creating services.
A service factory can be used for creating instances where a non-trivial
construction process is required. This is done by adding a `factory`
key to the service definition.
2014-02-03 11:30:22 +11:00