mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-06-16 01:31:46 +02:00
Merge remote-tracking branch 'origin/3.1'
Conflicts: .travis.yml
This commit is contained in:
commit
0a1ffd3e1a
27
.travis.yml
27
.travis.yml
|
@ -4,7 +4,13 @@ php:
|
|||
- 5.3
|
||||
|
||||
env:
|
||||
- DB=MYSQL CORE_RELEASE=master
|
||||
global:
|
||||
- "ARTIFACTS_AWS_REGION=us-east-1"
|
||||
- "ARTIFACTS_S3_BUCKET=silverstripe-travis-artifacts"
|
||||
- secure: "7V20Qk3bIG2AlTJaA5D/uzB8vUVvRwQp+xjRYUxlahtj9FcuqEV3HIyjwwJe0T6Z1bnRYuu28ZnCT2CfP9BBZ3FE7AwSZbPase9c0/at2qDJNqkvIdC1xZ1H6Fcy2LSwNB9wLQPe613ItVdanitEuwE41iowxBPslxUUTnwx7eY="
|
||||
- secure: "f/GWlbnNri2YpCOrJfZl7tkhpMmcRVUbCdmb+beAY90gFBJQPHtljzf8M4KaCP0OkLOtRFuGoMFdIcpadl4J6IG1XP18IJNz+nKzCL/sJj/FF9y77RdMHWE9jr21G9ar5tywkn7JM6vrnTCY89OnHeQx67SKvxqX5CpVx+rdcEU="
|
||||
matrix:
|
||||
- DB=MYSQL CORE_RELEASE=master
|
||||
|
||||
matrix:
|
||||
include:
|
||||
|
@ -16,28 +22,37 @@ matrix:
|
|||
env: DB=MYSQL CORE_RELEASE=master
|
||||
- php: 5.5
|
||||
env: DB=MYSQL CORE_RELEASE=master
|
||||
- php: 5.4
|
||||
env: DB=MYSQL CORE_RELEASE=master BEHAT_TEST=1
|
||||
allow_failures:
|
||||
- php: 5.5
|
||||
env: DB=MYSQL CORE_RELEASE=master
|
||||
|
||||
before_script:
|
||||
- composer self-update
|
||||
- phpenv rehash
|
||||
- git clone git://github.com/silverstripe-labs/silverstripe-travis-support.git ~/travis-support
|
||||
- php ~/travis-support/travis_setup.php --source `pwd` --target ~/builds/ss
|
||||
- "if [ \"$BEHAT_TEST\" = \"\" ]; then php ~/travis-support/travis_setup.php --source `pwd` --target ~/builds/ss; fi"
|
||||
- "if [ \"$BEHAT_TEST\" = \"1\" ]; then php ~/travis-support/travis_setup.php --source `pwd` --target ~/builds/ss --require silverstripe/behat-extension; fi"
|
||||
- cd ~/builds/ss
|
||||
- php ~/travis-support/travis_setup_selenium.php --if-env BEHAT_TEST
|
||||
- php ~/travis-support/travis_setup_php54_webserver.php --if-env BEHAT_TEST
|
||||
|
||||
script:
|
||||
- phpunit cms/tests/
|
||||
- "if [ \"$BEHAT_TEST\" = \"\" ]; then phpunit cms/tests; fi"
|
||||
- "if [ \"$BEHAT_TEST\" = \"1\" ]; then vendor/bin/behat @cms; fi"
|
||||
|
||||
after_failure:
|
||||
- php ~/travis-support/travis_upload_artifacts.php --if-env BEHAT_TEST,ARTIFACTS_AWS_SECRET_ACCESS_KEY --target-path $TRAVIS_REPO_SLUG/$TRAVIS_BUILD_ID/$TRAVIS_JOB_ID --artifacts-base-url https://s3.amazonaws.com/$ARTIFACTS_S3_BUCKET/
|
||||
|
||||
branches:
|
||||
except:
|
||||
- 2.1
|
||||
- 2.2
|
||||
- 2.3
|
||||
- 2.4
|
||||
- post-2.4
|
||||
- translation-staging
|
||||
|
||||
notifications:
|
||||
irc:
|
||||
channels:
|
||||
- "irc.freenode.org#silverstripe"
|
||||
- "irc.freenode.org#silverstripe"
|
|
@ -446,6 +446,8 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
|||
}
|
||||
}
|
||||
|
||||
$this->extend('updateSiteTreeHints', $def);
|
||||
|
||||
$json = Convert::raw2json($def);
|
||||
$cache->save($json, $cacheKey);
|
||||
}
|
||||
|
|
|
@ -53,7 +53,11 @@ class SiteConfig extends DataObject implements PermissionProvider {
|
|||
*/
|
||||
public function getCMSFields() {
|
||||
|
||||
$groupsMap = Group::get()->map('ID', 'Breadcrumbs')->toArray();
|
||||
$groupsMap = array();
|
||||
foreach(Group::get() as $group) {
|
||||
// Listboxfield values are escaped, use ASCII char instead of »
|
||||
$groupsMap[$group->ID] = $group->getBreadcrumbs(' > ');
|
||||
}
|
||||
asort($groupsMap);
|
||||
|
||||
$fields = new FieldList(
|
||||
|
|
|
@ -1978,7 +1978,11 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
|||
* @return FieldList
|
||||
*/
|
||||
public function getSettingsFields() {
|
||||
$groupsMap = Group::get()->map('ID', 'Breadcrumbs')->toArray();
|
||||
$groupsMap = array();
|
||||
foreach(Group::get() as $group) {
|
||||
// Listboxfield values are escaped, use ASCII char instead of »
|
||||
$groupsMap[$group->ID] = $group->getBreadcrumbs(' > ');
|
||||
}
|
||||
asort($groupsMap);
|
||||
|
||||
$fields = new FieldList(
|
||||
|
|
|
@ -15,20 +15,20 @@
|
|||
var menus = $('#vakata-contextmenu').find("ul ul");
|
||||
|
||||
menus.each(function(i){
|
||||
var col = "1",
|
||||
var col = "1",
|
||||
count = $(menus[i]).find('li').length;
|
||||
|
||||
//Assign columns to menus over 10 items long
|
||||
if(count > 20){
|
||||
col = "3";
|
||||
col = "3";
|
||||
}else if(count > 10){
|
||||
col = "2";
|
||||
col = "2";
|
||||
}
|
||||
|
||||
$(menus[i]).addClass('col-' + col).removeClass('right');
|
||||
|
||||
//Remove "right" class that jstree adds on mouseenter
|
||||
$(menus[i]).find('li').on("mouseenter", function (e) {
|
||||
$(menus[i]).find('li').on("mouseenter", function (e) {
|
||||
$(this).parent('ul').removeClass("right");
|
||||
});
|
||||
});
|
||||
|
@ -38,7 +38,7 @@
|
|||
config.plugins.push('contextmenu');
|
||||
config.contextmenu = {
|
||||
'items': function(node) {
|
||||
|
||||
|
||||
var menuitems = {
|
||||
'edit': {
|
||||
'label': ss.i18n._t('Tree.EditPage', 'Edit page', 100, 'Used in the context menu when right-clicking on a page node in the CMS tree'),
|
||||
|
@ -64,7 +64,7 @@
|
|||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
// Build a list for allowed children as submenu entries
|
||||
var pagetype = node.data('pagetype'),
|
||||
id = node.data('id'),
|
||||
|
@ -100,13 +100,13 @@
|
|||
}
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
if(hasAllowedChildren) {
|
||||
menuitems['addsubpage'] = {
|
||||
'label': ss.i18n._t('Tree.AddSubPage', 'Add page under this page', 100, 'Used in the context menu when right-clicking on a page node in the CMS tree'),
|
||||
'submenu': menuAllowedChildren
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
menuitems['duplicate'] = {
|
||||
'label': ss.i18n._t('Tree.Duplicate'),
|
||||
|
@ -116,7 +116,7 @@
|
|||
'action': function(obj) {
|
||||
$('.cms-container').entwine('.ss').loadPanel(
|
||||
$.path.addSearchParams(
|
||||
ss.i18n.sprintf(self.data('urlDuplicate'), obj.data('id')),
|
||||
ss.i18n.sprintf(self.data('urlDuplicate'), obj.data('id')),
|
||||
self.data('extraParams')
|
||||
)
|
||||
);
|
||||
|
@ -126,7 +126,7 @@
|
|||
'action': function(obj) {
|
||||
$('.cms-container').entwine('.ss').loadPanel(
|
||||
$.path.addSearchParams(
|
||||
ss.i18n.sprintf(self.data('urlDuplicatewithchildren'), obj.data('id')),
|
||||
ss.i18n.sprintf(self.data('urlDuplicatewithchildren'), obj.data('id')),
|
||||
self.data('extraParams')
|
||||
)
|
||||
);
|
||||
|
@ -136,23 +136,33 @@
|
|||
};
|
||||
|
||||
return menuitems;
|
||||
}
|
||||
}
|
||||
};
|
||||
return config;
|
||||
}
|
||||
});
|
||||
|
||||
// Scroll tree down to context of the current page
|
||||
$('.cms-tree a.jstree-clicked').entwine({
|
||||
onmatch: function(){
|
||||
var self = this,
|
||||
panel = self.parents('.cms-panel-content');
|
||||
|
||||
panel.animate({
|
||||
scrollTop: self.offset().top - (panel.height() / 2)
|
||||
}, 'slow');
|
||||
}
|
||||
});
|
||||
// Scroll tree down to context of the current page, if it isn't
|
||||
// already visible
|
||||
$('.cms-tree a.jstree-clicked').entwine({
|
||||
onmatch: function(){
|
||||
var self = this,
|
||||
panel = self.parents('.cms-panel-content'),
|
||||
scrollTo;
|
||||
|
||||
if(self.offset().top < 0 ||
|
||||
self.offset().top > panel.height() - self.height()) {
|
||||
// Current scroll top + our current offset top is our
|
||||
// position in the panel
|
||||
scrollTo = panel.scrollTop() + self.offset().top
|
||||
+ (panel.height() / 2);
|
||||
|
||||
panel.animate({
|
||||
scrollTop: scrollTo
|
||||
}, 'slow');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
}(jQuery));
|
||||
|
|
|
@ -19,7 +19,7 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
|
|||
'CMSMAIN.ERRORREVERTING': 'Błąd podczas powrotu do opublikowanej strony',
|
||||
'CMSMAIN.SAVING' : 'Zapisywanie...',
|
||||
'CMSMAIN.SELECTMOREPAGES' : "Zaznaczono %s stron.\n\nCzy na pewno chcesz wykonać tę akcje?",
|
||||
'CMSMAIN.ALERTCLASSNAME': 'Ta strona zostanie zaktualizowana po jej zapisani\'ur',
|
||||
'CMSMAIN.ALERTCLASSNAME': 'Ta strona zostanie zaktualizowana po jej zapisaniu',
|
||||
'CMSMAIN.URLSEGMENTVALIDATION': 'Adres URL może składać się tylko z liter, cyfr i łączników.',
|
||||
'AssetAdmin.BATCHACTIONSDELETECONFIRM': "Czy na pewno usunąć %s folderów?",
|
||||
'AssetTableField.REALLYDELETE': 'Czy na pewno usunąć zaznaczone pliki??',
|
||||
|
|
Loading…
Reference in New Issue
Block a user