Broken by jQuery UI ajax behaviour in tabs, which compares
URLs to determine if the tab needs to be loaded via ajax.
This was always a brittle solution, and now broke alongside
our upgrade to jQuery UI 1.9 (specifically, with 2657a275).
The ajax behaviour is now globally disabled in favour of
having '.cms-panel-link' behaviour on the tabs, which
was already in place.
Check for presence of href in _a_ tags before trying to .match them to
prevent null pointer errors.
Some external JS libs (eg tag-it) use <ul><a> structures which get matched
and break
(fixes regression introduced by ff39f9ad38)
Settings.url no longer contains the URL, as a result navigating around
tabs in IE (browsers that do not support History API) becomes broken.
For example when the admin is opened on "Pages" section it is impossible to
navigate to specific page, or if the admin is opened on a tab, it's not
possible to navigate to another tab.
Since the tinymce upgrade from 3.5.6 to 3.5.7 it seems like data attributes are forbidden on tags.
This fix tells tinymce to allow data* properties on img tags
SecurityAdmin isn't always available for CMS users, as they might
not have permission to view that section. This fixes the problem
with session keep alive by moving the ping to Security/ping, which
is available for all users.
The existence of .ss-tabset triggers JS which applies $.tabs(),
and in turn interprets the first available link as the tab navigation.
jQuery UI subsequently tries to ajax-load this link, which is not
desired. Instead, $.tabs() should *only* be applied to a container
DOM element with .cms-tabset applied.
Everytime TinyMCE is saved, it adds characters immediately
after anchors, e.g. <a name="test"></a> - this fix stops
TinyMCE from adding those extraneous after the anchors.
The entire framework repo (with the exception of system-generated files) has been amended to respect the 120c line-length limit. This is in preparation for the enforcement of this rule with PHP_CodeSniffer.
This is partly a fix to #7574, although quite different from the work Ingo did on Content-length. The text/json mime type occasionally gets a charset suffixed to it by the webserver, which broke everything.
A follow-on fix from this would be to get the PHP code to supply charsets more consistently, so that webservers don't have to make things up.
Additionally, the 2nd interpretation - which treats the response as text/html - should probably only happen if the response is text/html, and throw a more helpful error otherwise.
If you're logged in as a specific user in a group who has view/edit
permissions of a page that has a parent page which doesn't have
permissions, you can't expand the tree node to get access to that
nested page.
This fixes LeftAndMain.Tree.js to allow expanding if there are
immediate children tree nodes that are not disabled. Also fixes
styling so that only immediate children nodes are greyed out.
Fixes this ticket: http://open.silverstripe.org/ticket/7913
Add optional custom menu icons to the CMS main menu for every class
extending LeftAndMain (ModelAdmin). Works by setting optional static
$menu_icon = '/path/to/image' and providing custom styling for added
icons. Works for the menu as well as icon in the right-side (GridField) pane header.
The issue causes the moved page to revert to previous location when Save and Publish before any page refresh or page switching.
This commit also adds 'Modified' badge to the moved page
jQuery seems to order by DOM rather than occurrence of
selectors, which means it always takes the last populated
field (in our case the "live" link over the "draft" link).
Goes by priority, but allows for fields to be empty.
This is important e.g. for models which are removed just
from live, or just from draft.
Also reacts to a field rename done in CMS module (62783c75).
Causes field to change width after first display,
as the .hasDatepicker class is added dynamically on first field focus.
Since we don't add an icon by default, there's no difference
between an <input> field with date picker, an input field for dates,
and a simple input field. Fall back to global (or CMS specific) rules.
No longer necessary as we've fixed the Chosen.js width
settings, which means the <select> fields can inherit
their settings and determine width automatically.