Commit Graph

225 Commits

Author SHA1 Message Date
Stig Lindqvist
45046f08e8 Bug: CMS tree filters doesn't count the correct number of children for deleted pages
This is a bug that combines Hierarchy, Versioned and LeftAndMain admins and CMSSiteTreeFilters.

This bug can be reproduced by having a large site tree with enough deleted pages in it so it doesn't
pre load all the children pages when initially opening an admin. Filter by either 'All pages including deleted'
or 'Deleted pages'. For CMS users it will look like deleted pages are gone.

The solution involves a couple of smaller fixes in both CMS and framework modules.

1) Ensure that 'numHistoricalChildren' are used instead of 'numChildren' when dealing with deleted pages
2) LeftAndMain::currentPage() deletes all the 'marking' cache previously built up by Hierarchy::markPartialTree()
3) Use Versioned::get_included_deleted() instead of raw DB queries against the DataObject tables when calculating parents in CMSSiteTreeFilter
2014-07-25 16:18:54 +12:00
Damian Mooyman
a395c5322f API Move of codebase to parameterised query database abstraction layer
API Renamed DB static methods to properly conform to naming convention (lowercase, underscored)
API Replaced deprecated method
2014-07-07 15:07:37 +12:00
Rodney Way
1e194854e0 BUG: Ensure that all child pages are deleted (regardless of ShowInMenu status) under enforce_strict_hierarchy.
Also updated SiteTree YML test data to match.
2014-06-24 13:29:16 +10:00
Damian Mooyman
519b0dfaa0 Merge remote-tracking branch 'origin/3.1' 2014-06-17 18:18:21 +12:00
Damian Mooyman
b8d19ba495 BUG Fix deleted pages redirecting the CMS
Update behat tests for Mink 1.6 compatibility
2014-06-17 10:36:08 +12:00
micmania1
f46b6bde51 Added getBreadcrumbItems to SiteTree 2014-05-08 03:21:40 +01:00
Damian Mooyman
89fbae2c2e BUG Fix encoding of SiteTree.MetaTags 2014-04-29 08:54:17 +12:00
Damian Mooyman
3204ab5af3 BUG Fix orphaned pages reporting they can be viewed 2014-04-07 12:52:07 +12:00
Stephen Shkardoon
8e50405871 FIX Prevent SQLi when no URL filters are applied 2014-03-19 19:05:13 +13:00
Simon Welsh
2503d1dca2 Merge pull request #911 from chillu/pulls/908-all-sections-canedit
Page edit access with CMS_ACCESS_LeftAndMain (fixes #908)
2014-03-16 20:12:15 +13:00
Hamish Friedlander
224033e518 FIX Limit ExtraMeta to only allow meta and link elements 2014-02-17 12:08:09 +13:00
Gus King
7b4cc316ef Numerous PHPDoc fixes. 2014-02-10 15:35:13 -05:00
Gus King
457cadb103 Documented magic properties/methods of SiteTree and SiteConfig. 2014-02-09 19:13:04 -05:00
Ingo Schommer
1f17f4320d Page edit access with CMS_ACCESS_LeftAndMain (fixes #908)
"Access to all sections" implies edit access in the CMS
2013-12-13 10:05:06 +01:00
Ingo Schommer
aae6b2b296 Avoid encoded HTML breadcrumbs 2013-10-11 00:27:21 +02:00
Ingo Schommer
8a96bab70d Merge remote-tracking branch 'origin/3.0' into 3.1 2013-09-27 18:50:52 +02:00
Ingo Schommer
e170f4c21b FIX Escaping in "dependent pages" (SS-2013-009) 2013-09-24 21:37:26 +02:00
Ingo Schommer
29e502a63a Hints for SiteTree.TreeTitle casting
Relates to SS-2013-009
2013-09-24 21:37:26 +02:00
Damian Mooyman
5f828149c3 BUG Fixed instances of loosely defined SQL predicates not qualified by table name
Fixed duplicate SQL escaping on SiteTree::get_by_link
2013-08-29 13:59:45 +12:00
Ingo Schommer
ba57d42349 Merge remote-tracking branch 'origin/3.0' into 3.1.0
Conflicts:
	code/controllers/ContentController.php
	code/model/SiteTree.php
	tests/search/SearchFormTest.php
2013-08-20 20:59:44 +02:00
Hamish Friedlander
71608f0d4a FIX Add SiteTree link tracking as an extension, and apply to SiteTree itself 2013-08-09 11:46:32 +02:00
Simon Welsh
b1664f86a4 FIX Check for stage and drafts in SiteTree::canView() 2013-08-09 10:45:09 +12:00
Hamish Friedlander
a5f00ae2c3 FIX Not checking stage in SiteTree#canView
SiteTree versions that arent the live version shouldnt be accessed by
regular users, but the logic to check that was split off into canViewStage,
which wasnt checked by code that isnt specifically SiteTree aware
(like RestfulServer)
2013-07-05 12:14:22 +12:00
Ingo Schommer
98750a9cf1 Merge pull request #772 from chillu/pulls/sitetree-urlsegment-votes
API SiteTree->validURLSegment() prioritizes extension votes
2013-06-25 02:18:08 -07:00
Jeremy Thomerson
b8908efdf7 ENHANCEMENT: allow sites to override meta generator tag 2013-06-17 20:35:14 +00:00
Ingo Schommer
0c4b2f8157 API SiteTree->validURLSegment() prioritizes extension votes
Tri-state, use NULL to ignore the extension result
2013-06-12 12:32:42 +02:00
g4b0
238f2908e5 BUG: fixed "regression" inserted with 9281ebc647 adding a new class to SiteTree elem (edit-disabled) 2013-06-03 13:46:10 +02:00
Sean Harvey
20f044cef0 BUG Fixing regression from silverstripe/sapphire/67d1327
Status flag classes didn't pick up styling because the flag was
changed to prefix "status-".
2013-05-26 12:31:15 +12:00
Russell Michell
9281ebc647 BUGFIX: Content authors with SiteTree#canView() but not SiteTree#canEdit() were unable to click on SiteTree items in the CMS.
- The 'disabled' attribute in <li> will now only render if the author _really_ can't do _anything_
2013-05-23 14:48:24 +12:00
Ingo Schommer
b2e9353755 Merge pull request #701 from tractorcow/3.1-api-updaterelativelink
API Added SiteTreeExtension::updateRelativeLink
2013-05-17 05:05:03 -07:00
Mateusz Uzdowski
bccd2f8e51 API Add a missing alternatePreviewLink hook for SiteTree extensions. 2013-05-17 15:00:08 +12:00
Sean Harvey
a681b8e4ab BUG Don't redirect to ErrorPage in CMS with x-cms-edit-link 2013-05-14 00:06:09 +12:00
Simon Welsh
be25c302ac FIX Escape the sitetree_link shortcode return value 2013-05-10 14:05:06 +12:00
Damian Mooyman
61312a5d7f API Added SiteTreeExtension::updateRelativeLink
Updated SiteTreeExtension PHPDoc
Refactored out Translatable extension in RelativeLink
2013-05-10 12:22:22 +12:00
Sean Harvey
b4f2e35b32 Updating text for permission description to be accurate for 3.x 2013-04-30 17:58:47 +12:00
Ingo Schommer
51c8e8639e API Marked statics private, use Config API instead (#8317)
See "Static configuration properties are now immutable, you must use Config API." in the 3.1 change log for details.
2013-03-24 17:21:04 +01:00
Ingo Schommer
b19a82b693 SiteTree on*() callbacks now consistently invoke on subclasses as well
Before this was only possible for some specific ones, like onBeforeWrite.
This excludes any callbacks with augment*() or update*() naming,
since these are assumed to be on extension only, with a corresponding
base method available on the class itself (e.g. "updateCMSFields()"
vs "getCMSFields()").
2013-02-06 10:43:31 +01:00
Ingo Schommer
00097a5d5d NEW Clickable URL preview in CMS
- Refactored SiteTreeURLSegmentField to render controls in template
rather than JS for better clientside performance, and cleaner behaviour.
- Added dynamic ellipsis to start of URL, to retain most relevant
part of the URL (the last bits)
- Added "suffix" setting to field, which defaults to ?stage=Stage
- Removed prefix from edit view to leave more room for URL

Thanks to @sunnysideup for getting this started in
https://github.com/silverstripe/silverstripe-cms/pull/269
2013-02-04 12:12:28 +01:00
Ingo Schommer
61f2ab7519 Merge remote-tracking branch 'origin/3.0' into 3.1 2013-01-21 10:03:30 +01:00
unclecheese
cfc976bff8 MINOR: Grammar error 2013-01-17 14:31:35 -05:00
Ingo Schommer
76aeec70e7 NEW SiteTree->PreviewLink() for fine grained URL control 2013-01-14 17:12:23 +01:00
Normann Lou
f674af0c73 BUG: dependentPages grid field not showing necessary columns and their values. 2013-01-09 22:35:54 +01:00
Ingo Schommer
cc536f644e Fixed "last edited" display in CMS actions 2012-12-17 12:31:28 +01:00
Ingo Schommer
5b2cc19704 Added placeholder text to group listboxes 2012-12-15 19:57:14 +01:00
Ingo Schommer
74d63791b7 Fixed regression in SiteTree->getCMSActions()
Caused by toolbar recent changes
2012-12-14 01:21:54 +01:00
Mateusz Uzdowski
26cc14a930 API Rework the CMS actions to use alternating buttons and drop-ups.
Utilise the new features provided by the framework to get richer
interface:
* save buttons that highlight the current state of the page
* minor actions in a drop-up
* embed last publishing and saving information
2012-12-13 19:10:39 +01:00
Ingo Schommer
1bf67fd942 Merge remote-tracking branch 'origin/3.0' 2012-12-10 18:09:34 +01:00
Mateusz Uzdowski
c0751df54e BUG Remove handwritten SQL and use the ORM.
The custom SQL does not take subsites into account and breaks the CMS
on certain pages - under some circumstances the custom count will return
1 or more, while the set will be in fact empty because of augmentation.
2012-12-05 10:27:12 +13:00
Sean Harvey
cef087f689 Removed deprecated SiteTree::TreeTitle(), use getTreeTitle() instead 2012-11-15 14:41:17 +13:00
Sean Harvey
d236bb58eb Removed deprecated SiteTree::prepopuplate_permission_cache()
This function is misspelled, and was marked deprecated. This commit
removes that function. Please use prepopulate_permission_cache()
instead (note the removal of the extraneous "p" in "prepopuplate")
2012-11-15 14:39:48 +13:00
Sam Minnee
ef32310ef8 FIX: Allow 1024 chars for keywords, not a mere 255 2012-11-05 17:58:32 +13:00
Ingo Schommer
17113039be NEW Enable SiteTree::$nested_urls by default 2012-10-08 17:05:46 +02:00
Ingo Schommer
0d03c62984 Merge remote-tracking branch 'origin/3.0' 2012-10-03 16:16:25 +02:00
Ingo Schommer
a6d09988ed Merge pull request #214 from silverstripe-droptables/ssexpress
Tweaks to CMS required for Translatable
2012-10-02 02:10:47 -07:00
Robert Curry
9cf5a6f47a BUG: Remove the is_null check on augmentValidURLSegment
Object::extend already does a check for NULL before it adds the results
to the array of return values. This was required for Translatable as the
result from Translatable::augmentValidURLSegment was being ignored.
2012-10-02 11:29:10 +13:00
Sean Harvey
cb8c10a473 Merge branch '3.0' of github.com:silverstripe/silverstripe-cms into 3.0 2012-09-27 10:49:03 +12:00
Sean Harvey
345dbc8a4f BUG Fixing broken links "admin/show", should be "admin/pages..." 2012-09-25 15:31:42 +12:00
Ingo Schommer
cbd31e3ab2 API Removed SiteTree.MetaTitle and MetaKeywords
They are irrelevant in terms of SEO, general page informancy,
clutter up the CMS UI, and encourage CMS authors to waste
their time filling them out.

[1] http://www.seomoz.org/learn-seo/title-tag
[2] http://www.mattcutts.com/blog/keywords-meta-tag-in-web-search/
2012-09-21 11:31:00 +02:00
Ingo Schommer
cebce51bc1 Merge branch 'open/7875' of git://github.com/jbridson/silverstripe-cms into jbridson-open/7875 2012-09-21 10:49:20 +02:00
Ingo Schommer
df44239060 Method visibility according to coding conventions 2012-09-20 10:41:50 +02:00
Jeremy Bridson
05d5bd7508 ENHANCEMENT:open/7875 - added help labels to metadata fields on page content edit screen. 2012-09-20 13:22:12 +12:00
Damian Mooyman
02e95adb4c BUG Consistently save SiteConfig, and refactor Translatable hooks
Squashed commit of the following:

commit a60eddfacc710d3047bd1d5107e5df0cc6dba93c
Merge: c847b55 76be14b
Author: Ingo Schommer <ingo@silverstripe.com>
Date:   Fri Sep 7 17:02:47 2012 +0200

    Merge branch '3.0-translation-migration' of git://github.com/tractorcow/silverstripe-cms into tractorcow-3.0-translation-migration

commit 76be14b1fc
Author: Damian Mooyman <damian.mooyman@gmail.com>
Date:   Fri Aug 24 08:28:18 2012 +1200

    FIXED: Indentation

commit 715b60387c
Author: Damian Mooyman <damian.mooyman@gmail.com>
Date:   Fri Aug 24 08:25:14 2012 +1200

    FIXED: Coding style inconsistencies

commit 6395f9030e
Author: Damian Mooyman <damian.mooyman@gmail.com>
Date:   Thu Aug 16 16:30:11 2012 +1200

    FIXED: Issue where new SiteConfig instances weren't always saved to the database

commit aca242e31c
Author: Damian Mooyman <damian.mooyman@gmail.com>
Date:   Thu Aug 16 14:22:56 2012 +1200

    UPDATED: Refactored Translation module specific code out of the SiteConfig
2012-09-07 17:06:29 +02:00
Hamish Friedlander
af2c890168 Merge pull request #190 from silverstripe-rebelalliance/open/5971
NEW Add warning if viewed SiteTree object class is obsolete
2012-09-02 14:12:23 -07:00
Ingo Schommer
1cd82e2db1 BUG Enforce $allowed_children in controllers on page creation (fixes #7694)
Original bug fix contributed by @kmayo-ss
2012-09-02 18:20:22 +02:00
Hamish Friedlander
949507c3fe NEW Add warning if viewed SiteTree object class is obsolete 2012-08-29 14:48:23 +12:00
Ingo Schommer
8a514d8b64 BUG Correct live state in SiteTree->getAbsoluteLiveLink()
Was fetching the record from live (and its direct URLSegment),
but all of its parents from the current stage, which might be draft,
leading to "mixed" draft/live nested URLs which might no longer
be reachable in live mode.
2012-08-28 19:04:16 +02:00
Ingo Schommer
59546ccf11 Localized page name in "add page" dialog and dropdowns (see #7798) 2012-08-26 23:58:38 +02:00
Ingo Schommer
2e791abad2 Better i18n for "new page" label (fixes #7796)
Also using better standard name for auto generated
page names ("Page" instead of "Site Tree",  "Pages" instead of "Site Tres" [sic])
2012-08-20 22:25:18 +02:00
Ingo Schommer
39a9093715 BUG SiteTree->provideI18nEntities() limited to class
Called for each subclass by the collector,
so we don't need to aggregate here.
In fact, its harmful because it causes entities
to be placed in the wrong definitions file.
The <class>.DESCRIPTION entity was always placed in cms/lang/en.yml,
regardless of the original location of the file containing the class.
2012-08-06 14:28:04 +02:00
Kirk Mayo
b15fabaf0d BUG: open ticket 5880 always show the current page type in the page type dropdown list 2012-07-16 14:56:24 +12:00
Ingo Schommer
69e4fa072a Toggle metadata fields in SiteTree->getCMSFields()
To save space, reduce clutter and deemphasize the fields.
Partially fixes #7405, needs better design though.
2012-07-15 21:29:46 +02:00
Mateusz Uzdowski
54fd54a2fb BUG Change all shortcodes into the new, comma separated, format.
Ref http://open.silverstripe.org/ticket/7337
2012-07-12 17:57:38 +02:00
Ingo Schommer
bb5e3e5fbd MINOR Remove DB dependency from SiteTree->provideEntities()
Use class manifest instead, which provides same level of info,
and means we can run the text collector on bare checkouts
without a database set.
2012-06-25 14:01:19 +02:00
Ingo Schommer
4986355e3f MINOR Simplified page type dropdown labels, removed redundant info (fixes #7474) 2012-06-15 16:22:27 +02:00
Ingo Schommer
e50936fe9f MINOR Added caching to SiteTree->getStatusFlags(), as its called twice for every node now in LeftAndMain->SiteTreeAsUL() (see #7410) 2012-06-12 19:35:15 +02:00
Sean Harvey
ad28780959 MINOR Use shorthand syntax for DataList querying 2012-05-28 21:05:24 +12:00
Ingo Schommer
1614bc4505 MINOR Removed unknown "cancel draft" button icon (fixes #7333) 2012-05-20 14:20:59 +02:00
Ingo Schommer
af48b3948b Merge pull request #121 from chillu/silverstripe-cms
---

....Main" to "Root.Main", merged "Root.Content.Metadata" tab into "Root.Main"

See https://github.com/silverstripe/sapphire/pull/420

Conflicts:
	code/model/SiteTree.php
2012-05-11 14:03:44 +02:00
Ingo Schommer
1863bb00db ENHANCEMENT Refactored SiteTreeURLSegmentField JS to a more selector based approach (future proof field for reusability e.g. in ModelAdmin with custom DataObject URL previews) 2012-05-10 14:50:08 +02:00
Ryan Wachtl
bd94c6f336 Trac 6981: Opt-in URL Updating 2012-05-09 19:01:57 -05:00
Ingo Schommer
42d404faa8 API CHANGE Restructured SiteTree->getCMSFields() tabs from "Root.Content.Main" to "Root.Main", merged "Root.Content.Metadata" tab into "Root.Main" (fixes #7261) 2012-05-09 17:48:59 +02:00
Ingo Schommer
d15b4ad8ee Merge pull request #119 from chillu/urlsegment-multibyte-fix
Urlsegment multibyte fix
2012-05-09 01:32:52 -07:00
Ingo Schommer
8563322971 BUGFIX Fixed publication of multibyte URLSegment in SiteTree->onBeforeWrite(), was wrongly detecting a change and double encoding 2012-05-08 23:45:29 +02:00
Ingo Schommer
63536af875 MINOR Documentation 2012-05-08 22:22:11 +02:00
Ingo Schommer
38f1236b1f MINOR Switching _t() calls from sprintf() to using injection parameters (#7170) 2012-05-01 22:05:19 +02:00
Ingo Schommer
8c1651ec59 MINOR Using GridField instead of TableListField for SiteTree->getCMSFields() DependentPages (fixes #7239) 2012-04-30 16:10:24 +02:00
Ingo Schommer
a73e45769a ENHANCEMENT Titles for lozenges in page tree for more context (fixes #7206) 2012-04-30 14:56:42 +02:00
Sean Harvey
614f307a37 ENHANCEMENT When loading CMS, ensure that "Parent page" tree dropdown is
either hidden or shown depending on initial "Page location" state
2012-04-23 21:02:29 +12:00
Ingo Schommer
ca853d73f2 ENHANCEMENT Renamed "Content" tab in SiteTree->getCMSFields() to "Main Content" to distinguish it from the top-level "Content" tag 2012-04-18 16:28:07 +02:00
Ingo Schommer
0f7dd7922f API CHANGE Removed $controller context from SiteTree->CMSTreeClasses(), now handled through closures in the specific LeftAndMain usage instead (to handle separate contexts for links and determining "current page") 2012-04-17 22:59:11 +02:00
Ingo Schommer
6aeac37906 API CHANGE Combined "Pages" and "Edit Page" into a single menu entry
ENHANCEMENT Namespaced tree search parameters in CMSMain, in order to detect more reliably if a filter has been applied. Changing page search form to standard pushState behaviour, same as ModelAdmin (for both tree and list view).
MINOR Refactored list view loading
2012-04-17 22:59:08 +02:00
Ingo Schommer
52e69dd1fd MINOR Removed usage of deprecated $priority argument for _t() 2012-04-15 16:49:31 +02:00
Ingo Schommer
2dc0e72c00 ENHANCEMENT Caching expensive CMSMain->SiteTreeHints() call on disk 2012-04-15 16:49:31 +02:00
Ingo Schommer
d9c4aa8583 MINOR Using new DataObject::fieldLabels() caching in SiteTree 2012-04-15 16:49:30 +02:00
Simon Welsh
c4e018928e API-CHANGE sapphire folder can now be renamed. 2012-04-15 10:56:40 +12:00
Will Rossiter
d4750c2a96 MINOR: group ShowInMenus and ShowInSearch check boxes. Fixes #6901 2012-04-14 18:16:47 +12:00
Ingo Schommer
dc0168d01b MINOR Removed $params argument to DataObject->getCMSFields(), please use FormScaffolder directly (fixes #7135) 2012-04-13 15:55:32 +02:00
Ingo Schommer
73a466c927 Merge branch 'integration' 2012-04-11 16:25:46 +02:00
Sam Minnee
7213d2b7dc MINOR: Clarified meaning of SiteTree:: 2012-04-11 15:48:17 +12:00
Ingo Schommer
f021b9eec1 BUGFIX Writing version in SiteTree->doRestoreToStage, regression from 9451993d (fixes #7107) 2012-04-10 12:27:08 +02:00