Commit Graph

2880 Commits

Author SHA1 Message Date
Ingo Schommer
c61ba88d82 FIX Multibyte URL routing
Was double url encoding (once in database value, then again in request)
Fixes https://github.com/silverstripe/silverstripe-framework/issues/8723
2019-02-04 22:02:15 +13:00
Maxime Rainville
ed0680a264 MINOR Add unit test for MetaComponents 2019-02-01 19:48:47 +03:00
Robbie Averill
f9aeeb1d6c FIX Remove coupling from SiteTree to campaign admin module
Add to Campaign button is now in an extension in the campaign-admin module
2019-02-01 19:36:13 +03:00
Maxime Rainville
53374d617e
Merge pull request #2280 from creative-commoners/pulls/4.2/subsites-namespace
FIX Use correct subsites namespace in SiteTree and test classes
2019-02-01 17:27:35 +13:00
Jonathon Menz
e20be9293f NEW Meta tag components
Meta tags can now be individually accessed and modified by key, prior to being rendered and flattened in to a single string.
2019-02-01 14:49:01 +13:00
Robbie Averill
2533e729fc Merge branch '4.3' into 4 2019-01-29 14:03:59 +02:00
Robbie Averill
287f17b848 Merge branch '4.2' into 4.3 2019-01-29 14:03:47 +02:00
Damian Mooyman
9ced23473f
BUG Don't convert datalist to arraylist when filtering pages
Fixes #2354
2019-01-18 10:35:34 +13:00
Robbie Averill
ba897af221
Merge pull request #2364 from sachajudd/pulls/4.4/font-icon-support
NEW Add font-icon support for site tree
2019-01-14 09:06:40 +01:00
Sacha Judd
1f1f44969a NEW Add font-icon support for site tree 2019-01-14 13:16:30 +13:00
Robbie Averill
08502fb4dc
MINOR Typo fix
Co-Authored-By: maxime-rainville <maxime@rainville.me>
2019-01-12 00:12:35 +13:00
Maxime Rainville
3a1329f61b MINOR Clean up CMSMain::CanOrganiseSitetree 2019-01-11 23:56:40 +13:00
Aaron Carlino
6beb682cfa Merge branch '4.3' into 4 2019-01-10 12:06:36 +13:00
Aaron Carlino
b83d818e0a Merge branch '4.2' into 4.3 2018-12-11 17:07:55 +13:00
Aaron Carlino
acc7f46b02 Merge branch '4.1' into 4.2 2018-12-11 11:42:35 +13:00
Aaron Carlino
a4b78c4041 Merge branch '4.0' into 4.1 2018-12-11 11:42:11 +13:00
Robbie Averill
84db517bfe Merge branch 'pr-2105' into 4.0 2018-12-02 18:21:40 +00:00
Robbie Averill
0bb22732c9 FIX Unsaved SiteTree records now return an empty list for DependentPages 2018-11-28 13:44:52 +01:00
Robbie Averill
60aadf8f28 Merge branch '4.3' into 4 2018-11-26 15:09:38 +01:00
Maxime Rainville
44b600814a
Merge pull request #2287 from sb-relaxt-at/4.2
Fixing wrong Live-Preview-Link in SilverStripeNavigatorItem_LiveLink
2018-11-23 10:05:05 +13:00
Robbie Averill
ce3a1ce913 FIX Use correct subsites namespace in SiteTree and test classes 2018-11-20 13:34:38 +01:00
Guy Marriott
203ecdb210
Merge pull request #2333 from micmania1/bugfix/revert-to-publish-shows-draft
BUGFIX reverting to publish still shows draft changes
2018-11-20 09:22:48 +13:00
Robbie Averill
35c3a8c68d FIX 'Search' text in default search form should be a placeholder 2018-11-16 17:18:12 +02:00
micmania1
4896004b50 BUGFIX reverting to publish still shows draft changees 2018-11-16 14:12:01 +13:00
Robbie Averill
03869b1627 Remove undefined variable, should use the baseTable() from the $parentClass 2018-11-15 13:30:33 +02:00
Maxime Rainville
b138eb06ff Revert BackLinkTracking to return Parent Object of the SiteTreeLink rather than SiteTreeLink itself 2018-11-15 15:57:17 +13:00
Maxime Rainville
0bff8728b1 MINOR Speed up DependentPages by shifting existence check to table join 2018-11-14 18:01:29 +13:00
Guy Marriott
814922747a
Merge pull request #2274 from creative-commoners/pulls/4.3/factory-extensibility
NEW Add update extension hooks for LinkFormFactory subclasses
2018-11-11 23:09:24 +13:00
Robbie Averill
12907271ff NEW Add update extension hooks for LinkFormFactory subclasses 2018-11-10 14:58:51 +02:00
Robbie Averill
ab739c7fb0 FIX Replace usage of Convert JSON methods with json_encode and json_decode 2018-10-28 21:21:19 +00:00
Maxime Rainville
2773e9c075 API Deprecate CMSPageHistoryController (#2298) 2018-10-24 11:52:39 +13:00
Aaron Carlino
d8f19bd8c2 Merge branch '4.2' into '4' 2018-10-15 13:40:43 +13:00
Aaron Carlino
2f16da936d Merge branch '4.1' into 4.2 2018-10-15 13:32:33 +13:00
Robbie Averill
d1c3a96653
Merge pull request #2290 from open-sausages/pulls/4/lazy-load-gridfield
MINOR Enable the lazy loading for DependentPages GridField
2018-10-11 14:00:27 +02:00
Maxime Rainville
974ea3b29d MINOR Remove AbsoluteURL column from DependentPage (#2290) 2018-10-11 14:42:16 +13:00
Maxime Rainville
7f0d4c8634 MINOR Enable the lazy loading for DependentPages GridField 2018-10-09 14:16:43 +13:00
Robbie Averill
6e649b570d FIX CMSMain::duplicate() now checks canCreate() but not canEdit() 2018-10-08 13:55:59 +02:00
Stephan Bauer
c498aa0337 Fixing wrong Live-Preview-Link in SilverStripeNavigatorItem_LiveLink (fixes #865). 2018-10-06 21:32:58 +02:00
Robbie Averill
3b3ce70378
Merge pull request #2279 from creative-commoners/pulls/4.3/searching-for-sugarman
FIX Update field names in Behat tests for new search form namespacing
2018-10-02 15:12:33 +02:00
Robbie Averill
f28f70c8af Linting issue 2018-10-02 10:55:34 +02:00
Guy Marriott
b0c4c5a177
FIX Updating SiteTree search fields to work with new search namespacing 2018-10-01 17:07:51 +13:00
Sam Minnee
bd37b90a3a NEW: Add CMSMain.enable_archive_warning_message config
This lets you disable this expensive message generation on larger sites
where that is a problem. Speeding it up is obviously a preferred
solution (or removing this feature until that is possible), but this
config option is a simpler solution to the problem in the short term.
2018-09-28 15:02:40 +12:00
Sam Minnée
5bfc37ff4b FIX: Use Hierarchy::prepopulateTreeDataCache() in CMS (#2266)
* FIX: Use Hierarchy::prepopulate_numchildren_cache in tree-generation

Only relevant if https://github.com/silverstripe/silverstripe-framework/pull/8380 is avialable,
however coded defensively so it can be merged before that PR if needs 
be.

See https://github.com/silverstripe/silverstripe-framework/issues/8379

* FIX: Use Hierarchy::prepopulateTreeDataCache() in CMS.

Requires https://github.com/silverstripe/silverstripe-framework/pull/8395

* Cache tree_class instead of assuming it will always be SiteTree.
2018-09-25 15:14:16 +12:00
Maxime Rainville
5c102decbd FIX Improve performance of CMSMain::getArchiveWarningMessage (#2231)
* FIX Improve performance of CMSMain::getArchiveWarningMessage

* Remove private method

* Linting
2018-09-13 15:52:54 +12:00
Luke Edwards
aa3760ed66
Merge pull request #2247 from open-sausages/pulls/4.2/2227-show-link-tracking
API: Add `show_link_tracking` config to `SiteTreeLinkTracking` extension
2018-09-13 14:23:54 +12:00
bergice
115ed92e0a API: Add show_sitetree_link_tracking config to SiteTreeLinkTracking extension to control visibility of the Link Tracking tab 2018-09-13 11:01:33 +12:00
Aaron Carlino
0f00de78ad Set locale on datefields from current user 2018-09-06 09:41:52 +12:00
Luke Edwards
2fbeda1564
ADD New search component for SiteTree (#2224) 2018-09-04 13:13:33 +12:00
Robbie Averill
eae155a228
Merge pull request #2239 from pine3ree/patch-3
simplify code using !empty
2018-08-18 09:28:15 +12:00
maks
599e198e89
simplify code using !empty
Hello @robbieaverill, please check my assumption...it's been a long time since I have last used SS (v3.2 was my last, if i remember correctly)
in the following lines 438:
```php
        if (isset($this->templates[$action]) && $this->templates[$action]
            || (isset($this->templates['index']) && $this->templates['index'])
            || $this->template
        ) {
            return parent::getViewer($action);
        }
```
it looks like the 1st two (same-line) condition should be wrapped inside `()` while checking for a non-index action template .... if not just kill this PR at once. :-)
if the answer is yes then we can just use `!empty(...)` which is the same as 'isset(...) + truthy check'

kind regards, 
maks
2018-08-17 14:51:36 +02:00
maks
75bc2da406
use identity operator + code consistency
- use identity operator === to check string
- use single quotes for consistency 
- simplify code using the ternary operator
2018-08-17 14:38:24 +02:00
Daniel Hensby
83e5689b94
Merge branch '4.2' into 4 2018-07-23 15:58:14 +01:00
Daniel Hensby
b653ebfe7a
Merge branch '4.1' into 4.2 2018-07-23 14:50:50 +01:00
Ingo Schommer
262236c3e2
Merge pull request #2115 from andrewandante/pulls/4/add_controller_name_config_var
add controller_name config var to SiteTree for easier override
2018-07-23 14:09:47 +12:00
Robbie Averill
d1112f25b9
Merge pull request #2214 from wilr/patches/anchor-extension
NEW add SiteTree::updateAnchorsOnPage() for defining content anchors
2018-07-16 10:07:03 +12:00
Will Rossiter
f2ebdb7f5e NEW add SiteTree::updateAnchorsOnPage() for user defining additional page anchors 2018-07-15 14:19:14 +12:00
Robbie Averill
e80c7e712b FIX Restore button now has warning colour and correct icon 2018-07-13 12:11:33 +12:00
Luke Edwards
2d9432789b MINOR: Formatting and revert label 2018-07-04 14:05:08 +12:00
Luke Edwards
6ebd8aba3f MINOR: Show 'Inherit from site access settings' if there is no parent 2018-07-04 14:05:08 +12:00
Maxime Rainville
d2f4ded3ef 🐛 Adjust deleteinstallfiles to use PUBLIC_PATH. 2018-05-31 10:12:08 +12:00
Robbie Averill
0f27e9696b Merge branch '4.1' into 4
# Conflicts:
  #	.travis.yml
2018-05-28 18:22:07 +12:00
Robbie Averill
7479907333 Merge remote-tracking branch 'origin/4.0' into 4.1 2018-05-28 18:20:46 +12:00
Daniel Hensby
a393de8d8d
Updating code style 2018-05-02 11:54:59 +01:00
Daniel Hensby
ed17eb2bd8
Revert "FIX Correct SilverStripeNavigator correctly in templates"
This reverts commit cf5a0984ad.
2018-05-01 13:00:11 +01:00
Daniel Hensby
80a8e9033e
Move navigator casting to static 2018-05-01 12:59:53 +01:00
Damian Mooyman
8c11f83ed4
Merge remote-tracking branch 'origin/4.1' into 4
# Conflicts:
#	.travis.yml
2018-04-13 10:25:28 +12:00
Damian Mooyman
61429c17a6
Merge remote-tracking branch 'origin/4.0' into 4.1
# Conflicts:
#	.travis.yml
2018-04-13 10:03:47 +12:00
Damian Mooyman
87d69ba753
ENHANCEMENT Use i18n template for page tree title 2018-04-10 10:30:49 +12:00
Jason Korth
e554e82afa
adjustment to show Page Type title on SiteTree mouseover 2018-04-09 21:52:07 +01:00
Damian Mooyman
6c616f5f7a API Implement polymorphic sitetree link tracking (#2123)
* WIP Implement polymorphic sitetree link tracking

* Update unit tests
Merge SiteTreeTrackedPage into SiteTree directly

* Fix bugs and issues

* Fix support for file link tracking

* Add missing use

* Add back deprecated extension

* Remove obsolete belongs_many_many

* Update deprecations

* BUG Ensure non-SiteTree records support link tracking

* Safer changed check

* Shift file tracking test to assets module

* Better check for live stage on versioning

* Deprecate method

* Cleanup virtualpage

* Clear records on delete

* Ensure upgrade task occurs on draft

* fix linting
2018-04-06 15:53:57 +12:00
Damian Mooyman
48f53a522a
Merge remote-tracking branch 'origin/4.1' into 4 2018-04-05 08:38:24 +12:00
Damian Mooyman
c6af8856c8
Merge remote-tracking branch 'origin/4.0' into 4.1
# Conflicts:
#	code/Controllers/ContentController.php
2018-04-05 08:37:48 +12:00
Daniel Hensby
cf5a0984ad
FIX Correct SilverStripeNavigator correctly in templates 2018-03-22 14:40:14 +00:00
Daniel Hensby
dd0a46f5ba
Merge branch '4.1' into 4 2018-03-18 09:18:19 +00:00
Daniel Hensby
7dea009ad8
Merge branch '4.0' into 4.1 2018-03-18 09:17:51 +00:00
Daniel Hensby
00fea26be9
Merge branch '3.6' into 4.0 2018-03-18 09:17:20 +00:00
Steve Dixon
d096eb7c36 FIX: Remove SearchForm results() function from allowed_actions 2018-03-15 11:53:12 +11:00
Damian Mooyman
354d72165e Update CMS for versioned enhancements (#2122) 2018-03-14 16:34:46 +13:00
Damian Mooyman
90723a2f07
Merge remote-tracking branch 'origin/4.1' into 4 2018-03-13 14:35:13 +13:00
Damian Mooyman
7fc50ef2ed Merge remote-tracking branch 'origin/4.0' into 4.1 2018-03-13 14:34:14 +13:00
Damian Mooyman
2b9faf46fe
BUG Fix InSection failing on non-page controllers
Fixes #2119
2018-03-12 10:31:40 +13:00
Damian Mooyman
dde1349368
BUG Fix invalid css classname in virtualpage 2018-03-05 14:58:32 +13:00
Andrew Aitken-Fincham
1ac1ea73f3 add controller_name config var to SiteTree for easier override 2018-03-01 15:52:39 +00:00
Daniel Hensby
0fd7e63057
Merge branch '4.1' into 4 2018-02-27 11:00:03 +00:00
Rick Hambrook
012bfec5bf FIX Bug field help text translations no longer need to be HTML encoded 2018-02-27 11:12:50 +13:00
Rick Hambrook
289522ba0c
FIX Bug field help text translations no longer need to be HTML encoded 2018-02-22 21:41:11 +13:00
Daniel Hensby
d02c15150b
Merge branch '4.1' into 4 2018-02-21 14:02:52 +00:00
Daniel Hensby
47fdc4c589
Merge branch '4.0' into 4.1 2018-02-21 14:02:17 +00:00
Tim Burt
92c0424d73
Update URL in $meta_generator property of SiteTree to https 2018-02-21 09:10:50 +00:00
Damian Mooyman
289d6a87a2
MINOR Simplify i18n keys 2018-02-21 10:32:13 +13:00
Robbie Averill
9ebea37b33 NEW Add extension point to CMSMain::Breadcrumbs 2018-02-20 14:28:25 +13:00
Damian Mooyman
3be0478e1c
BUG Fix behaviour towards versioned but unstagable records 2018-02-20 11:03:23 +13:00
Daniel Hensby
9d77d32dea
Merge pull request #2099 from creative-commoners/pulls/4.0/dont-alias-this
MINOR Stop aliasing $this in history controller callbacks
2018-02-15 10:01:52 +00:00
Robbie Averill
e3a7a1ffed MINOR Stop aliasing $this in history controller callbacks 2018-02-15 13:38:29 +13:00
Damian Mooyman
b291306c03
Merge remote-tracking branch 'origin/4.1' into 4
# Conflicts:
#	client/dist/js/bundle.js
2018-02-15 09:24:08 +13:00
Christopher Joe
e05c47a550 Remove passing in record 2018-02-14 14:00:04 +13:00
Chris Joe
a3873a6422
Merge pull request #2093 from open-sausages/pulls/4.1/mind-if-i-button
Replace save draft / save & publish buttons with save, publish
2018-02-12 10:47:14 +13:00
Christopher Joe
01514490fe Feature remove File extension for backlink tracking in favour of UsedOnTable form field 2018-02-09 15:33:32 +13:00
Aaron Carlino
ca8b728580 replace save draft / save & publish buttons with save, publish 2018-02-09 12:18:57 +13:00
Robbie Averill
b084fe8177 NEW Convert page history notice to use Bootstrap 4 info alert 2018-02-07 16:47:24 +13:00
Chris Joe
98d1456384
Merge pull request #2088 from open-sausages/pulls/4.0/daft-draft
Add missing button styles to restore draft action
2018-02-07 15:51:48 +13:00
Luke Edwards
168b899917 BUG Add missing button styles to restore draft action 2018-02-07 14:06:21 +13:00
Loz Calver
fb30448033
Merge pull request #2085 from creative-commoners/pulls/4.1/warning-classes
NEW Use Bootstrap alerts instead of legacy message classes for install.php warning
2018-02-02 09:08:49 +00:00
Robbie Averill
f582954aea NEW Use Bootstrap alerts instead of legacy message classes for install.php warning 2018-02-02 13:02:47 +13:00
Chris Joe
07e70148da BUG Add some exist check for tabsets which may not be there (#2079) 2018-01-31 10:45:31 +13:00
Damian Mooyman
e99bd6f49e
ENHANCEMENT Ensure all base folders are excluded
ENHANCEMENT Controller names are now allowed as urlsegments
Fixes #2059
2018-01-25 15:33:10 +13:00
Damian Mooyman
cb2745c737
Refactor and cleanup SiteTreeFileFormFactoryExtension 2018-01-16 16:53:11 +13:00
Mike Cochrane
8b19afe235 File Form missing CMS Usage information 2018-01-16 15:48:15 +13:00
Daniel Hensby
5a77ec8cea
Merge branch '4.0' into 4 2018-01-15 16:19:22 +00:00
Damian Mooyman
23a23043bc Fix successfullyinstalled() (#2069)
Cleanup ContentController.php
2018-01-12 14:39:27 +13:00
Robbie Averill
157aef8eb7 FIX Implement correct subsites namespace in File extension 2018-01-08 15:40:48 +13:00
Damian Mooyman
c4b2782ce0
Automatic linting fixes 2017-12-19 10:31:25 +13:00
Damian Mooyman
227ce39414
Merge branch '4.0' into 4 2017-12-18 16:16:20 +13:00
Damian Mooyman
210213a455
Fix search behaviour 2017-12-13 18:16:34 +13:00
Damian Mooyman
073cb77500 Trim some unnecessary API 2017-12-13 17:10:39 +13:00
Saophalkun Ponlu
8a04e9c46b Fix wrong/confusing url segment 2017-12-13 17:10:39 +13:00
Saophalkun Ponlu
b391db4977 Fix search view 2017-12-13 17:10:39 +13:00
Saophalkun Ponlu
042dbbb13d Remember pages view type 2017-12-13 17:10:39 +13:00
Damian Mooyman
c2d54a571d Fix up code style, fix tests
Add in missing service definitions
2017-12-13 16:36:01 +13:00
Aaron Carlino
8ee5d9f5ce ENHANCEMENT Cache canCreate 2017-12-13 16:26:36 +13:00
Lee Bradley
7eb04121a6 Change new HTMLEditorField to HTMLEditorField::Create (#2050)
This allows for the field to be overridden using
  the injector e.g.

```yml

SilverStripe\Core\Injector\Injector:
  SilverStripe\Forms\HTMLEditor\HTMLEditorField:
    class: SilverStripers\markdown\forms\MarkdownEditorField
```
2017-12-07 15:36:51 +13:00
Loz Calver
7efe667a48 FIX: VirtualPage not using target page's template (fixes #2039) (#2041)
* FIX: VirtualPage refreshFromCopied creates duplicate URLSegments on first write

* FIX: VirtualPage not using target page's template (fixes #2039)
2017-12-06 11:59:30 +13:00
Lee Bradley
1fedc5fc10 API Make CMSMain::getSiteTreeFor() default to null nodeCount (#2029) 2017-11-28 10:09:27 +13:00
Daniel Hensby
c007eab72c
Merge branch '4.0' into 4 2017-11-26 16:01:48 +00:00
Lee Bradley
d3fa8946be
Issue-2034: Fix for Page icons using data urls
Fixes #2034

Code was getting the icon twice, both in SiteTree &
  LeftAndMainPageIconsExtenstion.
Now just uses `SiteTree::getPageIconURL()`
Tweaked to use `sprintf` instead of double quotes
2017-11-23 15:42:31 +00:00
Damian Mooyman
8de154d92c
BUG Restore missing '(Choose Page)' text in link insert modal 2017-11-16 14:43:32 +13:00
Damian Mooyman
53b0090826
Merge remote-tracking branch 'origin/4.0' into 4 2017-11-16 10:18:08 +13:00
Chris Joe
365eabb85a
Merge pull request #2010 from open-sausages/pulls/4.0/deprecated-each
BUG Remove usage of deprecated each()
2017-11-08 16:32:25 +13:00
Damian Mooyman
a9cc93749d
Merge pull request #2011 from open-sausages/pulls/4.0/dont-give-me-a-falsified-report
BUG Fix ambiguous query for content report
2017-11-02 12:03:13 +13:00
Damian Mooyman
6c2d5311d3
Docblock 2017-11-02 11:29:49 +13:00
Chris Joe
0b8c5d7bb0
Merge pull request #2007 from open-sausages/pulls/4.0/site_url_check
BUG Safely check for is_site_url before parsing a shortcode
2017-11-02 10:02:12 +13:00
Damian Mooyman
0946332915
Remove table prefix 2017-11-01 17:19:04 +13:00
Christopher Joe
c331dedae9 BUG Fix ambiguous query for content report 2017-11-01 17:02:00 +13:00
Damian Mooyman
1bdfd05648
BUG Remove usage of deprecated each() 2017-11-01 14:51:14 +13:00
Damian Mooyman
4fb5306008
BUG Safely check for is_site_url before parsing a shortcode 2017-10-30 14:38:31 +13:00
Robbie Averill
4d0632892b FIX Add warning state to revert action in CMS page history 2017-10-27 17:32:00 +13:00
Damian Mooyman
74495b498f
Merge remote-tracking branch 'origin/4.0' into 4 2017-10-25 17:01:34 +13:00
Damian Mooyman
7b71b2868e Merge pull request #1999 from open-sausages/pulls/4.0/you-cannot-see-what-you-cannot-see
FIX revert to this button after archiving
2017-10-24 09:46:08 +13:00
Daniel Hensby
9e903f801f
Merge branch '3.5' into 3.6 2017-10-20 11:03:25 +01:00
Sam Minnee
494dbd1ef2 Merge branch '4.0' into 4 2017-10-20 18:46:05 +13:00
Christopher Joe
a73d5b4177 FIX revert to this button after archiving 2017-10-20 10:01:56 +13:00
Christopher Joe
689c198fbe FIX revert to this button after archiving 2017-10-20 09:26:35 +13:00
Damian Mooyman
77b26b36fd
BUG Fix page icons in vendor modules 2017-10-19 15:41:12 +13:00
Jake B
1013c2b006 DOC: Update comment to inform the correct location of the PageIconCSS generation code 2017-10-18 15:23:39 +11:00
Aaron Carlino
88dd3cb807 Force SiteTree to check in DB before deleting children 2017-10-17 11:01:44 +13:00
Aaron Carlino
9ae6fbffe1 SiteTree check if in DB before delete children 2017-10-17 10:59:27 +13:00
Simon Erkelens
9eacf0eee6 Disable the ability to use reserved URL's
Fixes https://github.com/silverstripe/silverstripe-framework/issues/7139

Move check for disallowed rules to validURLSegment

Fix test
2017-10-14 12:08:31 +13:00
Jason
fd39faeefd
BUG UploadField overwriteWarning isn't working in AssetAdmin
When UploadField overwriteWarning is enabled, no overwrite warning message for uploading file in non-root folder. This fix will let CMSFileAddController know the current folder when 'fileexists' AJAX request is called.
2017-10-13 11:00:17 +01:00
Damian Mooyman
c8f95182cb
Fix icon urls 2017-10-10 17:03:22 +13:00
Damian Mooyman
49fd3391fe BUG Prevent icons CSS being included twice 2017-10-05 10:04:57 +13:00