From 1f63637b9369d4644a92523ada5d1a5dc0576c12 Mon Sep 17 00:00:00 2001 From: Patrick Nelson Date: Wed, 22 Apr 2015 18:06:26 -0400 Subject: [PATCH 01/14] FIX for #4095, TinyMCE not able to modify props of embed media (bug 1) and invalid HTML inserted (bug 2) --- javascript/HtmlEditorField.js | 75 ++++++++++++++++++++++++++++++----- 1 file changed, 65 insertions(+), 10 deletions(-) diff --git a/javascript/HtmlEditorField.js b/javascript/HtmlEditorField.js index c2596095d..965d82172 100644 --- a/javascript/HtmlEditorField.js +++ b/javascript/HtmlEditorField.js @@ -1345,22 +1345,76 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE; }; }, getHTML: function() { - var el, - attrs = this.getAttributes(), - extraData = this.getExtraData(), - // imgEl = $(''); - imgEl = $('').attr(attrs).addClass('ss-htmleditorfield-file embed'); + /* NOP. Instead, will override insertHTML() below and directly update these elements. */ + }, + /** + * Logic similar to TinyMCE 'advimage' plugin, insertAndClose() method. + */ + insertHTML: function(ed) { + var form = this.closest('form'); + var node = form.getSelection(); + + // Get the attributes & extra data + var attrs = this.getAttributes(), extraData = this.getExtraData(); + + // Find the element we are replacing - either the img, it's wrapper parent, or nothing (if creating) + var replacee = (node && node.is('img')) ? node : null; + if (replacee && replacee.parent().is('.captionImage')) replacee = replacee.parent(); + + // Find the img node - either the existing img or a new one, and update it + var img = (node && node.is('img')) ? node : $('').attr(attrs).addClass('ss-htmleditorfield-file embed'); + + // Setup extra data. $.each(extraData, function (key, value) { - imgEl.attr('data-' + key, value); + img.attr('data-' + key, value); }); + // Any existing figure or caption node + var container = img.parent('.captionImage'), caption = container.find('.caption'); + + // If we've got caption text, we need a wrapping div.captionImage and sibling p.caption if(extraData.CaptionText) { - el = $('

' + extraData.CaptionText + '

').prepend(imgEl); - } else { - el = imgEl; + if (!container.length) { + container = $('
'); } - return $('
').append(el).html(); // Little hack to get outerHTML string + + container.attr('class', 'captionImage '+attrs['class']).css('width', attrs.width); + + if (!caption.length) { + caption = $('

').appendTo(container); + } + + caption.attr('class', 'caption '+attrs['class']).text(extraData.CaptionText); + } + // Otherwise forget they exist + else { + container = caption = null; + } + + // The element we are replacing the replacee with + var replacer = container ? container : img; + + // If we're replacing something, and it's not with itself, do so + if (replacee && replacee.not(replacer).length) { + replacee.replaceWith(replacer); + } + + // If we have a wrapper element, make sure the img is the first child - img might be the + // replacee, and the wrapper the replacer, and we can't do this till after the replace has happened + if (container) { + container.prepend(img); + } + + // If we don't have a replacee, then we need to insert the whole HTML + if (!replacee) { + // Otherwise insert the whole HTML content + ed.repaint(); + ed.insertContent($('
').append(replacer).html(), {skip_undo : 1}); + } + + ed.addUndo(); + ed.repaint(); }, updateFromNode: function(node) { this.find(':input[name=AltText]').val(node.attr('alt')); @@ -1369,6 +1423,7 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE; this.find(':input[name=Height]').val(node.height()); this.find(':input[name=Title]').val(node.attr('title')); this.find(':input[name=CSSClass]').val(node.data('cssclass')); + this.find(':input[name=CaptionText]').val(node.siblings('.caption:first').text()); } }); From 5612b498b9d25f7bc348cf83ce927c5834552deb Mon Sep 17 00:00:00 2001 From: Denise Rivera Date: Wed, 16 Mar 2016 08:33:44 +1300 Subject: [PATCH 02/14] allowes hhtps hotlinking on TinyMCE --- forms/HtmlEditorField.php | 2 +- javascript/HtmlEditorField.js | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/forms/HtmlEditorField.php b/forms/HtmlEditorField.php index 8960a8d7a..03a352e51 100644 --- a/forms/HtmlEditorField.php +++ b/forms/HtmlEditorField.php @@ -350,7 +350,7 @@ class HtmlEditorField_Toolbar extends RequestHandler { $fromWeb = new CompositeField( new LiteralField('headerURL', '

' . sprintf($numericLabelTmpl, '1', _t('HtmlEditorField.ADDURL', 'Add URL')) . '

'), - $remoteURL = new TextField('RemoteURL', 'http://'), + $remoteURL = new TextField('RemoteURL', ''), new LiteralField('addURLImage', '') diff --git a/javascript/HtmlEditorField.js b/javascript/HtmlEditorField.js index f97733f0f..82c6a73ef 100644 --- a/javascript/HtmlEditorField.js +++ b/javascript/HtmlEditorField.js @@ -1139,7 +1139,6 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE; var val = this.val(), orig = val; val = $.trim(val); - val = val.replace(/^https?:\/\//i, ''); if (orig !== val) this.val(val); this.getAddButton().button(!!val ? 'enable' : 'disable'); @@ -1160,7 +1159,13 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE; if (urlField.validate()) { container.addClass('loading'); - form.showFileView('http://' + urlField.val()).done(function() { + + // add "http://" if a protocol is missing from the url + if (val.match(/^https?:\/\//i) == void 0) { + val = 'http://' + val; + } + + form.showFileView(val).done(function() { container.removeClass('loading'); }); form.redraw(); From 22b3a71ec0c8cd8c38030fa0bf5449abefafe8a3 Mon Sep 17 00:00:00 2001 From: Denise Rivera Date: Wed, 16 Mar 2016 09:11:15 +1300 Subject: [PATCH 03/14] fixing val reference to url in https hotlink --- javascript/HtmlEditorField.js | 1 + 1 file changed, 1 insertion(+) diff --git a/javascript/HtmlEditorField.js b/javascript/HtmlEditorField.js index 82c6a73ef..a7c1da861 100644 --- a/javascript/HtmlEditorField.js +++ b/javascript/HtmlEditorField.js @@ -1156,6 +1156,7 @@ ss.editorWrappers['default'] = ss.editorWrappers.tinyMCE; onclick: function(e) { var urlField = this.getURLField(), container = this.closest('.CompositeField'), form = this.closest('form'); + var val = urlField.val(); if (urlField.validate()) { container.addClass('loading'); From 8e5bb6fbdce0b2ca2d08a45534df2264db5e6b12 Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 21 Oct 2016 11:36:16 +1100 Subject: [PATCH 04/14] BUG Fix : relObject() should return null if one of the node is null --- model/DataObject.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/model/DataObject.php b/model/DataObject.php index 1ac147fcd..97ead6b6e 100644 --- a/model/DataObject.php +++ b/model/DataObject.php @@ -3069,8 +3069,11 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity $relations = explode('.', $fieldName); $fieldName = array_pop($relations); foreach($relations as $relation) { + // Bail if the component is null + if(!$component) { + return null; // Inspect $component for element $relation - if($component->hasMethod($relation)) { + } elseif($component->hasMethod($relation)) { // Check nested method $component = $component->$relation(); } elseif($component instanceof SS_List) { From bb37bc549185a83bfdaf80f69fa40ce187575078 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Tue, 16 Jan 2018 16:40:43 +1300 Subject: [PATCH 05/14] Added 3.6.4 changelog --- docs/en/04_Changelogs/3.6.4.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 docs/en/04_Changelogs/3.6.4.md diff --git a/docs/en/04_Changelogs/3.6.4.md b/docs/en/04_Changelogs/3.6.4.md new file mode 100644 index 000000000..02de9d367 --- /dev/null +++ b/docs/en/04_Changelogs/3.6.4.md @@ -0,0 +1,11 @@ +# 3.6.4 + + + +## Change Log + +### Bugfixes + + * 2018-01-09 [2ef4a2d4e](https://github.com/silverstripe/silverstripe-framework/commit/2ef4a2d4ee86577b00311e65bbeb0439f7aaa1fc) , adding a missing return statement. (Nathan) + * 2017-12-21 [44930f211](https://github.com/silverstripe/silverstripe-framework/commit/44930f211be3f658fc92f2d5318255de03078701) Allow HTML 5 input tags in FunctionalTest form submissions (Daniel Hensby) + * 2017-12-14 [81150c592](https://github.com/silverstripe/silverstripe-framework/commit/81150c59225dbf1e95bb0b4dbcfbe18346f2bdff) Use PHP 5.3 array syntax (Daniel Hensby) From f214cd52e019ef2fbe3557fdda8a69abc562099e Mon Sep 17 00:00:00 2001 From: Steve Boyd Date: Tue, 23 Jan 2018 13:37:06 +1300 Subject: [PATCH 06/14] Ensure currentUserID() returns an int Cast $id returned from Session as an int to ensure it's never returned as a string --- security/Member.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security/Member.php b/security/Member.php index 149a461bb..ce043be77 100644 --- a/security/Member.php +++ b/security/Member.php @@ -894,7 +894,7 @@ class Member extends DataObject implements TemplateGlobalProvider { $id = Session::get("loggedInAs"); } - return is_numeric($id) ? $id : 0; + return is_numeric($id) ? (int) $id : 0; } private static $_already_tried_to_auto_log_in = false; From f2b4c192ec4d70779f7c667a976e741a7f3a26c5 Mon Sep 17 00:00:00 2001 From: Loz Calver Date: Wed, 24 Jan 2018 15:49:46 +0000 Subject: [PATCH 07/14] =?UTF-8?q?FIX:=20Fix=20UploadField=20cuts=20off=20?= =?UTF-8?q?=E2=80=9CSave=E2=80=9D=20button=20(closes=20#2862)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- javascript/UploadField.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/javascript/UploadField.js b/javascript/UploadField.js index a7d00855c..fee1ce59c 100644 --- a/javascript/UploadField.js +++ b/javascript/UploadField.js @@ -450,6 +450,10 @@ if (iframe.data('src')) { self._prepareIframe(iframe, editform, itemInfo); iframe.data('src', ''); + // Subsequent load events are likely form submissions, which may change + // the height if alert dialogs are displayed + } else { + editform.fitHeight(); } }); } else { From c2cd6b3832c6bc4775b2742df593b445c2aca391 Mon Sep 17 00:00:00 2001 From: Loz Calver Date: Wed, 24 Jan 2018 16:21:29 +0000 Subject: [PATCH 08/14] FIX: Fix Member_GroupSet::removeAll() (fixes #3948) --- security/Member.php | 31 +++++++++++++++++++++++++++++++ tests/security/MemberTest.php | 29 +++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/security/Member.php b/security/Member.php index 6dd42c0be..e79b6453e 100644 --- a/security/Member.php +++ b/security/Member.php @@ -1791,6 +1791,37 @@ class Member_GroupSet extends ManyManyList { } } + public function removeAll() { + $base = ClassInfo::baseDataClass($this->dataClass()); + + // Remove the join to the join table to avoid MySQL row locking issues. + $query = $this->dataQuery(); + $foreignFilter = $query->getQueryParam('Foreign.Filter'); + $query->removeFilterOn($foreignFilter); + + $selectQuery = $query->query(); + $selectQuery->setSelect("\"{$base}\".\"ID\""); + + $from = $selectQuery->getFrom(); + unset($from[$this->joinTable]); + $selectQuery->setFrom($from); + $selectQuery->setOrderBy(); // ORDER BY in subselects breaks MS SQL Server and is not necessary here + $selectQuery->setDistinct(false); + + // Use a sub-query as SQLite does not support setting delete targets in + // joined queries. + $delete = new SQLDelete(); + $delete->setFrom("\"{$this->joinTable}\""); + // Use ManyManyList::foreignIDFilter() rather than the one in this class + // otherwise we end up selecting the wrong columns + $delete->addWhere(parent::foreignIDFilter()); + $subSelect = $selectQuery->sql($parameters); + $delete->addWhere(array( + "\"{$this->joinTable}\".\"{$this->localKey}\" IN ($subSelect)" => $parameters + )); + $delete->execute(); + } + /** * Determine if the following groups IDs can be added * diff --git a/tests/security/MemberTest.php b/tests/security/MemberTest.php index 595b7a821..18ebc7c42 100644 --- a/tests/security/MemberTest.php +++ b/tests/security/MemberTest.php @@ -385,6 +385,35 @@ class MemberTest extends FunctionalTest { ); } + /** + * Assertions to check that Member_GroupSet is functionally equivalent to ManyManyList + */ + public function testRemoveGroups() + { + $staffmember = $this->objFromFixture('Member', 'staffmember'); + + $staffgroup = $this->objFromFixture('Group', 'staffgroup'); + $managementgroup = $this->objFromFixture('Group', 'managementgroup'); + + $this->assertTrue( + $staffmember->inGroups(array($staffgroup, $managementgroup)), + 'inGroups() succeeds if a membership is detected on one of many passed groups' + ); + + $staffmember->Groups()->remove($managementgroup); + $this->assertFalse( + $staffmember->inGroup($managementgroup), + 'member was not removed from group using ->Groups()->remove()' + ); + + $staffmember->Groups()->removeAll(); + $this->assertEquals( + 0, + $staffmember->Groups()->count(), + 'member was not removed from all groups using ->Groups()->removeAll()' + ); + } + public function testAddToGroupByCode() { $grouplessMember = $this->objFromFixture('Member', 'grouplessmember'); $memberlessGroup = $this->objFromFixture('Group','memberlessgroup'); From cf69d048665befa90eb43146f86cde984b876b3a Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Fri, 26 Jan 2018 10:26:18 +1300 Subject: [PATCH 09/14] BUG Fix ping including requirements Fixes #7802 --- security/Security.php | 1 + 1 file changed, 1 insertion(+) diff --git a/security/Security.php b/security/Security.php index 19d481204..34a354a13 100644 --- a/security/Security.php +++ b/security/Security.php @@ -394,6 +394,7 @@ class Security extends Controller implements TemplateGlobalProvider { * sessions don't timeout. A common use is in the admin. */ public function ping() { + Requirements::clear(); return 1; } From 416915b08248285083518850ad8d015ca8ed25c2 Mon Sep 17 00:00:00 2001 From: Dominik Beerbohm Date: Fri, 26 Jan 2018 08:46:50 +0100 Subject: [PATCH 10/14] BUG tableName is blank in CompositeDBField->addToQuery Added call to setTable() to ensure tableName is provided inside addToQuery method. --- model/DataQuery.php | 1 + 1 file changed, 1 insertion(+) diff --git a/model/DataQuery.php b/model/DataQuery.php index 733576526..83ef0b618 100644 --- a/model/DataQuery.php +++ b/model/DataQuery.php @@ -490,6 +490,7 @@ class DataQuery { if($compositeFields) foreach($compositeFields as $k => $v) { if((is_null($columns) || in_array($k, $columns)) && $v) { $dbO = Object::create_from_string($v, $k); + $dbO->setTable($tableClass); $dbO->addToQuery($query); } } From 7384e3fc25987742ea08af74b704857a936e8ec0 Mon Sep 17 00:00:00 2001 From: Scott Hutchinson Date: Tue, 23 Jan 2018 14:05:48 +1300 Subject: [PATCH 11/14] FIX: Gridfields with dropdowns having lots of overflow --- css/GridField.css | 4 ++-- css/GridField.css.map | 4 ++-- scss/GridField.scss | 8 +++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/css/GridField.css b/css/GridField.css index 232513fd8..30fbe9b70 100644 --- a/css/GridField.css +++ b/css/GridField.css @@ -27,7 +27,6 @@ Used in side panels and action tabs .cms .ss-gridfield .right .pagination-records-number { font-size: 1.0em; padding: 6px 3px 6px 0; color: white; text-shadow: 0px -1px 0 rgba(0, 0, 0, 0.2); font-weight: normal; } .cms .ss-gridfield .left { float: left; } .cms .ss-gridfield .left > * { margin-right: 8px; float: left; } -.cms .ss-gridfield { overflow-x: hidden; } .cms .ss-gridfield .grid-levelup { text-indent: -9999em; margin-bottom: 6px; } .cms .ss-gridfield .grid-levelup a.list-parent-link { background: transparent url(../images/gridfield-level-up.png) no-repeat 0 0; display: block; } .cms .ss-gridfield .add-existing-autocompleter span { float: left; display: inline-block; vertical-align: top; *vertical-align: auto; *zoom: 1; *display: inline; } @@ -45,7 +44,7 @@ Used in side panels and action tabs .cms table.ss-gridfield-table tbody { background: #FFF; } .cms table.ss-gridfield-table tbody tr { cursor: pointer; } .cms table.ss-gridfield-table tbody td { width: auto; max-width: 500px; word-wrap: break-word; } -.cms table.ss-gridfield-table tbody td.col-buttons { width: 1px; padding: 0 8px; text-align: right; white-space: nowrap; } +.cms table.ss-gridfield-table tbody td.col-buttons { width: 1px; padding: 0 8px; text-align: right; white-space: nowrap; overflow: hidden; } .cms table.ss-gridfield-table tbody td.col-listChildrenLink { width: 16px; border-right: none; text-indent: -9999em; padding: 0; } .cms table.ss-gridfield-table tbody td.col-listChildrenLink .list-children-link { background: transparent url(../images/sitetree_ss_default_icons.png) no-repeat 3px -4px; display: block; } .cms table.ss-gridfield-table tbody td.col-getTreeTitle span.item { color: #0071c4; } @@ -93,6 +92,7 @@ Used in side panels and action tabs .cms table.ss-gridfield-table tr th.extra select { margin: 0; } .cms table.ss-gridfield-table tr th.first { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; } .cms table.ss-gridfield-table tr th.last { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; } +.cms table.ss-gridfield-table tr th.col-Actions { overflow: hidden; } .cms table.ss-gridfield-table tr th button.action_gridfield_relationadd:hover { color: #444 !important; /* Not sure why IE think it needs this */ } .cms table.ss-gridfield-table tr th button:hover { color: #ccc !important; /* Not sure why IE think it needs this */ } .cms table.ss-gridfield-table tr th button.ss-gridfield-sort:hover { color: #fff !important; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; } diff --git a/css/GridField.css.map b/css/GridField.css.map index df7c5fcfa..f87b6f067 100644 --- a/css/GridField.css.map +++ b/css/GridField.css.map @@ -1,7 +1,7 @@ { "version": 3, -"mappings": "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", -"sources": ["../scss/GridField.scss","../admin/scss/themes/_default.scss","../admin/scss/_mixins.scss","../../../../../../usr/local/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_text-shadow.scss","../../../../../../usr/local/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_inline-block.scss","../../../../../../usr/local/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/_support.scss","../../../../../../usr/local/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_border-radius.scss","../../../../../../usr/local/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets/compass/css3/_images.scss","../scss/_elementMixins.scss"], +"mappings": "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", +"sources": ["../scss/GridField.scss","../admin/scss/themes/_default.scss","../admin/scss/_mixins.scss","../../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/css3/_text-shadow.scss","../../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/css3/_inline-block.scss","../../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/_support.scss","../../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/css3/_border-radius.scss","../../../../.rvm/gems/ruby-2.4.1/gems/compass-core-1.0.3/stylesheets/compass/css3/_images.scss","../scss/_elementMixins.scss"], "names": [], "file": "GridField.css" } \ No newline at end of file diff --git a/scss/GridField.scss b/scss/GridField.scss index d6d9ed1ce..82bd11b89 100644 --- a/scss/GridField.scss +++ b/scss/GridField.scss @@ -104,8 +104,6 @@ $gf_grid_x: 16px; } .ss-gridfield { - overflow-x: hidden; - .grid-levelup { text-indent: -9999em; a.list-parent-link{ @@ -138,7 +136,7 @@ $gf_grid_x: 16px; font-size: $font-base-size; @include inline-block(); } - } + } table.ss-gridfield-table { display: table; @include box-shadow-none; @@ -197,6 +195,7 @@ $gf_grid_x: 16px; padding:0 $gf_grid_x/2; text-align: right; white-space: nowrap; + overflow: hidden; } &.col-listChildrenLink { width:$gf_grid_x; @@ -445,6 +444,9 @@ $gf_grid_x: 16px; &.last { @include border-top-right-radius($gf_border_radius); } + &.col-Actions { + overflow: hidden; + } From abbc4b72befa201ba5b271bcae951b49cc011c20 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Mon, 5 Feb 2018 14:30:53 +1300 Subject: [PATCH 12/14] Added 3.5.7 changelog --- docs/en/04_Changelogs/3.5.7.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 docs/en/04_Changelogs/3.5.7.md diff --git a/docs/en/04_Changelogs/3.5.7.md b/docs/en/04_Changelogs/3.5.7.md new file mode 100644 index 000000000..0056bdb71 --- /dev/null +++ b/docs/en/04_Changelogs/3.5.7.md @@ -0,0 +1,18 @@ +# 3.5.7 + + + +## Change Log + +### Bugfixes + + * 2018-01-26 [416915b08](https://github.com/silverstripe/silverstripe-framework/commit/416915b08248285083518850ad8d015ca8ed25c2) tableName is blank in CompositeDBField->addToQuery (Dominik Beerbohm) + * 2018-01-25 [cf69d0486](https://github.com/silverstripe/silverstripe-framework/commit/cf69d048665befa90eb43146f86cde984b876b3a) Fix ping including requirements (Damian Mooyman) + * 2018-01-24 [c2cd6b383](https://github.com/silverstripe/silverstripe-framework/commit/c2cd6b3832c6bc4775b2742df593b445c2aca391) Fix Member_GroupSet::removeAll() (fixes #3948) (Loz Calver) + * 2018-01-24 [f2b4c192e](https://github.com/silverstripe/silverstripe-framework/commit/f2b4c192ec4d70779f7c667a976e741a7f3a26c5) Fix UploadField cuts off “Save” button (closes #2862) (Loz Calver) + * 2018-01-23 [7384e3fc2](https://github.com/silverstripe/silverstripe-framework/commit/7384e3fc25987742ea08af74b704857a936e8ec0) Gridfields with dropdowns having lots of overflow (Scott Hutchinson) + * 2017-12-21 [44930f211](https://github.com/silverstripe/silverstripe-framework/commit/44930f211be3f658fc92f2d5318255de03078701) Allow HTML 5 input tags in FunctionalTest form submissions (Daniel Hensby) + * 2017-12-14 [81150c592](https://github.com/silverstripe/silverstripe-framework/commit/81150c59225dbf1e95bb0b4dbcfbe18346f2bdff) Use PHP 5.3 array syntax (Daniel Hensby) + * 2016-10-21 [8e5bb6fbd](https://github.com/silverstripe/silverstripe-framework/commit/8e5bb6fbdce0b2ca2d08a45534df2264db5e6b12) Fix : relObject() should return null if one of the node is null (Jason) + * 2016-03-15 [22b3a71ec](https://github.com/silverstripe/silverstripe-framework/commit/22b3a71ec0c8cd8c38030fa0bf5449abefafe8a3) ing val reference to url in https hotlink (Denise Rivera) + * 2015-04-22 [1f63637b9](https://github.com/silverstripe/silverstripe-framework/commit/1f63637b9369d4644a92523ada5d1a5dc0576c12) for #4095, TinyMCE not able to modify props of embed media (bug 1) and invalid HTML inserted (bug 2) (Patrick Nelson) From a805aabecd1c859f772456e7b49fb3693b509787 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Mon, 5 Feb 2018 15:19:24 +1300 Subject: [PATCH 13/14] Added 3.6.5 changelog --- docs/en/04_Changelogs/3.6.5.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 docs/en/04_Changelogs/3.6.5.md diff --git a/docs/en/04_Changelogs/3.6.5.md b/docs/en/04_Changelogs/3.6.5.md new file mode 100644 index 000000000..2683d9e1f --- /dev/null +++ b/docs/en/04_Changelogs/3.6.5.md @@ -0,0 +1,16 @@ +# 3.6.5 + + + +## Change Log + +### Bugfixes + + * 2018-01-26 [416915b08](https://github.com/silverstripe/silverstripe-framework/commit/416915b08248285083518850ad8d015ca8ed25c2) tableName is blank in CompositeDBField->addToQuery (Dominik Beerbohm) + * 2018-01-25 [cf69d0486](https://github.com/silverstripe/silverstripe-framework/commit/cf69d048665befa90eb43146f86cde984b876b3a) Fix ping including requirements (Damian Mooyman) + * 2018-01-24 [c2cd6b383](https://github.com/silverstripe/silverstripe-framework/commit/c2cd6b3832c6bc4775b2742df593b445c2aca391) Fix Member_GroupSet::removeAll() (fixes #3948) (Loz Calver) + * 2018-01-24 [f2b4c192e](https://github.com/silverstripe/silverstripe-framework/commit/f2b4c192ec4d70779f7c667a976e741a7f3a26c5) Fix UploadField cuts off “Save” button (closes #2862) (Loz Calver) + * 2018-01-23 [7384e3fc2](https://github.com/silverstripe/silverstripe-framework/commit/7384e3fc25987742ea08af74b704857a936e8ec0) Gridfields with dropdowns having lots of overflow (Scott Hutchinson) + * 2016-10-21 [8e5bb6fbd](https://github.com/silverstripe/silverstripe-framework/commit/8e5bb6fbdce0b2ca2d08a45534df2264db5e6b12) Fix : relObject() should return null if one of the node is null (Jason) + * 2016-03-15 [22b3a71ec](https://github.com/silverstripe/silverstripe-framework/commit/22b3a71ec0c8cd8c38030fa0bf5449abefafe8a3) ing val reference to url in https hotlink (Denise Rivera) + * 2015-04-22 [1f63637b9](https://github.com/silverstripe/silverstripe-framework/commit/1f63637b9369d4644a92523ada5d1a5dc0576c12) for #4095, TinyMCE not able to modify props of embed media (bug 1) and invalid HTML inserted (bug 2) (Patrick Nelson) From 5df1ec7eee53e50a5c0329ca73d67337f647d896 Mon Sep 17 00:00:00 2001 From: JorisDebonnet Date: Mon, 27 Jul 2015 03:38:11 +0200 Subject: [PATCH 14/14] Use fputcsv in GridFieldExportButton --- forms/gridfield/GridFieldExportButton.php | 22 ++++++----- .../gridfield/GridFieldExportButtonTest.php | 38 +++++++++++++++---- .../gridfield/GridFieldExportButtonTest.yml | 2 +- 3 files changed, 44 insertions(+), 18 deletions(-) diff --git a/forms/gridfield/GridFieldExportButton.php b/forms/gridfield/GridFieldExportButton.php index 9c865b6a1..3243d090a 100644 --- a/forms/gridfield/GridFieldExportButton.php +++ b/forms/gridfield/GridFieldExportButton.php @@ -124,12 +124,12 @@ class GridFieldExportButton implements GridField_HTMLProvider, GridField_ActionP * Generate export fields for CSV. * * @param GridField $gridField - * @return array + * @return string */ public function generateExportFileData($gridField) { - $separator = $this->csvSeparator; + $separator = $this->getCsvSeparator(); $csvColumns = $this->getExportColumnsForGridField($gridField); - $fileData = ''; + $fileData = array(); if($this->csvHasHeader) { $headers = array(); @@ -145,8 +145,7 @@ class GridFieldExportButton implements GridField_HTMLProvider, GridField_ActionP } } - $fileData .= "\"" . implode("\"{$separator}\"", array_values($headers)) . "\""; - $fileData .= "\n"; + $fileData[] = $headers; } //Remove GridFieldPaginator as we're going to export the entire list. @@ -190,11 +189,10 @@ class GridFieldExportButton implements GridField_HTMLProvider, GridField_ActionP ) { $value = "\t" . $value; } - $columnData[] = '"' . str_replace('"', '""', $value) . '"'; + $columnData[] = $value; } - $fileData .= implode($separator, $columnData); - $fileData .= "\n"; + $fileData[] = $columnData; } if($item->hasMethod('destroy')) { @@ -202,7 +200,13 @@ class GridFieldExportButton implements GridField_HTMLProvider, GridField_ActionP } } - return $fileData; + // Convert the $fileData array into csv by capturing fputcsv's output + $csv = fopen('php://temp', 'r+'); + foreach($fileData as $line) { + fputcsv($csv, $line, $separator); + } + rewind($csv); + return stream_get_contents($csv); } /** diff --git a/tests/forms/gridfield/GridFieldExportButtonTest.php b/tests/forms/gridfield/GridFieldExportButtonTest.php index 516a2bc13..f27824322 100644 --- a/tests/forms/gridfield/GridFieldExportButtonTest.php +++ b/tests/forms/gridfield/GridFieldExportButtonTest.php @@ -48,7 +48,9 @@ class GridFieldExportButtonTest extends SapphireTest { $button->setExportColumns(array('Name' => 'My Name')); $this->assertEquals( - "\"My Name\"\n\"Test\"\n\"Test2\"\n", + '"My Name"'."\n". + 'Test'."\n". + 'Test2'."\n", $button->generateExportFileData($this->gridField) ); } @@ -64,7 +66,7 @@ class GridFieldExportButtonTest extends SapphireTest { $button->setExportColumns(array('Name' => 'My Name')); $this->assertEquals( - "\"My Name\"\n\"\t=SUM(1, 2)\"\n\"Test\"\n\"Test2\"\n", + "\"My Name\"\n\"\t=SUM(1, 2)\"\nTest\nTest2\n", $button->generateExportFileData($this->gridField) ); } @@ -79,7 +81,9 @@ class GridFieldExportButtonTest extends SapphireTest { )); $this->assertEquals( - "\"Name\",\"City\"\n\"Test\",\"City city\"\n\"Test2\",\"City2 city\"\n", + 'Name,City'."\n". + 'Test,"City city"'."\n". + 'Test2,"Quoted ""City"" 2 city"'."\n", $button->generateExportFileData($this->gridField) ); } @@ -92,7 +96,9 @@ class GridFieldExportButtonTest extends SapphireTest { )); $this->assertEquals( - "\"Name\",\"strtolower\"\n\"Test\",\"City\"\n\"Test2\",\"City2\"\n", + 'Name,strtolower'."\n". + 'Test,City'."\n". + 'Test2,"Quoted ""City"" 2"'."\n", $button->generateExportFileData($this->gridField) ); } @@ -106,7 +112,8 @@ class GridFieldExportButtonTest extends SapphireTest { $button->setCsvHasHeader(false); $this->assertEquals( - "\"Test\",\"City\"\n\"Test2\",\"City2\"\n", + 'Test,City'."\n". + 'Test2,"Quoted ""City"" 2"'."\n", $button->generateExportFileData($this->gridField) ); } @@ -126,8 +133,23 @@ class GridFieldExportButtonTest extends SapphireTest { $this->gridField->setList($arrayList); $this->assertEquals( - "\"ID\"\n\"1\"\n\"2\"\n\"3\"\n\"4\"\n\"5\"\n\"6\"\n\"7\"\n\"8\"\n" - ."\"9\"\n\"10\"\n\"11\"\n\"12\"\n\"13\"\n\"14\"\n\"15\"\n\"16\"\n", + "ID\n". + "1\n". + "2\n". + "3\n". + "4\n". + "5\n". + "6\n". + "7\n". + "8\n". + "9\n". + "10\n". + "11\n". + "12\n". + "13\n". + "14\n". + "15\n". + "16\n", $button->generateExportFileData($this->gridField) ); } @@ -139,7 +161,7 @@ class GridFieldExportButtonTest extends SapphireTest { )); $this->assertEquals( - "\"Rugby Team Number\"\n\"2\"\n\"0\"\n", + "\"Rugby Team Number\"\n2\n0\n", $button->generateExportFileData($this->gridField) ); } diff --git a/tests/forms/gridfield/GridFieldExportButtonTest.yml b/tests/forms/gridfield/GridFieldExportButtonTest.yml index 27a1ae06b..d336bdddb 100644 --- a/tests/forms/gridfield/GridFieldExportButtonTest.yml +++ b/tests/forms/gridfield/GridFieldExportButtonTest.yml @@ -5,7 +5,7 @@ GridFieldExportButtonTest_Team: RugbyTeamNumber: 2 test-team-2: Name: Test2 - City: City2 + City: 'Quoted "City" 2' RugbyTeamNumber: 0 GridFieldExportButtonTest_NoView: