Commit Graph

18228 Commits

Author SHA1 Message Date
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
Damian Mooyman
4e138f25cc Merge pull request #6471 from robbieaverill/bugfix/rename-template-viewer-peg
FIX Rename template parser from .inc to .peg so PHP doesn't include it automatically
2017-01-11 13:03:57 +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
Damian Mooyman
ae2861d487
BUG Fix frameworkpath 2017-01-11 11:49:28 +13:00
Damian Mooyman
dcee7c99d3
Normalise indentation in GridField.js 2017-01-11 11:38:19 +13:00
Damian Mooyman
4ea614f04c
Fix linting issues 2017-01-11 10:56:17 +13:00
Damian Mooyman
63cb343cf5
BUG Fix modal animations
BUG Correct error type on invalid CSV import
2017-01-11 10:51:54 +13:00
Robbie Averill
36ae153995 Add Page_Controller upgrade mapping 2017-01-11 09:59:28 +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
Robbie Averill
2f6f5b5eff Do not send the header if it is not defined 2017-01-11 08:26:04 +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
Daniel Hensby
733511565e
Merge branch '3.5' into 3 2017-01-10 12:52:06 +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
Damian Mooyman
9e563ebd3a
API Moved iShouldSeeAButton to behat-extension 2017-01-10 14:39:24 +13:00
Christopher Joe
8118448a9c Fix PHP linting issues 2017-01-10 11:34:50 +13:00
Will Rossiter
00c12cc7ed Loading indicator on buttons now. 2017-01-10 11:05:58 +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
cf5c055ded Enhancement Fix Campaign admin publish button styles missing
API remove unused textures
Enhancement Update legacy DB icon to match new colour
Enhancement Remove Done button on import modal
2017-01-10 11:05:58 +13:00
Will Rossiter
2a7c0138f5 Move lang to root html element (Fixes #6409) 2017-01-10 11:05:58 +13:00
Will Rossiter
521a8217b9 Title attributes for expand / collapse panel (Fixes #6407) 2017-01-10 11:05:57 +13:00
Will Rossiter
2d5aa7ce0e Fix Campaign List toggle (Fixes #6067) 2017-01-10 10:59:55 +13:00
Will Rossiter
7c76d2cb09 Fix show formatting help not appearing (#6423) 2017-01-10 10:57: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
Lee Bradley
87fbd5f781 Fix for v4: Admin returns "Too many pages" for subpages below top level (#6464)
* Fix for v4: Admin returns "Too many pages" for subpages below top level

Simple logic error during porting to new version it appears

* V4: LeftAndMain::getSiteTreeFor() returning space & New line in link

The "Too many pages" "View as list" link had a return &
  tab characters in it

* V4: LeftAndMain::getSiteTreeFor() fixes link for list view

"Too many pages" link pointed to `?view=list` which is
  just normal hierarchy. Value had been updated to "listview"
  in #8c87ea6b
2017-01-09 12:45:03 +00:00
Ingo Schommer
c2bc0df92a Fail buids on linting errors
Silently failing only the first command with error code 0 through a single ampersand
is hardly intuitive. Our general line is that either you have linting and
enforce it (via build failures), or you might as well not bother since
it'll deteriorate quickly.
2017-01-09 23:46:28 +13:00
Ingo Schommer
3b4b35115a Merge pull request #6389 from open-sausages/pulls/4.0/asset-admin-search
Asset search
2017-01-09 22:22:21 +13:00
Damian Mooyman
c183324bcd Merge pull request #6461 from open-sausages/pulls/3/clarify-dataobject-record-constructor
Clarify DataObject::__construct()
2017-01-09 17:46:17 +13:00
Ingo Schommer
e55554d087 Clarify DataObject::__construct()
The $record argument should NOT be used for object construction, since it bypasses setters.
While the original PHPDoc hints at this (“internal systems”), it doesn’t make it clear enough.
2017-01-09 17:02:41 +13:00
Robbie Averill
cb2dcc75f1 Add X-Robots-Tag noindex,nofollow header from Security controller to prevent indexing 2017-01-09 16:13:39 +13:00
Christopher Joe
cdd86aaf53 Fix breadcrumbs search results text sometimes disappearing 2017-01-09 14:55:20 +13:00
Ingo Schommer
07f0527ede Updated dist files 2017-01-09 14:55:20 +13:00
Ingo Schommer
f755c393a4 Removed unnecessary urlQuery(), expose qs instead
The asset-admin module uses a simpler algo now
2017-01-09 14:55:20 +13:00
Ingo Schommer
9e8e6314da Changed capitalisation of search filter names 2017-01-09 14:55:20 +13:00
Ingo Schommer
8981861c76 DataFormat unit tests 2017-01-09 14:55:20 +13:00
Ingo Schommer
b06e10c4a8 i18n for new template strings 2017-01-09 14:55:20 +13:00
Paul Clarke
178bd480eb API Changes required for asset search behaviour 2017-01-09 14:55:20 +13:00
Damian Mooyman
c601b7d384 Merge pull request #6455 from robbieaverill/patch-4
DOCS Change "Injector" to "SilverStripe\Core\Injector\Injector" in Logger examples
2017-01-09 12:27:28 +13:00
Damian Mooyman
a39ae49c57 Merge pull request #6458 from open-sausages/pulls/4.0/asset-memory-use
Fix memory leaks in image manipulation
2017-01-09 11:32:36 +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
Robbie Averill
47ab244f0a DOCS Change "Injector" to "SilverStripe\Core\Injector\Injector" in Logger examples 2017-01-06 14:37:27 +13:00
Damian Mooyman
3e32b18c6b Merge pull request #6263 from dhensby/pulls/3/allow-unltd-grid-row-count
NEW Allow setting of unlimited row counts on GridFieldPaginator
2017-01-05 09:12:02 +13:00