Merge branch '4.4' into 4

This commit is contained in:
Aaron Carlino 2019-06-10 16:26:55 +12:00
commit 8a44071ec6
4 changed files with 23 additions and 5 deletions

View File

@ -2369,7 +2369,11 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
*/
protected function generateHintsCacheKey($memberID)
{
return md5($memberID . '_' . __CLASS__);
$baseKey = $memberID . '_' . __CLASS__;
$this->extend('updateHintsCacheKey', $baseKey);
return md5($baseKey);
}
/**

View File

@ -43,15 +43,26 @@ class CMSPageAddController extends CMSPageEditController
public function AddForm()
{
$pageTypes = array();
$defaultIcon = Config::inst()->get(SiteTree::class, 'icon_class');
foreach ($this->PageTypes() as $type) {
$class = $type->getField('ClassName');
$icon = Config::inst()->get($class, 'icon_class') ?: $defaultIcon;
// If the icon is the SiteTree default and there's some specific icon being provided by `getPageIconURL`
// then we don't need to add the icon class. Otherwise the class take precedence.
if ($icon === $defaultIcon && !empty(singleton($class)->getPageIconURL())) {
$icon = '';
}
$html = sprintf(
'<span class="page-icon %s class-%s"></span><span class="title">%s</span><span class="form__field-description">%s</span>',
Config::inst()->get($type->getField('ClassName'), 'icon_class'),
Convert::raw2htmlid($type->getField('ClassName')),
$icon,
Convert::raw2htmlid($class),
$type->getField('AddAction'),
$type->getField('Description')
);
$pageTypes[$type->getField('ClassName')] = DBField::create_field('HTMLFragment', $html);
$pageTypes[$class] = DBField::create_field('HTMLFragment', $html);
}
// Ensure generic page type shows on top
if (isset($pageTypes['Page'])) {

View File

@ -31,6 +31,9 @@ class LeftAndMainPageIconsExtension extends Extension
$css = '';
$classes = ClassInfo::subclassesFor(SiteTree::class);
foreach ($classes as $class) {
if (!empty(Config::inst()->get($class, 'icon_class', Config::UNINHERITED))) {
continue;
}
$iconURL = SiteTree::singleton($class)->getPageIconURL();
if ($iconURL) {
$cssClass = Convert::raw2htmlid($class);

View File

@ -279,7 +279,7 @@ class VirtualPage extends Page
$fields->addFieldToTab("Root.Main", new LiteralField(
'VirtualPageMessage',
'<div class="message notice">' . implode('. ', $msgs) . '.</div>'
'<div class="alert alert-info">' . implode('. ', $msgs) . '.</div>'
), 'CopyContentFromID');
});