Merge remote-tracking branch 'origin/3'

Conflicts:
	composer.json
This commit is contained in:
Damian Mooyman 2015-07-31 15:49:46 +12:00
commit 3790273ae7
91 changed files with 1276 additions and 341 deletions

View File

@ -1,4 +1,11 @@
language: php
language: php
sudo: false
addons:
apt:
packages:
- tidy
php:
- 5.4
@ -20,8 +27,13 @@ env:
matrix:
allow_failures:
- php: hhvm-nightly
- php: hhvm
- php: 7.0
- php: nightly
include:
- php: 5.4
env: DB=MYSQL PDO=1
- php: 5.5
env: DB=MYSQL
- php: 5.6
@ -30,11 +42,12 @@ matrix:
env: DB=MYSQL BEHAT_TEST=1
- php: 5.3
env: DB=MYSQL
- php: hhvm-nightly
- php: 7.0
env: DB=MYSQL
- php: nightly
env: DB=MYSQL
- php: hhvm
env: DB=MYSQL
before_install:
- sudo apt-get update -qq
- sudo apt-get install -y tidy
before_script:
- composer self-update || true

View File

@ -6,7 +6,7 @@ See our [high level overview](http://silverstripe.org/contributing-to-silverstri
Or, for more detailed guidance, read one of the following pages:
* [Sharing your opinion and raising issues](http://doc.silverstripe.org/framework/en/trunk/misc/contributing/issues)
* [Providing code, whether it's creating a feature or fixing a bug](http://doc.silverstripe.org/framework/en/trunk/misc/contributing/code)
* [Writing and translating documentation](http://doc.silverstripe.org/framework/en/trunk/misc/contributing/documentation)
* [Translating user-interface elements](http://doc.silverstripe.org/framework/en/trunk/misc/contributing/translation)
* [Sharing your opinion and raising issues](http://docs.silverstripe.org/en/3.2/contributing/issues_and_bugs/)
* [Providing code, whether it's creating a feature or fixing a bug](http://docs.silverstripe.org/en/3.2/contributing/code/)
* [Writing and translating documentation](http://docs.silverstripe.org/en/3.2/contributing/translations/)
* [Translating user-interface elements](http://docs.silverstripe.org/en/3.2/contributing/translation_process/)

View File

@ -308,7 +308,7 @@ JS
$fields->setForm($form);
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
// TODO Can't merge $FormAttributes in template at the moment
$form->addExtraClass('cms-edit-form cms-panel-padded center ' . $this->BaseCSSClasses());
$form->addExtraClass('cms-edit-form ' . $this->BaseCSSClasses());
$form->setAttribute('data-pjax-fragment', 'CurrentForm');
$form->Fields()->findOrMakeTab('Root')->setTemplate('CMSTabSet');
@ -360,21 +360,17 @@ JS
foreach($context->getFilters() as $filter) $filter->setFullName(sprintf('q[%s]', $filter->getFullName()));
// Customize fields
$context->addField(
new HeaderField('q[Date]', _t('CMSSearch.FILTERDATEHEADING', 'Date'), 4)
);
$context->addField(
DateField::create(
'q[CreatedFrom]',
_t('CMSSearch.FILTERDATEFROM', 'From')
)->setConfig('showcalendar', true)
);
$context->addField(
DateField::create(
'q[CreatedTo]',
_t('CMSSearch.FILTERDATETO', 'To')
)->setConfig('showcalendar', true)
$dateHeader = HeaderField::create('q[Date]', _t('CMSSearch.FILTERDATEHEADING', 'Date'), 4);
$dateFrom = DateField::create('q[CreatedFrom]', _t('CMSSearch.FILTERDATEFROM', 'From'))
->setConfig('showcalendar', true);
$dateTo = DateField::create('q[CreatedTo]',_t('CMSSearch.FILTERDATETO', 'To'))
->setConfig('showcalendar', true);
$dateGroup = FieldGroup::create(
$dateHeader,
$dateFrom,
$dateTo
);
$context->addField($dateGroup);
$appCategories = array(
'image' => _t('AssetAdmin.AppCategoryImage', 'Image'),
'audio' => _t('AssetAdmin.AppCategoryAudio', 'Audio'),

View File

@ -314,8 +314,8 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
*/
public function SearchForm() {
// Create the fields
$content = new TextField('q[Term]', _t('CMSSearch.FILTERLABELTEXT', 'Content'));
$dateHeader = new HeaderField('q[Date]', _t('CMSSearch.FILTERDATEHEADING', 'Date'), 4);
$content = new TextField('q[Term]', _t('CMSSearch.FILTERLABELTEXT', 'Search'));
$dateHeader = new HeaderField('q[Date]', _t('CMSSearch.PAGEFILTERDATEHEADING', 'Last edited'), 4);
$dateFrom = new DateField(
'q[LastEditedFrom]',
_t('CMSSearch.FILTERDATEFROM', 'From')
@ -328,12 +328,12 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
$dateTo->setConfig('showcalendar', true);
$pageFilter = new DropdownField(
'q[FilterClass]',
_t('CMSMain.PAGES', 'Pages'),
_t('CMSMain.PAGES', 'Page status'),
CMSSiteTreeFilter::get_all_filters()
);
$pageClasses = new DropdownField(
'q[ClassName]',
_t('CMSMain.PAGETYPEOPT', 'Page Type', 'Dropdown for limiting search to a page type'),
_t('CMSMain.PAGETYPEOPT', 'Page type', 'Dropdown for limiting search to a page type'),
$this->getPageTypes()
);
$pageClasses->setEmptyString(_t('CMSMain.PAGETYPEANYOPT','Any'));
@ -356,9 +356,9 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
// Create the Search and Reset action
$actions = new FieldList(
FormAction::create('doSearch', _t('CMSMain_left_ss.APPLY_FILTER', 'Apply Filter'))
FormAction::create('doSearch', _t('CMSMain_left_ss.APPLY_FILTER', 'Search'))
->addExtraClass('ss-ui-action-constructive'),
Object::create('ResetFormAction', 'clear', _t('CMSMain_left_ss.CLEAR_FILTER', 'Clear Filter'))
Object::create('ResetFormAction', 'clear', _t('CMSMain_left_ss.CLEAR_FILTER', 'Clear'))
);
// Use <button> to allow full jQuery UI styling on the all of the Actions
@ -1369,7 +1369,9 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
if(($id = $this->urlParams['ID']) && is_numeric($id)) {
$page = DataObject::get_by_id("SiteTree", $id);
if($page && (!$page->canEdit() || !$page->canCreate())) return Security::permissionFailure($this);
if($page && (!$page->canEdit() || !$page->canCreate(null, array('Parent' => $page->Parent())))) {
return Security::permissionFailure($this);
}
if(!$page || !$page->ID) throw new SS_HTTPResponse_Exception("Bad record ID #$id", 404);
$newPage = $page->duplicate();
@ -1405,7 +1407,9 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
increase_time_limit_to();
if(($id = $this->urlParams['ID']) && is_numeric($id)) {
$page = DataObject::get_by_id("SiteTree", $id);
if($page && (!$page->canEdit() || !$page->canCreate())) return Security::permissionFailure($this);
if($page && (!$page->canEdit() || !$page->canCreate(null, array('Parent' => $page->Parent())))) {
return Security::permissionFailure($this);
}
if(!$page || !$page->ID) throw new SS_HTTPResponse_Exception("Bad record ID #$id", 404);
$newPage = $page->duplicateWithChildren();

View File

@ -7,4 +7,10 @@
*/
class CMSSettingsController extends SiteConfigLeftAndMain {
/**
* @config
* @var int
*/
private static $url_priority = 60;
}

View File

@ -402,15 +402,15 @@ HTML;
if($action == "index") $action = "";
else $action = '_' . $action;
// Find templates by dataRecord
$templates = SSViewer::get_templates_by_class(get_class($this->dataRecord), $action, "SiteTree");
// Next, we need to add templates for all controllers
$templates += SSViewer::get_templates_by_class(get_class($this), $action, "Controller");
// Fail-over to the same for the "index" action
$templates += SSViewer::get_templates_by_class(get_class($this->dataRecord), "", "SiteTree");
$templates += SSViewer::get_templates_by_class(get_class($this), "", "Controller");
$templates = array_merge(
// Find templates by dataRecord
SSViewer::get_templates_by_class(get_class($this->dataRecord), $action, "SiteTree"),
// Next, we need to add templates for all controllers
SSViewer::get_templates_by_class(get_class($this), $action, "Controller"),
// Fail-over to the same for the "index" action
SSViewer::get_templates_by_class(get_class($this->dataRecord), "", "SiteTree"),
SSViewer::get_templates_by_class(get_class($this), "", "Controller")
);
return new SSViewer($templates);
}

View File

@ -129,7 +129,7 @@ class ModelAsController extends Controller implements NestedController {
}
/**
* @deprecated 3.2 Use OldPageRedirector::find_old_page instead
* @deprecated 4.0 Use OldPageRedirector::find_old_page instead
*
* @param string $URLSegment A subset of the url. i.e in /home/contact/ home and contact are URLSegment.
* @param int $parent The ID of the parent of the page the URLSegment belongs to.
@ -137,7 +137,7 @@ class ModelAsController extends Controller implements NestedController {
* @return SiteTree
*/
static public function find_old_page($URLSegment, $parent = null, $ignoreNestedURLs = false) {
Deprecation::notice('3.2', 'Use OldPageRedirector::find_old_page instead');
Deprecation::notice('4.0', 'Use OldPageRedirector::find_old_page instead');
if ($parent) {
$parent = SiteTree::get()->byId($parent);
}

View File

@ -63,22 +63,22 @@ class RootURLController extends Controller {
* Set the URL Segment used for your homepage when it is created by dev/build.
* This allows you to use home page URLs other than the default "home".
*
* @deprecated 3.2 Use the "RootURLController.default_homepage_link" config setting instead
* @deprecated 4.0 Use the "RootURLController.default_homepage_link" config setting instead
* @param string $urlsegment the URL segment for your home page
*/
static public function set_default_homepage_link($urlsegment = "home") {
Deprecation::notice('3.2', 'Use the "RootURLController.default_homepage_link" config setting instead');
Deprecation::notice('4.0', 'Use the "RootURLController.default_homepage_link" config setting instead');
Config::inst()->update('RootURLController', 'default_homepage_link', $urlsegment);
}
/**
* Gets the link that denotes the homepage if there is not one explicitly defined for this HTTP_HOST value.
*
* @deprecated 3.2 Use the "RootURLController.default_homepage_link" config setting instead
* @deprecated 4.0 Use the "RootURLController.default_homepage_link" config setting instead
* @return string
*/
static public function get_default_homepage_link() {
Deprecation::notice('3.2', 'Use the "RootURLController.default_homepage_link" config setting instead');
Deprecation::notice('4.0', 'Use the "RootURLController.default_homepage_link" config setting instead');
return Config::inst()->get('RootURLController', 'default_homepage_link');
}

View File

@ -300,20 +300,20 @@ class ErrorPage extends Page {
* Set the path where static error files are saved through {@link publish()}.
* Defaults to /assets.
*
* @deprecated 3.2 Use "ErrorPage.static_file_path" instead
* @deprecated 4.0 Use "ErrorPage.static_file_path" instead
* @param string $path
*/
static public function set_static_filepath($path) {
Deprecation::notice('3.2', 'Use "ErrorPage.static_file_path" instead');
Deprecation::notice('4.0', 'Use "ErrorPage.static_file_path" instead');
self::config()->static_filepath = $path;
}
/**
* @deprecated 3.2 Use "ErrorPage.static_file_path" instead
* @deprecated 4.0 Use "ErrorPage.static_file_path" instead
* @return string
*/
static public function get_static_filepath() {
Deprecation::notice('3.2', 'Use "ErrorPage.static_file_path" instead');
Deprecation::notice('4.0', 'Use "ErrorPage.static_file_path" instead');
return self::config()->static_filepath;
}
}

View File

@ -165,7 +165,8 @@ class RedirectorPage_Controller extends Page_Controller {
public function init() {
parent::init();
if($link = $this->redirectionLink()) {
// Check we don't already have a redirect code set
if(!$this->getResponse()->isFinished() && $link = $this->redirectionLink()) {
$this->redirect($link, 301);
return;
}

View File

@ -241,69 +241,69 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
* by deleting all children when the their parent is deleted (TRUE),
* or rather preserve this data even if its not reachable through any navigation path (FALSE).
*
* @deprecated 3.2 Use the "SiteTree.enforce_strict_hierarchy" config setting instead
* @deprecated 4.0 Use the "SiteTree.enforce_strict_hierarchy" config setting instead
* @param boolean
*/
static public function set_enforce_strict_hierarchy($to) {
Deprecation::notice('3.2', 'Use the "SiteTree.enforce_strict_hierarchy" config setting instead');
Deprecation::notice('4.0', 'Use the "SiteTree.enforce_strict_hierarchy" config setting instead');
Config::inst()->update('SiteTree', 'enforce_strict_hierarchy', $to);
}
/**
* @deprecated 3.2 Use the "SiteTree.enforce_strict_hierarchy" config setting instead
* @deprecated 4.0 Use the "SiteTree.enforce_strict_hierarchy" config setting instead
* @return boolean
*/
static public function get_enforce_strict_hierarchy() {
Deprecation::notice('3.2', 'Use the "SiteTree.enforce_strict_hierarchy" config setting instead');
Deprecation::notice('4.0', 'Use the "SiteTree.enforce_strict_hierarchy" config setting instead');
return Config::inst()->get('SiteTree', 'enforce_strict_hierarchy');
}
/**
* Returns TRUE if nested URLs (e.g. page/sub-page/) are currently enabled on this site.
*
* @deprecated 3.2 Use the "SiteTree.nested_urls" config setting instead
* @deprecated 4.0 Use the "SiteTree.nested_urls" config setting instead
* @return bool
*/
static public function nested_urls() {
Deprecation::notice('3.2', 'Use the "SiteTree.nested_urls" config setting instead');
Deprecation::notice('4.0', 'Use the "SiteTree.nested_urls" config setting instead');
return Config::inst()->get('SiteTree', 'nested_urls');
}
/**
* @deprecated 3.2 Use the "SiteTree.nested_urls" config setting instead
* @deprecated 4.0 Use the "SiteTree.nested_urls" config setting instead
*/
static public function enable_nested_urls() {
Deprecation::notice('3.2', 'Use the "SiteTree.nested_urls" config setting instead');
Deprecation::notice('4.0', 'Use the "SiteTree.nested_urls" config setting instead');
Config::inst()->update('SiteTree', 'nested_urls', true);
}
/**
* @deprecated 3.2 Use the "SiteTree.nested_urls" config setting instead
* @deprecated 4.0 Use the "SiteTree.nested_urls" config setting instead
*/
static public function disable_nested_urls() {
Deprecation::notice('3.2', 'Use the "SiteTree.nested_urls" config setting instead');
Deprecation::notice('4.0', 'Use the "SiteTree.nested_urls" config setting instead');
Config::inst()->update('SiteTree', 'nested_urls', false);
}
/**
* Set the (re)creation of default pages on /dev/build
*
* @deprecated 3.2 Use the "SiteTree.create_default_pages" config setting instead
* @deprecated 4.0 Use the "SiteTree.create_default_pages" config setting instead
* @param bool $option
*/
static public function set_create_default_pages($option = true) {
Deprecation::notice('3.2', 'Use the "SiteTree.create_default_pages" config setting instead');
Deprecation::notice('4.0', 'Use the "SiteTree.create_default_pages" config setting instead');
Config::inst()->update('SiteTree', 'create_default_pages', $option);
}
/**
* Return true if default pages should be created on /dev/build.
*
* @deprecated 3.2 Use the "SiteTree.create_default_pages" config setting instead
* @deprecated 4.0 Use the "SiteTree.create_default_pages" config setting instead
* @return bool
*/
static public function get_create_default_pages() {
Deprecation::notice('3.2', 'Use the "SiteTree.create_default_pages" config setting instead');
Deprecation::notice('4.0', 'Use the "SiteTree.create_default_pages" config setting instead');
return Config::inst()->get('SiteTree', 'create_default_pages');
}
@ -1481,7 +1481,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
if(!SiteTree::get_by_link(Config::inst()->get('RootURLController', 'default_homepage_link'))) {
$homepage = new Page();
$homepage->Title = _t('SiteTree.DEFAULTHOMETITLE', 'Home');
$homepage->Content = _t('SiteTree.DEFAULTHOMECONTENT', '<p>Welcome to SilverStripe! This is the default homepage. You can edit this page by opening <a href="admin/">the CMS</a>. You can now access the <a href="http://doc.silverstripe.org">developer documentation</a>, or begin <a href="http://doc.silverstripe.org/doku.php?id=tutorials">the tutorials.</a></p>');
$homepage->Content = _t('SiteTree.DEFAULTHOMECONTENT', '<p>Welcome to SilverStripe! This is the default homepage. You can edit this page by opening <a href="admin/">the CMS</a>.</p><p>You can now access the <a href="http://docs.silverstripe.org">developer documentation</a>, or begin the <a href="http://www.silverstripe.org/learn/lessons">SilverStripe lessons</a>.</p>');
$homepage->URLSegment = Config::inst()->get('RootURLController', 'default_homepage_link');
$homepage->Sort = 1;
$homepage->write();

View File

@ -56,7 +56,7 @@ class SiteTreeFileExtension extends DataExtension {
*/
public function BackLinkTracking($filter = null, $sort = null, $join = null, $limit = null) {
if($filter !== null || $sort !== null || $join !== null || $limit !== null) {
Deprecation::notice('3.2', 'The $filter, $sort, $join and $limit parameters for
Deprecation::notice('4.0', 'The $filter, $sort, $join and $limit parameters for
SiteTreeFileExtension::BackLinkTracking() have been deprecated.
Please manipluate the returned list directly.', Deprecation::SCOPE_GLOBAL);
}
@ -67,7 +67,7 @@ class SiteTreeFileExtension extends DataExtension {
}
if($filter || $sort || $join || $limit) {
Deprecation::notice('3.2', 'The $filter, $sort, $join and $limit parameters for
Deprecation::notice('4.0', 'The $filter, $sort, $join and $limit parameters for
SiteTreeFileExtension::BackLinkTracking() have been deprecated.
Please manipluate the returned list directly.', Deprecation::SCOPE_GLOBAL);
}

View File

@ -80,7 +80,7 @@ class BrokenLinksReport extends SS_Report {
return $returnSet;
}
public function columns() {
if(isset($_REQUEST['CheckSite']) && $_REQUEST['CheckSite'] == 'Draft') {
if(isset($_REQUEST['filters']['CheckSite']) && $_REQUEST['filters']['CheckSite'] == 'Draft') {
$dateTitle = _t('BrokenLinksReport.ColumnDateLastModified', 'Date last modified');
} else {
$dateTitle = _t('BrokenLinksReport.ColumnDateLastPublished', 'Date last published');
@ -91,7 +91,7 @@ class BrokenLinksReport extends SS_Report {
"Title" => array(
"title" => _t('BrokenLinksReport.PageName', 'Page name'),
'formatting' => function($value, $item) use ($linkBase) {
return sprintf('<a href=\"%s\" title=\"%s\">%s</a>',
return sprintf('<a href="%s" title="%s">%s</a>',
Controller::join_links($linkBase, $item->ID),
_t('BrokenLinksReport.HoverTitleEditPage', 'Edit page'),
$value

View File

@ -16,7 +16,7 @@
}
],
"require": {
"php": ">=5.3.2",
"php": ">=5.3.3",
"composer/installers": "*",
"silverstripe/framework": "4.0.x-dev",
"silverstripe/reports": "*",

View File

@ -13,13 +13,22 @@
/** -------------------------------------------- Tree View (collapsed for sidebar) -------------------------------------------- */
#cms-content-treeview .cms-tree-expand-trigger, #cms-content-listview .cms-tree-expand-trigger { display: none; }
.cms-content-tools #cms-content-treeview .cms-content-toolbar { border-bottom: none; box-shadow: none; margin-bottom: 8px; }
.cms-content-tools #cms-content-treeview .cms-tree-view-modes, .cms-content-tools #cms-content-treeview .cms-content-batchactions { display: none; }
/** DEPRECATED: .cms-content-tools will be removed in 4.0 Use .cms-content-filters instead. Hide certain elements when shown in "sidebar mode" */
.cms-content-tools #cms-content-treeview .cms-content-toolbar { border-bottom: none; box-shadow: none; margin-bottom: 0; }
.cms-content-tools #cms-content-treeview .cms-tree-expand-trigger { display: block; float: left; margin: 0 0 2px 0; }
.cms-content-tools #cms-content-treeview .cms-tree-expand-trigger span.ui-button-text { padding-right: 8px; }
.cms-content-tools #cms-content-treeview .cms-tree .badge { display: none; }
.cms-content-tools #cms-content-treeview .cms-tree a:hover > .text > .badge, .cms-content-tools #cms-content-treeview .cms-tree .jstree-clicked > .text > .badge { display: inline-block; }
/** -------------------------------------------- The CMS Content Toolbar. Associated behaviour in CMSMain.js -------------------------------------------- */
.cms-content-toolbar [class*="font-icon-"].ss-ui-button, .cms-content-toolbar [class^="font-icon-"].ss-ui-button { padding: 5px 8px; vertical-align: middle; }
.cms-content-toolbar [class*="font-icon-"].ss-ui-button:hover, .cms-content-toolbar [class^="font-icon-"].ss-ui-button:hover { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; }
.cms-content-toolbar [class*="font-icon-"].ss-ui-button:focus, .cms-content-toolbar [class^="font-icon-"].ss-ui-button:focus { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; }
.cms-content-toolbar [class*="font-icon-"].ss-ui-button:before, .cms-content-toolbar [class^="font-icon-"].ss-ui-button:before { font-size: 1.3em; margin-right: 0.3em; margin-top: 0; vertical-align: middle; }
.cms-content-toolbar [class*="font-icon-"].ss-ui-button.ui-state-focus, .cms-content-toolbar [class^="font-icon-"].ss-ui-button.ui-state-focus { -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; }
.cms-content-toolbar [class*="font-icon-"].ss-ui-button.active, .cms-content-toolbar [class*="font-icon-"].ss-ui-button:active, .cms-content-toolbar [class^="font-icon-"].ss-ui-button.active, .cms-content-toolbar [class^="font-icon-"].ss-ui-button:active { -moz-box-shadow: 0 0 3px rgba(191, 194, 196, 0.9) inset; -webkit-box-shadow: 0 0 3px rgba(191, 194, 196, 0.9) inset; box-shadow: 0 0 3px rgba(191, 194, 196, 0.9) inset; }
.cms-content-toolbar [class*="font-icon-"].ss-ui-button .ui-button-text, .cms-content-toolbar [class^="font-icon-"].ss-ui-button .ui-button-text { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; vertical-align: baseline; padding: 0; }
/** ------------------------------------------------------------------ URLSegment field ----------------------------------------------------------------- */
.field.urlsegment.loading { background: url(../images/loading.gif) no-repeat 162px 8px; }
.field.urlsegment .preview { padding-top: 8px; display: inline-block; }
@ -30,8 +39,8 @@
#Form_EditForm #Title .update { margin-left: 7px; }
.cms .AssetAdmin .cms-content-fields { overflow: hidden; }
.cms .AssetAdmin .cms-content-fields .cms-edit-form.AssetAdmin { overflow-y: auto; }
.cms .AssetAdmin .cms-content-fields { /** DEPRECATED: .cms-content-tools will be removed in 4.0 Use .cms-content-filters instead. */ }
.cms .AssetAdmin .cms-content-fields .cms-edit-form.AssetAdmin { width: 100%; overflow-y: auto; }
.cms .AssetAdmin .cms-content-fields .cms-content-tools .cms-panel-content { overflow: hidden; }
.cms .AssetAdmin .cms-content-fields .cms-content-tools .cms-panel-content .cms-search-form { height: 100%; }
.cms .AssetAdmin .cms-content-toolbar .cms-page-add-button { background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2YzZjNmMyIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2Q5ZDlkOSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f3f3f3), color-stop(100%, #d9d9d9)); background-image: -moz-linear-gradient(#f3f3f3, #d9d9d9); background-image: -webkit-linear-gradient(#f3f3f3, #d9d9d9); background-image: linear-gradient(#f3f3f3, #d9d9d9); border-color: #c0c0c2; }

View File

@ -151,6 +151,13 @@
}
}
});
// Clear filters button
$('.cms-tree-filtered .clear-filter').entwine({
onclick: function () {
window.location = location.protocol + '//' + location.host + location.pathname;
}
});
});
}(jQuery));

View File

@ -0,0 +1,111 @@
(function ($) {
/**
* Behaviour for the CMS Content Toolbar.
* Applies to tools on top-level views i.e. '/admin/pages' and '/admin/assets' and
* their corresponding tools in the SiteTree panel.
* An example is 'bulk actions' on the Pages view.
*/
$.entwine('ss', function ($) {
// Faux three column layout
$('.cms-content-header-info').entwine({
'from .cms-panel': {
// Keep the header info's width synced with the TreeView panel's width.
ontoggle: function (e) {
var $treeViewPanel = this.closest('.cms-content').find(e.target);
if ($treeViewPanel.length === 0) {
return;
}
this.parent()[$treeViewPanel.hasClass('collapsed') ? 'addClass' : 'removeClass']('collapsed');
}
}
});
$('.cms-content-toolbar').entwine({
onmatch: function () {
var self = this;
this._super();
// Initialise the buttons
$.each(this.find('.cms-actions-buttons-row .tool-button'), function () {
var $button = $(this),
toolId = $button.data('toolid'),
isActive = $button.hasClass('active');
// We don't care about tools that don't have a related 'action'.
if (toolId !== void 0) {
// Set the tool to its closed state.
$button.data('active', false).removeClass('active');
$('#' + toolId).hide();
self.bindActionButtonEvents($button);
}
});
},
onunmatch: function () {
var self = this;
this._super();
$.each(this.find('.cms-actions-buttons-row .tool-button'), function () {
var $button = $(this);
self.unbindActionButtonEvents($button);
});
},
/**
* @func bindActionButtonEvents
* @param {object} $button
* @desc Add event handlers in the '.cmsContentToolbar' namespace.
*/
bindActionButtonEvents: function ($button) {
var self = this;
$button.on('click.cmsContentToolbar', function (e) {
self.showHideTool($button);
});
},
/**
* @func unbindActionButtonEvents
* @param {object} $button
* @desc Remove all event handlers in the '.cmsContentToolbar' namespace.
*/
unbindActionButtonEvents: function ($button) {
$button.off('.cmsContentToolbar');
},
/**
* @func showTool
* @param {object} $button
* @desc Show a tool in the tools row. Hides all other tools.
*/
showHideTool: function ($button) {
var isActive = $button.data('active'),
toolId = $button.data('toolid'),
$action = $('#' + toolId);
// Hide all tools except the one passed as a param,
// which gets handled separately.
$.each(this.find('.cms-actions-buttons-row .tool-button'), function () {
var $currentButton = $(this),
$currentAction = $('#' + $currentButton.data('toolid'));
if ($currentButton.data('toolid') !== toolId) {
$currentAction.hide();
$currentButton.data('active', false);
}
});
$button[isActive ? 'removeClass' : 'addClass']('active');
$action[isActive ? 'hide' : 'show']();
$button.data('active', !isActive);
}
});
});
}(jQuery));

View File

@ -121,7 +121,7 @@
var compare, selected;
// compare mode
compare = this.parents("form").find(':input[name=CompareMode]').attr("checked"),
compare = this.parents("form").find(':input[name=CompareMode]').attr("checked");
selected = this.siblings(".active");
if(compare && this.hasClass('active')) {
@ -172,6 +172,6 @@
this.find(":input[type=checkbox]").attr("checked", true);
}
})
});
});
})(jQuery);

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "هذه الصفحة فقط",
"Tree.ThisPageAndSubpages": "هذه الصفحة وصفحات فرعية",
"Tree.ShowAsList": "أعرض التوابع في شكل قائمة",
"CMSMain.ConfirmRestoreFromLive": "هل ترغب حقًا في نسخ المحتوى المنشور على مسودة الموقع؟",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "هل تريد حقاً الرجوع إلى النسخة #%s من هذه الصفحة؟",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "تحرير",
"URLSEGMENT.OK": "موافق",
"URLSEGMENT.Cancel": "إلغاء"
"URLSEGMENT.Cancel": "إلغاء",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Pouze tuto stránku",
"Tree.ThisPageAndSubpages": "Tuto stránku a podstránky",
"Tree.ShowAsList": "Zobrazit potomky jako seznam",
"CMSMain.ConfirmRestoreFromLive": "Skutečně chcete zkopírovat zveřejněn obsah do konceptu?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Skutečně chcete vrátit zpět na verzi #%s této stránky?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Editovat",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Storno"
"URLSEGMENT.Cancel": "Storno",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Nur diese Seite",
"Tree.ThisPageAndSubpages": "Diese Seite und Unterseiten",
"Tree.ShowAsList": "Kinder als LIste zeigen",
"CMSMain.ConfirmRestoreFromLive": "Wollen Sie wirklich den veröffentlichten Inhalt auf die Entwurfsseite kopieren?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Wollen Sie wirklich Version #%s dieser Seite wiederherstellen?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Bearbeiten",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Abbrechen"
"URLSEGMENT.Cancel": "Abbrechen",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Nur ĉi tiu paĝo",
"Tree.ThisPageAndSubpages": "Ĉi tiu paĝo kaj subpaĝoj",
"Tree.ShowAsList": "Vidigi idojn kiel liston",
"CMSMain.ConfirmRestoreFromLive": "Ĉu vi vere volas kopii la publikigitan enhavon al la malneta retejo?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Cu vi vere volas malfare restaŭri al versio #%s de ĉi tiu paĝo?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Redakti",
"URLSEGMENT.OK": "Akcepti",
"URLSEGMENT.Cancel": "Rezigni"
"URLSEGMENT.Cancel": "Rezigni",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Sólo en esta página",
"Tree.ThisPageAndSubpages": "Esta página y subpáginas",
"Tree.ShowAsList": "Mostrar hijos como lista",
"CMSMain.ConfirmRestoreFromLive": "¿Realmente quieres copiar el contenido publicado al borrador del sitio?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "¿Realmente quieres volver a la versión #%s de esta página?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Editar",
"URLSEGMENT.OK": "Ok",
"URLSEGMENT.Cancel": "Cancelar"
"URLSEGMENT.Cancel": "Cancelar",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Vain tämä sivu",
"Tree.ThisPageAndSubpages": "Tämä sivu ja alasivut",
"Tree.ShowAsList": "Näytä alasivut listana",
"CMSMain.ConfirmRestoreFromLive": "Haluatko varmasti kopioida julkaistua sisältöä luonnossivustolle?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Haluatko varmasti palauttaa #%s version tästä sivusta?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Muokkaa",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Peruuta"
"URLSEGMENT.Cancel": "Peruuta",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Seulement cette page",
"Tree.ThisPageAndSubpages": "Cette page et ses sous-pages",
"Tree.ShowAsList": "Montrer les enfants en liste",
"CMSMain.ConfirmRestoreFromLive": "Voulez-vous vraiment copier le contenu du site brouillon sur le site publié ?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Voulez-vous vraiment retourner à la version #%s de cette page ?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Éditer",
"URLSEGMENT.OK": "Ok",
"URLSEGMENT.Cancel": "Annuler"
"URLSEGMENT.Cancel": "Annuler",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

51
javascript/lang/hu.js Normal file
View File

@ -0,0 +1,51 @@
// This file was generated by GenerateJavaScriptI18nTask from javascript/lang/src/hu.js.
// See https://github.com/silverstripe/silverstripe-buildtools for details
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
} else {
ss.i18n.addDictionary('hu', {
"CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "Aloldalt csak a szülő-oldal mentését követően hozhat létre",
"CMSMAIN.CANTADDCHILDREN": "A kiválasztott elemhez nem hozhat létre gyerek elemet",
"CMSMAIN.ERRORADDINGPAGE": "Oldal létrehozásakor hiba lépett fel",
"CMSMAIN.FILTEREDTREE": "Módosított oldalak megjelenítése",
"CMSMAIN.ERRORFILTERPAGES": "A \"fa\" nézet nem alkalmas a %s módosított<br />oldalak megjelenítésére",
"CMSMAIN.ERRORUNFILTER": "Teljes \"fa\" szerkezet",
"CMSMAIN.PUBLISHINGPAGES": "Publikálás folyamatban...",
"CMSMAIN.SELECTONEPAGE": "Válasszon legalább 1 oldalt!",
"CMSMAIN.ERRORPUBLISHING": "Publikálás során hiba történt",
"CMSMAIN.REALLYDELETEPAGES": "Törli a %s -vel jelölt oldalakat?",
"CMSMAIN.DELETINGPAGES": "Oldalak törlése folyamatban...",
"CMSMAIN.ERRORDELETINGPAGES": "Oldal törlésekor hiba lépett fel",
"CMSMAIN.PUBLISHING": "Publikálás folyamatban...",
"CMSMAIN.RESTORING": "Helyreállítás folyamatban...",
"CMSMAIN.ERRORREVERTING": "Éles tartalomra váltáskor hiba történt",
"CMSMAIN.SAVING": "mentés folyamatban...",
"CMSMAIN.SELECTMOREPAGES": "%s oldal kiválasztva.\n\nVégrehajtsam a műveletet?",
"CMSMAIN.ALERTCLASSNAME": "Az oldaltípust a mentést követően lesz beállítva",
"CMSMAIN.URLSEGMENTVALIDATION": "Az URL csak betüket, számokat illetve kötőjelet (\"-\") tartalmazhat",
"AssetAdmin.BATCHACTIONSDELETECONFIRM": "Törli a(z) %s mappát(mappákat)?",
"AssetTableField.REALLYDELETE": "Törli a kijelölt fájlokat?",
"AssetTableField.MOVING": "%s fájl(ok) áthelyezése",
"CMSMAIN.AddSearchCriteria": "Feltétel hozzáadása",
"WidgetAreaEditor.TOOMANY": "A kiválasztott területen nem hozhat létre újabb widget-et.",
"AssetAdmin.ConfirmDelete": "Törli a mappát a tartalmával együtt?",
"Folder.Name": "Mappa neve",
"Tree.AddSubPage": "Új oldal létrehozása ebben a mappában",
"Tree.Duplicate": "Duplikál",
"Tree.EditPage": "Szerkeszt",
"Tree.ThisPageOnly": "Csak ez az oldal",
"Tree.ThisPageAndSubpages": "Csak ez az oldal és az alatta levő oldalak",
"Tree.ShowAsList": "Gyerekoldalak lista nézetben",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Visszaállítja az oldal #%s verzióját?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Szerkeszt",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Mégsem",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Hanya laman ini",
"Tree.ThisPageAndSubpages": "Laman dan sublaman ini",
"Tree.ShowAsList": "Tampilkan turunan sebagai daftar",
"CMSMain.ConfirmRestoreFromLive": "Apakah Anda ingin menyalin konten yang sudah terbit ke draf?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Apakah Anda ingin kembali ke versi #%s dari laman ini?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Edit",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Batal"
"URLSEGMENT.Cancel": "Batal",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Aðeins þessi síða",
"Tree.ThisPageAndSubpages": "Þessi síða og undirsíður",
"Tree.ShowAsList": "Show children as list",
"CMSMain.ConfirmRestoreFromLive": "Ertu viss um að þú viljir afrita birt efni yfir á drög?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Do you really want to roll back to version #%s of this page?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Breyta",
"URLSEGMENT.OK": "Allt í lagi",
"URLSEGMENT.Cancel": "Hætta við"
"URLSEGMENT.Cancel": "Hætta við",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Solo questa pagina",
"Tree.ThisPageAndSubpages": "Questa pagina e le sottopagine",
"Tree.ShowAsList": "Mostra figli come lista",
"CMSMain.ConfirmRestoreFromLive": "Vuoi veramente copiare il contenuto pubblicato nel sito bozza?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Vuoi veramente tornare alla versione #%s di questa pagina?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Modifica",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Annulla"
"URLSEGMENT.Cancel": "Annulla",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "このページのみ",
"Tree.ThisPageAndSubpages": "このページとサブページ",
"Tree.ShowAsList": "子どもをリストで表示する",
"CMSMain.ConfirmRestoreFromLive": "公開されているコンテンツを下書きサイトへ本当にコピーしますか?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "このページのバージョン#%sへ本当にロールバックしますか?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "編集",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "キャンセル"
"URLSEGMENT.Cancel": "キャンセル",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "이 페이지만",
"Tree.ThisPageAndSubpages": "이 페이지와 하위 페이지",
"Tree.ShowAsList": "하위 목록으로 표시",
"CMSMain.ConfirmRestoreFromLive": "공개된 내용을 초안 사이트에 복사하시겠습니까?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "이 페이지의 #%s 버젼으로 롤백하시겠습니까?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "편집",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "취소"
"URLSEGMENT.Cancel": "취소",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Tik šį puslapį",
"Tree.ThisPageAndSubpages": "Šį puslapį ir visus po juo",
"Tree.ShowAsList": "Rodyti žemesnius pusl. kaip sąrašą",
"CMSMain.ConfirmRestoreFromLive": "Ar tikrai norite kopijuoti publikuotą turinį į juodraštinę svetainę?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Ar tikrai norite atstatyti šį puslapį į #%s versiją?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Redaguoti",
"URLSEGMENT.OK": "Gerai",
"URLSEGMENT.Cancel": "Atšaukti"
"URLSEGMENT.Cancel": "Atšaukti",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Tēnei whārangi anake",
"Tree.ThisPageAndSubpages": "Tēnei whārangi me ngā whārangi iti",
"Tree.ShowAsList": "Whakaatu tamariki hei rārangi",
"CMSMain.ConfirmRestoreFromLive": "Kei te tino hiahia tārua i te ihirangi kua whakaputaina ki te pae hukihuki?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Kei te tino hiahia hoki ki te tauira #%s o tēnei whārangi?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Whakatika",
"URLSEGMENT.OK": "ĀE",
"URLSEGMENT.Cancel": "Whakakore"
"URLSEGMENT.Cancel": "Whakakore",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Bare denne siden",
"Tree.ThisPageAndSubpages": "Denne siden og undersider",
"Tree.ShowAsList": "Vis undersider som en liste",
"CMSMain.ConfirmRestoreFromLive": "Vil du virkelig kopiere den publiserte siden til utkastsiden?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Vil du virkelig rulle tilbake til versjon #%s av denne siden?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Rediger",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Avbryt"
"URLSEGMENT.Cancel": "Avbryt",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Enkel deze pagina",
"Tree.ThisPageAndSubpages": "Deze pagina en subpagina's",
"Tree.ShowAsList": "Toon onderliggende pagina's als lijst",
"CMSMain.ConfirmRestoreFromLive": "Wil je echt de gepubliceerde inhoud kopiëren naar de concept site?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Wil je echt terugdraaien naar versie #%s van deze pagina?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Aanpassen",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Annuleren"
"URLSEGMENT.Cancel": "Annuleren",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Tylko tę stronę",
"Tree.ThisPageAndSubpages": "Ta strona i podstrony",
"Tree.ShowAsList": "Pokaż dzieci jako listę",
"CMSMain.ConfirmRestoreFromLive": "Czy na pewno skopiować opublikowaną treść do strony roboczej?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Czy na pewno cofnąć do wersji #%s tej strony?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Edytuj",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Anuluj"
"URLSEGMENT.Cancel": "Anuluj",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Doar această pagină",
"Tree.ThisPageAndSubpages": "Această pagină cu subpagini",
"Tree.ShowAsList": "Afişare fii în format listă",
"CMSMain.ConfirmRestoreFromLive": "Doriţi copierea conținutul publicat pe site-ul ciornă (draft)?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Doriţi revenirea la versiunea #%s a acestei pagini?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Editare",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Renunţare"
"URLSEGMENT.Cancel": "Renunţare",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Только этой страницы",
"Tree.ThisPageAndSubpages": "Вместе с вложенными страницами",
"Tree.ShowAsList": "Показать страницы в виде списка",
"CMSMain.ConfirmRestoreFromLive": "Вы действительно хотите скопировать опубликованное содержимое на черновой сайт?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Вы действительно хотите восстановить версию #%s этой страницы?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Изменить",
"URLSEGMENT.OK": "ОК",
"URLSEGMENT.Cancel": "Отмена"
"URLSEGMENT.Cancel": "Отмена",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Iba túto stránku",
"Tree.ThisPageAndSubpages": "Túto stránku a podstránky",
"Tree.ShowAsList": "Zobraziť potomkov ako zoznam",
"CMSMain.ConfirmRestoreFromLive": "Skutočne chcete skopírovať zverejnený obsah do konceptu?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Skutočne chcete vrátiť späť na verziu #%s tejto stránky?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Editovať",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Zrušiť"
"URLSEGMENT.Cancel": "Zrušiť",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Samo to stran",
"Tree.ThisPageAndSubpages": "To stran in podstrani",
"Tree.ShowAsList": "Prikaži otroke kot seznam",
"CMSMain.ConfirmRestoreFromLive": "Kopiram objavljeno vsebino na osnutek strani?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Obnovim na verzijo #%s te strani?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Uredi",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Prekliči"
"URLSEGMENT.Cancel": "Prekliči",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Само ова страница",
"Tree.ThisPageAndSubpages": "Ова страница и подстранице",
"Tree.ShowAsList": "Прикажу децу у виду листе",
"CMSMain.ConfirmRestoreFromLive": "Да ли заиста желите да копирате објављени садржај у нацрт сајта?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Да ли заиста желите да се вратите на верзију #%s ове странице?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Измени",
"URLSEGMENT.OK": "У реду",
"URLSEGMENT.Cancel": "Одустани"
"URLSEGMENT.Cancel": "Одустани",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "هذه الصفحة فقط",
"Tree.ThisPageAndSubpages": "هذه الصفحة وصفحات فرعية",
"Tree.ShowAsList": "أعرض التوابع في شكل قائمة",
"CMSMain.ConfirmRestoreFromLive": "هل ترغب حقًا في نسخ المحتوى المنشور على مسودة الموقع؟",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "هل تريد حقاً الرجوع إلى النسخة #%s من هذه الصفحة؟",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "تحرير",
"URLSEGMENT.OK": "موافق",
"URLSEGMENT.Cancel": "إلغاء"
"URLSEGMENT.Cancel": "إلغاء",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Pouze tuto stránku",
"Tree.ThisPageAndSubpages": "Tuto stránku a podstránky",
"Tree.ShowAsList": "Zobrazit potomky jako seznam",
"CMSMain.ConfirmRestoreFromLive": "Skutečně chcete zkopírovat zveřejněn obsah do konceptu?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Skutečně chcete vrátit zpět na verzi #%s této stránky?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Editovat",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Storno"
"URLSEGMENT.Cancel": "Storno",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Nur diese Seite",
"Tree.ThisPageAndSubpages": "Diese Seite und Unterseiten",
"Tree.ShowAsList": "Kinder als LIste zeigen",
"CMSMain.ConfirmRestoreFromLive": "Wollen Sie wirklich den veröffentlichten Inhalt auf die Entwurfsseite kopieren?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Wollen Sie wirklich Version #%s dieser Seite wiederherstellen?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Bearbeiten",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Abbrechen"
"URLSEGMENT.Cancel": "Abbrechen",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Nur ĉi tiu paĝo",
"Tree.ThisPageAndSubpages": "Ĉi tiu paĝo kaj subpaĝoj",
"Tree.ShowAsList": "Vidigi idojn kiel liston",
"CMSMain.ConfirmRestoreFromLive": "Ĉu vi vere volas kopii la publikigitan enhavon al la malneta retejo?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Cu vi vere volas malfare restaŭri al versio #%s de ĉi tiu paĝo?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Redakti",
"URLSEGMENT.OK": "Akcepti",
"URLSEGMENT.Cancel": "Rezigni"
"URLSEGMENT.Cancel": "Rezigni",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Sólo en esta página",
"Tree.ThisPageAndSubpages": "Esta página y subpáginas",
"Tree.ShowAsList": "Mostrar hijos como lista",
"CMSMain.ConfirmRestoreFromLive": "¿Realmente quieres copiar el contenido publicado al borrador del sitio?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "¿Realmente quieres volver a la versión #%s de esta página?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Editar",
"URLSEGMENT.OK": "Ok",
"URLSEGMENT.Cancel": "Cancelar"
"URLSEGMENT.Cancel": "Cancelar",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Vain tämä sivu",
"Tree.ThisPageAndSubpages": "Tämä sivu ja alasivut",
"Tree.ShowAsList": "Näytä alasivut listana",
"CMSMain.ConfirmRestoreFromLive": "Haluatko varmasti kopioida julkaistua sisältöä luonnossivustolle?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Haluatko varmasti palauttaa #%s version tästä sivusta?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Muokkaa",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Peruuta"
"URLSEGMENT.Cancel": "Peruuta",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Seulement cette page",
"Tree.ThisPageAndSubpages": "Cette page et ses sous-pages",
"Tree.ShowAsList": "Montrer les enfants en liste",
"CMSMain.ConfirmRestoreFromLive": "Voulez-vous vraiment copier le contenu du site brouillon sur le site publié ?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Voulez-vous vraiment retourner à la version #%s de cette page ?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Éditer",
"URLSEGMENT.OK": "Ok",
"URLSEGMENT.Cancel": "Annuler"
"URLSEGMENT.Cancel": "Annuler",
"URLSEGMENT.UpdateURL": "Update URL"
}

45
javascript/lang/src/hu.js Normal file
View File

@ -0,0 +1,45 @@
{
"CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "Aloldalt csak a szülő-oldal mentését követően hozhat létre",
"CMSMAIN.CANTADDCHILDREN": "A kiválasztott elemhez nem hozhat létre gyerek elemet",
"CMSMAIN.ERRORADDINGPAGE": "Oldal létrehozásakor hiba lépett fel",
"CMSMAIN.FILTEREDTREE": "Módosított oldalak megjelenítése",
"CMSMAIN.ERRORFILTERPAGES": "A \"fa\" nézet nem alkalmas a %s módosított<br />oldalak megjelenítésére",
"CMSMAIN.ERRORUNFILTER": "Teljes \"fa\" szerkezet",
"CMSMAIN.PUBLISHINGPAGES": "Publikálás folyamatban...",
"CMSMAIN.SELECTONEPAGE": "Válasszon legalább 1 oldalt!",
"CMSMAIN.ERRORPUBLISHING": "Publikálás során hiba történt",
"CMSMAIN.REALLYDELETEPAGES": "Törli a %s -vel jelölt oldalakat?",
"CMSMAIN.DELETINGPAGES": "Oldalak törlése folyamatban...",
"CMSMAIN.ERRORDELETINGPAGES": "Oldal törlésekor hiba lépett fel",
"CMSMAIN.PUBLISHING": "Publikálás folyamatban...",
"CMSMAIN.RESTORING": "Helyreállítás folyamatban...",
"CMSMAIN.ERRORREVERTING": "Éles tartalomra váltáskor hiba történt",
"CMSMAIN.SAVING": "mentés folyamatban...",
"CMSMAIN.SELECTMOREPAGES": "%s oldal kiválasztva.\n\nVégrehajtsam a műveletet?",
"CMSMAIN.ALERTCLASSNAME": "Az oldaltípust a mentést követően lesz beállítva",
"CMSMAIN.URLSEGMENTVALIDATION": "Az URL csak betüket, számokat illetve kötőjelet (\"-\") tartalmazhat",
"AssetAdmin.BATCHACTIONSDELETECONFIRM": "Törli a(z) %s mappát(mappákat)?",
"AssetTableField.REALLYDELETE": "Törli a kijelölt fájlokat?",
"AssetTableField.MOVING": "%s fájl(ok) áthelyezése",
"CMSMAIN.AddSearchCriteria": "Feltétel hozzáadása",
"WidgetAreaEditor.TOOMANY": "A kiválasztott területen nem hozhat létre újabb widget-et.",
"AssetAdmin.ConfirmDelete": "Törli a mappát a tartalmával együtt?",
"Folder.Name": "Mappa neve",
"Tree.AddSubPage": "Új oldal létrehozása ebben a mappában",
"Tree.Duplicate": "Duplikál",
"Tree.EditPage": "Szerkeszt",
"Tree.ThisPageOnly": "Csak ez az oldal",
"Tree.ThisPageAndSubpages": "Csak ez az oldal és az alatta levő oldalak",
"Tree.ShowAsList": "Gyerekoldalak lista nézetben",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Visszaállítja az oldal #%s verzióját?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Szerkeszt",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Mégsem",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Hanya laman ini",
"Tree.ThisPageAndSubpages": "Laman dan sublaman ini",
"Tree.ShowAsList": "Tampilkan turunan sebagai daftar",
"CMSMain.ConfirmRestoreFromLive": "Apakah Anda ingin menyalin konten yang sudah terbit ke draf?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Apakah Anda ingin kembali ke versi #%s dari laman ini?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Edit",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Batal"
"URLSEGMENT.Cancel": "Batal",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Aðeins þessi síða",
"Tree.ThisPageAndSubpages": "Þessi síða og undirsíður",
"Tree.ShowAsList": "Show children as list",
"CMSMain.ConfirmRestoreFromLive": "Ertu viss um að þú viljir afrita birt efni yfir á drög?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Do you really want to roll back to version #%s of this page?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Breyta",
"URLSEGMENT.OK": "Allt í lagi",
"URLSEGMENT.Cancel": "Hætta við"
"URLSEGMENT.Cancel": "Hætta við",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Solo questa pagina",
"Tree.ThisPageAndSubpages": "Questa pagina e le sottopagine",
"Tree.ShowAsList": "Mostra figli come lista",
"CMSMain.ConfirmRestoreFromLive": "Vuoi veramente copiare il contenuto pubblicato nel sito bozza?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Vuoi veramente tornare alla versione #%s di questa pagina?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Modifica",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Annulla"
"URLSEGMENT.Cancel": "Annulla",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "このページのみ",
"Tree.ThisPageAndSubpages": "このページとサブページ",
"Tree.ShowAsList": "子どもをリストで表示する",
"CMSMain.ConfirmRestoreFromLive": "公開されているコンテンツを下書きサイトへ本当にコピーしますか?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "このページのバージョン#%sへ本当にロールバックしますか?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "編集",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "キャンセル"
"URLSEGMENT.Cancel": "キャンセル",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "이 페이지만",
"Tree.ThisPageAndSubpages": "이 페이지와 하위 페이지",
"Tree.ShowAsList": "하위 목록으로 표시",
"CMSMain.ConfirmRestoreFromLive": "공개된 내용을 초안 사이트에 복사하시겠습니까?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "이 페이지의 #%s 버젼으로 롤백하시겠습니까?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "편집",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "취소"
"URLSEGMENT.Cancel": "취소",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Tik šį puslapį",
"Tree.ThisPageAndSubpages": "Šį puslapį ir visus po juo",
"Tree.ShowAsList": "Rodyti žemesnius pusl. kaip sąrašą",
"CMSMain.ConfirmRestoreFromLive": "Ar tikrai norite kopijuoti publikuotą turinį į juodraštinę svetainę?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Ar tikrai norite atstatyti šį puslapį į #%s versiją?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Redaguoti",
"URLSEGMENT.OK": "Gerai",
"URLSEGMENT.Cancel": "Atšaukti"
"URLSEGMENT.Cancel": "Atšaukti",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Tēnei whārangi anake",
"Tree.ThisPageAndSubpages": "Tēnei whārangi me ngā whārangi iti",
"Tree.ShowAsList": "Whakaatu tamariki hei rārangi",
"CMSMain.ConfirmRestoreFromLive": "Kei te tino hiahia tārua i te ihirangi kua whakaputaina ki te pae hukihuki?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Kei te tino hiahia hoki ki te tauira #%s o tēnei whārangi?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Whakatika",
"URLSEGMENT.OK": "ĀE",
"URLSEGMENT.Cancel": "Whakakore"
"URLSEGMENT.Cancel": "Whakakore",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Bare denne siden",
"Tree.ThisPageAndSubpages": "Denne siden og undersider",
"Tree.ShowAsList": "Vis undersider som en liste",
"CMSMain.ConfirmRestoreFromLive": "Vil du virkelig kopiere den publiserte siden til utkastsiden?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Vil du virkelig rulle tilbake til versjon #%s av denne siden?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Rediger",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Avbryt"
"URLSEGMENT.Cancel": "Avbryt",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Enkel deze pagina",
"Tree.ThisPageAndSubpages": "Deze pagina en subpagina's",
"Tree.ShowAsList": "Toon onderliggende pagina's als lijst",
"CMSMain.ConfirmRestoreFromLive": "Wil je echt de gepubliceerde inhoud kopiëren naar de concept site?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Wil je echt terugdraaien naar versie #%s van deze pagina?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Aanpassen",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Annuleren"
"URLSEGMENT.Cancel": "Annuleren",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Tylko tę stronę",
"Tree.ThisPageAndSubpages": "Ta strona i podstrony",
"Tree.ShowAsList": "Pokaż dzieci jako listę",
"CMSMain.ConfirmRestoreFromLive": "Czy na pewno skopiować opublikowaną treść do strony roboczej?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Czy na pewno cofnąć do wersji #%s tej strony?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Edytuj",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Anuluj"
"URLSEGMENT.Cancel": "Anuluj",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Doar această pagină",
"Tree.ThisPageAndSubpages": "Această pagină cu subpagini",
"Tree.ShowAsList": "Afişare fii în format listă",
"CMSMain.ConfirmRestoreFromLive": "Doriţi copierea conținutul publicat pe site-ul ciornă (draft)?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Doriţi revenirea la versiunea #%s a acestei pagini?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Editare",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Renunţare"
"URLSEGMENT.Cancel": "Renunţare",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Только этой страницы",
"Tree.ThisPageAndSubpages": "Вместе с вложенными страницами",
"Tree.ShowAsList": "Показать страницы в виде списка",
"CMSMain.ConfirmRestoreFromLive": "Вы действительно хотите скопировать опубликованное содержимое на черновой сайт?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Вы действительно хотите восстановить версию #%s этой страницы?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Изменить",
"URLSEGMENT.OK": "ОК",
"URLSEGMENT.Cancel": "Отмена"
"URLSEGMENT.Cancel": "Отмена",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Iba túto stránku",
"Tree.ThisPageAndSubpages": "Túto stránku a podstránky",
"Tree.ShowAsList": "Zobraziť potomkov ako zoznam",
"CMSMain.ConfirmRestoreFromLive": "Skutočne chcete skopírovať zverejnený obsah do konceptu?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Skutočne chcete vrátiť späť na verziu #%s tejto stránky?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Editovať",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Zrušiť"
"URLSEGMENT.Cancel": "Zrušiť",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Samo to stran",
"Tree.ThisPageAndSubpages": "To stran in podstrani",
"Tree.ShowAsList": "Prikaži otroke kot seznam",
"CMSMain.ConfirmRestoreFromLive": "Kopiram objavljeno vsebino na osnutek strani?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Obnovim na verzijo #%s te strani?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Uredi",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Prekliči"
"URLSEGMENT.Cancel": "Prekliči",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Само ова страница",
"Tree.ThisPageAndSubpages": "Ова страница и подстранице",
"Tree.ShowAsList": "Прикажу децу у виду листе",
"CMSMain.ConfirmRestoreFromLive": "Да ли заиста желите да копирате објављени садржај у нацрт сајта?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Да ли заиста желите да се вратите на верзију #%s ове странице?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Измени",
"URLSEGMENT.OK": "У реду",
"URLSEGMENT.Cancel": "Одустани"
"URLSEGMENT.Cancel": "Одустани",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Endast denna sida",
"Tree.ThisPageAndSubpages": "Denna sida och undersidor",
"Tree.ShowAsList": "Visa undersidor som lista",
"CMSMain.ConfirmRestoreFromLive": "Vill du verkligen kopiera det publicerade innehållet till utkastsajten?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Vill du verkligen gå tillbaka till version %s av denna sida?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Redigera",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Avbryt"
"URLSEGMENT.Cancel": "Avbryt",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "仅该页",
"Tree.ThisPageAndSubpages": "本页和子页面",
"Tree.ShowAsList": "将儿童显示为列表",
"CMSMain.ConfirmRestoreFromLive": "是否确定将已发布内容复制到草稿站?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "是否确定回滚至该页面的第 #%s 版?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "编辑",
"URLSEGMENT.OK": "确定",
"URLSEGMENT.Cancel": "取消"
"URLSEGMENT.Cancel": "取消",
"URLSEGMENT.UpdateURL": "Update URL"
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "Endast denna sida",
"Tree.ThisPageAndSubpages": "Denna sida och undersidor",
"Tree.ShowAsList": "Visa undersidor som lista",
"CMSMain.ConfirmRestoreFromLive": "Vill du verkligen kopiera det publicerade innehållet till utkastsajten?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "Vill du verkligen gå tillbaka till version %s av denna sida?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "Redigera",
"URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Avbryt"
"URLSEGMENT.Cancel": "Avbryt",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "仅该页",
"Tree.ThisPageAndSubpages": "本页和子页面",
"Tree.ShowAsList": "将儿童显示为列表",
"CMSMain.ConfirmRestoreFromLive": "是否确定将已发布内容复制到草稿站?",
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
"CMSMain.RollbackToVersion": "是否确定回滚至该页面的第 #%s 版?",
"CMSMain.Archive": "Are you sure you want to archive this page?\n\nThe page will be unpublished and sent to the archive.",
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
"URLSEGMENT.Edit": "编辑",
"URLSEGMENT.OK": "确定",
"URLSEGMENT.Cancel": "取消"
"URLSEGMENT.Cancel": "取消",
"URLSEGMENT.UpdateURL": "Update URL"
});
}

View File

@ -69,6 +69,8 @@ en:
PUBLISH_PAGES: Publish
UNPUBLISHED_PAGES: 'Unpublished %d pages'
UNPUBLISH_PAGES: Unpublish
ARCHIVE: Archive
ARCHIVED_PAGES: 'Archived %d pages'
CMSMain:
ACCESS: 'Access to ''{title}'' section'
ACCESS_HELP: 'Allow viewing of the section containing page tree and content. View and edit permissions can be handled through page specific dropdowns, as well as the separate "Content permissions".'
@ -89,9 +91,9 @@ en:
ListFiltered: 'Filtered list.'
NEWPAGE: 'New {pagetype}'
PAGENOTEXISTS: 'This page doesn''t exist'
PAGES: Pages
PAGES: 'Page status'
PAGETYPEANYOPT: Any
PAGETYPEOPT: 'Page Type'
PAGETYPEOPT: 'Page type'
PUBALLCONFIRM: 'Please publish every page in the site, copying content stage to live'
PUBALLFUN: '"Publish All" functionality'
PUBALLFUN2: "Pressing this button will do the equivalent of going to every page and pressing \"publish\". It's\n intended to be used after there have been massive edits of the content, such as when the site was\n first built."
@ -113,12 +115,15 @@ en:
TabContent: Content
TabHistory: History
TabSettings: Settings
TreeFiltered: 'Filtered tree.'
TreeFilteredClear: 'Clear filter'
TreeFiltered: 'Search results.'
TreeFilteredClear: Clear
MENUTITLE: 'Edit Page'
ARCHIVE: Archive
ARCHIVEDPAGE: 'Archived page ''%s'''
CMSMain_left_ss:
APPLY_FILTER: 'Apply Filter'
APPLY_FILTER: 'Search'
RESET: Reset
CLEAR_FILTER: 'Clear Filter'
CMSPageAddController:
ParentMode_child: 'Under another page'
ParentMode_top: 'Top level'
@ -146,14 +151,14 @@ en:
MENUTITLE: Pages
TreeView: 'Tree View'
CMSPagesController_ContentToolbar_ss:
MULTISELECT: Multi-selection
MULTISELECT: Bulk actions
CMSPagesController_Tools_ss:
FILTER: Filter
CMSSearch:
FILTERDATEFROM: From
FILTERDATEHEADING: Date
FILTERDATEHEADING: 'Date'
FILTERDATETO: To
FILTERLABELTEXT: Content
FILTERLABELTEXT: 'Search'
CMSSiteTreeFilter_ChangedPages:
Title: 'Modified pages'
CMSSiteTreeFilter_DeletedPages:
@ -325,7 +330,7 @@ en:
DEFAULTABOUTTITLE: 'About Us'
DEFAULTCONTACTCONTENT: '<p>You can fill this page out with your own content, or delete it and create your own pages.<br /></p>'
DEFAULTCONTACTTITLE: 'Contact Us'
DEFAULTHOMECONTENT: '<p>Welcome to SilverStripe! This is the default homepage. You can edit this page by opening <a href="admin/">the CMS</a>. You can now access the <a href="http://doc.silverstripe.org">developer documentation</a>, or begin <a href="http://doc.silverstripe.org/doku.php?id=tutorials">the tutorials.</a></p>'
DEFAULTHOMECONTENT: '<p>Welcome to SilverStripe! This is the default homepage. You can edit this page by opening <a href="admin/">the CMS</a>.</p><p>You can now access the <a href="http://docs.silverstripe.org">developer documentation</a>, or begin the <a href="http://www.silverstripe.org/learn/lessons">SilverStripe lessons</a>.</p>'
DEFAULTHOMETITLE: Home
DELETEDPAGEHELP: 'Page is no longer published'
DELETEDPAGESHORT: Deleted
@ -396,6 +401,9 @@ en:
many_many_BackLinkTracking: 'Backlink Tracking'
many_many_ImageTracking: 'Image Tracking'
many_many_LinkTracking: 'Link Tracking'
ARCHIVEDPAGEHELP: 'Page is removed from draft and live'
ARCHIVEDPAGESHORT: Archived
BUTTONARCHIVEDESC: 'Unpublish and send to archive'
SiteTreeURLSegmentField:
EMPTY: 'Please enter a URL Segment or click cancel'
HelpChars: ' Special characters are automatically converted or removed.'
@ -423,3 +431,6 @@ en:
MENUTITLE: 'Edit Page'
CMSSettingsController:
MENUTITLE: Settings
SiteTreeFileExtension:
BACKLINK_LIST_DESCRIPTION: 'This list shows all pages where the file has been added through a WYSIWYG editor.'
EDIT: Edit

View File

@ -1,15 +1,21 @@
.cms .AssetAdmin {
.cms-content-fields {
overflow:hidden; //removes scrolling from filter panel
.cms-edit-form.AssetAdmin {
width: 100%;
overflow-y:auto; //adds scrolling only to the datagrid
}
/**
* DEPRECATED:
* .cms-content-tools will be removed in 4.0
* Use .cms-content-filters instead.
*/
.cms-content-tools .cms-panel-content {
overflow:hidden; //removes scollbar from search field in filter
.cms-search-form {
height:100%; //increases height of search form to accomodate dropdown
}
}
}
}
.cms-content-toolbar {

View File

@ -53,24 +53,26 @@
}
}
// Hide certain elements when shown in "sidebar mode"
.cms-content-tools {
/**
* DEPRECATED:
* .cms-content-tools will be removed in 4.0
* Use .cms-content-filters instead.
*
* Hide certain elements when shown in "sidebar mode"
*/
.cms-content-tools {
#cms-content-treeview {
.cms-content-toolbar {
border-bottom:none;
box-shadow:none;
margin-bottom:8px;
}
.cms-tree-view-modes,
.cms-content-batchactions {
display: none;
border-bottom: none;
box-shadow: none;
margin-bottom: 0;
}
.cms-tree-expand-trigger {
display: block;
float: left;
margin:0 0 2px 0;
span.ui-button-text{
padding-right:8px;
margin: 0 0 2px 0;
span.ui-button-text {
padding-right: 8px;
}
}
@ -88,6 +90,48 @@
}
}
/** --------------------------------------------
* The CMS Content Toolbar.
* Associated behaviour in CMSMain.js
* -------------------------------------------- */
.cms-content-toolbar {
[class*="font-icon-"].ss-ui-button,
[class^="font-icon-"].ss-ui-button {
padding: 5px 8px;
vertical-align: middle;
&:hover {
@include box-shadow(none);
}
&:focus {
@include box-shadow(none);
}
&:before {
font-size: 1.3em;
margin-right: 0.3em;
margin-top: 0;
vertical-align: middle;
}
&.ui-state-focus {
@include box-shadow(none);
}
&.active,
&:active {
@include box-shadow(0 0 3px rgba(191, 194, 196, .9) inset);
}
.ui-button-text {
@include inline-block;
vertical-align: baseline;
padding: 0;
}
}
}
/** ------------------------------------------------------------------
* URLSegment field
* ----------------------------------------------------------------- */

View File

@ -3,31 +3,35 @@
<% with $EditForm %>
<div class="cms-content-header north">
<div class="cms-content-header-info">
<% include BackLink_Button %>
<% with $Controller %>
<% include CMSBreadcrumbs %>
<% end_with %>
</div>
<% if $Fields.hasTabset %>
<% with $Fields.fieldByName('Root') %>
<div class="cms-content-header-tabs">
<ul class="cms-tabset-nav-primary">
<% with $Fields.fieldByName('Root') %>
<div class="cms-content-header-tabs">
<button id="filters-button" class="icon-button font-icon-search" title="<% _t('CMSPagesController_Tools_ss.FILTER', 'Filter') %>"></button>
<div class="icon-button-group">
<ul class="cms-tabset-nav-primary ss-tabset">
<% loop $Tabs %>
<li<% if $extraClass %> class="$extraClass"<% end_if %>><a href="#$id">$Title</a></li>
<li<% if $extraClass %> class="$extraClass"<% end_if %>><a class="cms-panel-link icon-button <% if $Title == 'List View' %>font-icon-list<% else_if $Title == 'Tree View' %>font-icon-tree<% else %>font-icon-pencil<% end_if %>" href="#$id" title="$Title"></a></li>
<% end_loop %>
</ul>
</div>
<% end_with %>
</div>
<% end_with %>
<% end_if %>
</div>
<div class="cms-content-fields center ui-widget-content" data-layout-type="border">
<div class="cms-content-fields center ui-widget-content cms-panel-padded" data-layout-type="border">
$Top.Tools
$forTemplate
<div class="cms-content-view">
$forTemplate
</div>
</div>
<% end_with %>
</div>
</div>

View File

@ -1,9 +1,3 @@
<div class="cms-content-tools west cms-panel cms-panel-layout collapsed" id="cms-content-tools-AssetAdmin" data-expandOnClick="true" data-layout-type="border">
<div class="cms-panel-content center">
<h3 class="cms-panel-header"><% _t('AssetAdmin_Tools.FILTER', 'Filter') %></h3>
$SearchForm
</div>
<div class="cms-panel-content-collapsed">
<h3 class="cms-panel-header"><% _t('AssetAdmin_Tools.FILTER', 'Filter') %></h3>
</div>
</div>
<div id="cms-content-filters-AssetAdmin" class="cms-content-filters">
$SearchForm
</div>

View File

@ -1,28 +1,56 @@
<div id="pages-controller-cms-content" class="cms-content center cms-tabset $BaseCSSClasses" data-layout-type="border" data-pjax-fragment="Content" data-ignore-tab-state="true">
<div id="pages-controller-cms-content" class="has-panel cms-content center cms-tabset $BaseCSSClasses" data-layout-type="border" data-pjax-fragment="Content" data-ignore-tab-state="true">
<div class="cms-content-header north">
<div class="cms-content-header-info">
<% include CMSBreadcrumbs %>
<div class="cms-content-header-nav">
<div class="breadcrumbs-wrapper" data-pjax-fragment="Breadcrumbs">
<h2 id="page-title-heading">
<% loop $Breadcrumbs %>
<% if $First %>
<% else_if $Last %>
<span class="cms-panel-link crumb last">$Title.XML</span>
<% else %>
<a class="cms-panel-link crumb" href="$Link">$Title.XML</a>
<span class="sep">/</span>
<% end_if %>
<% end_loop %>
</h2>
</div>
<div class="cms-content-header-tabs">
<ul class="cms-tabset-nav-primary">
<li class="content-treeview<% if class == 'CMSPageEditController' %> ui-tabs-active<% end_if %>">
<a href="$LinkPageEdit" class="cms-panel-link" title="Form_EditForm" data-href="$LinkPageEdit">
<% _t('CMSMain.TabContent', 'Content') %>
</a>
</li>
<li class="content-listview<% if class == 'CMSPageSettingsController' %> ui-tabs-active<% end_if %>">
<a href="$LinkPageSettings" class="cms-panel-link" title="Form_EditForm" data-href="$LinkPageSettings">
<% _t('CMSMain.TabSettings', 'Settings') %>
</a>
</li>
<li class="content-listview<% if class == 'CMSPageHistoryController' %> ui-tabs-active<% end_if %>">
<a href="$LinkPageHistory" class="cms-panel-link" title="Form_EditForm" data-href="$LinkPageHistory">
<% _t('CMSMain.TabHistory', 'History') %>
</a>
</li>
</ul>
</div>
</div>
<div class="cms-content-header-tabs">
<ul class="cms-tabset-nav-primary">
<li class="content-treeview<% if class == 'CMSPageEditController' %> ui-tabs-active<% end_if %>">
<a href="$LinkPageEdit" class="cms-panel-link" title="Form_EditForm" data-href="$LinkPageEdit">
<% _t('CMSMain.TabContent', 'Content') %>
</a>
</li>
<li class="content-listview<% if class == 'CMSPageSettingsController' %> ui-tabs-active<% end_if %>">
<a href="$LinkPageSettings" class="cms-panel-link" title="Form_EditForm" data-href="$LinkPageSettings">
<% _t('CMSMain.TabSettings', 'Settings') %>
</a>
</li>
<li class="content-listview<% if class == 'CMSPageHistoryController' %> ui-tabs-active<% end_if %>">
<a href="$LinkPageHistory" class="cms-panel-link" title="Form_EditForm" data-href="$LinkPageHistory">
<% _t('CMSMain.TabHistory', 'History') %>
</a>
</li>
</ul>
<div class="cms-content-header-info">
<div class="section-heading">
<% include CMSSectionIcon %>
<span class="section-label"><a href="$LinkPages">{$MenuCurrentItem.Title}</a></span>
</div>
<div class="view-controls">
<button id="filters-button" class="icon-button font-icon-search" title="<% _t('CMSPagesController_Tools_ss.FILTER', 'Filter') %>"></button>
<div class="icon-button-group">
<a href="$LinkPages#cms-content-treeview" class="icon-button font-icon-tree active" title="<% _t('CMSPagesController.TreeView', 'Tree View') %>"></a><a href="$LinkPages#cms-content-listview" class="icon-button font-icon-list" title="<% _t('CMSPagesController.ListView', 'List View') %>"></a>
</div>
</div>
</div>
</div>
@ -30,4 +58,4 @@
$EditForm
</div>
</div>

View File

@ -1,6 +1,4 @@
<div class="cms-content-toolbar">
<% include CMSPagesController_ContentToolActions %>
</div>
<% include CMSPagesController_ContentToolActions %>
<div class="ss-dialog cms-page-add-form-dialog cms-dialog-content" id="cms-page-add-form" title="<% _t('CMSMain.AddNew', 'Add new page') %>">
$AddForm
@ -11,7 +9,7 @@
<div class="cms-tree-filtered cms-notice">
<strong><% _t('CMSMain.ListFiltered', 'Filtered list.') %></strong>
<a href="$LinkPages" class="cms-panel-link">
<% _t('CMSMain.TreeFilteredClear', 'Clear filter') %>
<% _t('CMSMain.TreeFilteredClear', 'Clear') %>
</a>
</div>
<% end_if %>

View File

@ -1,5 +1,9 @@
<div class="cms-content-tools west cms-panel cms-panel-layout" data-expandOnClick="true" data-layout-type="border" id="cms-content-tools-CMSMain">
<div class="cms-panel-content center">
<div class="cms-content-filters">
$SearchForm
</div>
<div class="cms-content-view cms-tree-view-sidebar cms-panel-deferred" id="cms-content-treeview" data-url="$LinkTreeView">
<%-- Lazy-loaded via ajax --%>
</div>

View File

@ -1,7 +1,4 @@
<div class="cms-content-toolbar">
<% include CMSPagesController_ContentToolActions %>
<% include CMSPagesController_ContentToolbar %>
</div>
<% include CMSPagesController_ContentToolActions View='Tree' %>
<div class="ss-dialog cms-page-add-form-dialog cms-dialog-content" id="cms-page-add-form" title="<% _t('CMSMain.AddNew', 'Add new page') %>">
$AddForm
@ -12,9 +9,9 @@ $ExtraTreeTools
<div class="center">
<% if $TreeIsFiltered %>
<div class="cms-tree-filtered cms-notice">
<strong><% _t('CMSMain.TreeFiltered', 'Filtered tree.') %></strong>
<a href="$LinkPages" class="cms-panel-link">
<% _t('CMSMain.TreeFilteredClear', 'Clear filter') %>
<strong><% _t('CMSMain.TreeFiltered', 'Search results.') %></strong>
<a href="javascript:void(0)" class="clear-filter">
<% _t('CMSMain.TreeFilteredClear', 'Clear') %>
</a>
</div>
<% end_if %>

View File

@ -6,25 +6,22 @@
</div>
<div class="cms-content-header-tabs">
<ul class="cms-tabset-nav-primary">
<li class="content-treeview<% if ViewState == tree %> ui-tabs-active ss-tabs-force-active<% end_if %> cms-tabset-icon tree">
<a href="#cms-content-treeview" class="cms-panel-link" data-href="$LinkTreeView"><% _t('CMSPagesController.TreeView', 'Tree View') %></a>
</li>
<li class="content-listview<% if ViewState == list %> ui-tabs-active ss-tabs-force-active<% end_if %> cms-tabset-icon list">
<a href="#cms-content-listview" class="cms-panel-link" data-href="$LinkListView"><% _t('CMSPagesController.ListView', 'List View') %></a>
</li>
<!--
<li class="content-galleryview cms-tabset-icon gallery">
<a href="#cms-content-galleryview"><% _t('CMSPagesController.GalleryView', 'Gallery View') %></a>
</li>
-->
</ul>
<button id="filters-button" class="icon-button font-icon-search" title="<% _t('CMSPagesController_Tools_ss.FILTER', 'Filter') %>"></button>
<div class="icon-button-group">
<ul class="cms-tabset-nav-primary ss-tabset">
<li class="content-treeview<% if ViewState == tree %> ui-tabs-active ss-tabs-force-active<% end_if %> cms-tabset-icon tree">
<a href="#cms-content-treeview" class="cms-panel-link icon-button font-icon-tree" data-href="$LinkTreeView" title="<% _t('CMSPagesController.TreeView', 'Tree View') %>"></a>
</li>
<li class="content-listview<% if ViewState == list %> ui-tabs-active ss-tabs-force-active<% end_if %> cms-tabset-icon list">
<a href="#cms-content-listview" class="cms-panel-link icon-button font-icon-list" data-href="$LinkListView" title="<% _t('CMSPagesController.ListView', 'List View') %>"></a>
</li>
</ul>
</div>
</div>
</div>
$Tools
<div class="cms-content-fields center ui-widget-content cms-panel-padded">
$Tools
<div class="cms-content-view cms-panel-deferred" id="cms-content-treeview" data-url="$LinkTreeView">
<%-- Lazy-loaded via ajax --%>

View File

@ -1,6 +1,19 @@
<div class="cms-actions-row">
<a class="cms-page-add-button ss-ui-button ss-ui-action-constructive" data-icon="add" href="$LinkPageAdd" data-url-addpage="{$LinkPageAdd('', 'ParentID=%s')}"><% _t('CMSMain.AddNewButton', 'Add new') %></a>
<button href="$LinkPagesWithSearch" class="cms-tree-expand-trigger cms-panel-link ss-button" data-icon="pencil">
<% _t('CMSMain.EditTree', 'Edit Tree') %>
</button>
</div>
<div class="cms-content-toolbar">
<div class="cms-actions-buttons-row">
<a class="ss-ui-button cms-content-addpage-button tool-button font-icon-plus" href="$LinkPageAdd" data-url-addpage="{$LinkPageAdd('', 'ParentID=%s')}"><% _t('CMSMain.AddNewButton', 'Add new') %></a>
<% if $View == 'Tree' %>
<button class="cms-content-batchactions-button tool-button font-icon-check" data-toolid="batch-actions">
<% _t("CMSPagesController_ContentToolbar_ss.MULTISELECT","Batch actions") %>
</button>
<% end_if %>
</div>
<div class="cms-actions-tools-row">
<% if $View == 'Tree' %>
<div id="batch-actions" class="cms-content-batchactions-dropdown tool-action">
$BatchActionsForm
</div>
<% end_if %>
</div>
</div>

View File

@ -1,8 +0,0 @@
<div class="cms-content-batchactions">
<div class="view-mode-batchactions-wrapper">
<input id="view-mode-batchactions" name="view-mode-batchactions" type="checkbox" />
<label for="view-mode-batchactions"><% _t("CMSPagesController_ContentToolbar_ss.MULTISELECT","Multi-selection") %></label>
</div>
$BatchActionsForm
</div>

View File

@ -1,9 +1,3 @@
<div class="cms-content-tools west cms-panel cms-panel-layout collapsed" data-expandOnClick="true" data-layout-type="border" id="cms-content-tools-CMSPagesController">
<div class="cms-panel-content center">
<h3 class="cms-panel-header"><% _t('CMSPagesController_Tools_ss.FILTER', 'Filter') %></h3>
$SearchForm
</div>
<div class="cms-panel-content-collapsed">
<h3 class="cms-panel-header"><% _t('CMSPagesController_Tools_ss.FILTER', 'Filter') %></h3>
</div>
</div>
<div id="cms-content-filters-CMSPagesController" class="cms-content-filters">
$SearchForm
</div>

View File

@ -17,7 +17,7 @@ So that I can link to a external website or a page on my site
Given I select "awesome" in the "Content" HTML field
And I press the "Insert Link" button
When I select the "Page on the site" radio button
And I fill in the "Page" dropdown with "Home"
And I fill in the "internal" dropdown with "Home"
And I fill in "my desc" for "Link description"
And I press the "Insert" button
# TODO Dynamic DB identifiers
@ -29,7 +29,7 @@ So that I can link to a external website or a page on my site
Given I select "awesome" in the "Content" HTML field
And I press the "Insert Link" button
And I select the "Page on the site" radio button
And I fill in the "Page" dropdown with "Details"
And I fill in the "internal" dropdown with "Details"
And I wait for 1 second
And I select "youranchor" from "Form_EditorToolbarLinkForm_AnchorSelector"
And I press the "Insert link" button
@ -52,9 +52,9 @@ So that I can link to a external website or a page on my site
Given I select "awesome" in the "Content" HTML field
When I press the "Insert Link" button
When I select the "Download a file" radio button
And I fill in the "File" dropdown with "file1.jpg"
And I attach the file "testfile.jpg" to "file[Uploads][]" with HTML5
And I press the "Insert link" button
Then the "Content" HTML field should contain "<a href="[file_link,id=1]" target="_blank">awesome</a>"
Then the "Content" HTML field should contain "<a href="[file_link,id=3]" target="_blank">awesome</a>"
# Required to avoid "unsaved changes" browser dialog
Then I press the "Save draft" button

View File

@ -17,12 +17,12 @@ Feature: Insert an image into a page
Then I should see "Choose files to upload..."
When I press the "From the web" button
And I fill in "RemoteURL" with "http://www.silverstripe.com/themes/sscom/images/silverstripe_logo_web.png"
And I fill in "RemoteURL" with "http://www.silverstripe.org/themes/ssv3/img/ss_logo.png"
And I press the "Add url" button
Then I should see "silverstripe_logo_web.png (www.silverstripe.com)" in the ".ss-assetuploadfield span.name" element
Then I should see "ss_logo.png (www.silverstripe.org)" in the ".ss-assetuploadfield span.name" element
When I press the "Insert" button
Then the "Content" HTML field should contain "silverstripe_logo_web.png"
Then the "Content" HTML field should contain "ss_logo.png"
# Required to avoid "unsaved changed" browser dialog
Then I press the "Save draft" button

View File

@ -36,7 +36,7 @@ Feature: Manage files
And I click on "file1" in the "folder1" table
And I fill in "renamedfile" for "Title"
And I press the "Save" button
And I press the "Back" button
And I follow "folder1"
Then the "folder1" table should not contain "testfile"
And the "folder1" table should contain "renamedfile"
@ -62,24 +62,24 @@ Feature: Manage files
Then I should see "png,"
Scenario: I can filter the files list view using name
Given I expand the "Filter" CMS Panel
Given I expand the content filters
And I fill in "Name" with "file1"
And I press the "Apply Filter" button
And I press the "Search" button
Then the "Files" table should contain "file1"
And the "Files" table should not contain "file2"
Scenario: I can filter the files list view using filetype
Given a "file" "assets/document.pdf"
And I expand the "Filter" CMS Panel
And I expand the content filters
And I select "Image" from "File type" with javascript
And I press the "Apply Filter" button
And I press the "Search" button
Then the "Files" table should contain "file1"
And the "Files" table should not contain "document"
Scenario: I can filter out files that don't match the date range
Given I expand the "Filter" CMS Panel
Given I expand the content filters
And I fill in "From" with "2003-01-01"
And I fill in "To" with "2011-01-01"
And I press the "Apply Filter" button
And I press the "Search" button
And the "Files" table should contain "file2"
And the "Files" table should not contain "file1"

View File

@ -9,18 +9,18 @@ Feature: Search for a page
And a "page" "Contact Us"
And I am logged in with "ADMIN" permissions
And I go to "/admin/pages"
And I expand the "Filter" CMS Panel
And I expand the content filters
Scenario: I can search for a page by its title
Given I fill in "Content" with "About Us"
And I press the "Apply Filter" button
Given I fill in "Search" with "About Us"
And I press the "Search" button
Then I should see "About Us" in the tree
But I should not see "Contact Us" in the tree
Scenario: I can search for a page by its type
Given a "Error Page" "My Error Page"
When I select "Error Page" from "Page Type"
And I press the "Apply Filter" button
When I select "Error Page" from "Page type"
And I press the "Search" button
Then I should see "My Error Page" in the tree
But I should not see "Contact Us" in the tree
@ -28,7 +28,7 @@ Feature: Search for a page
Given a "page" "Recent Page"
And a "page" "Old Page" was last edited "7 days ago"
When I fill in "From" with "the date of 5 days ago"
And I press the "Apply Filter" button
And I press the "Search" button
Then I should see "Recent Page" in the tree
But I should not see "Old Page" in the tree
@ -36,7 +36,7 @@ Feature: Search for a page
Given a "page" "Recent Page"
And a "page" "Old Page" was last edited "7 days ago"
When I fill in "To" with "the date of 5 days ago"
And I press the "Apply Filter" button
And I press the "Search" button
Then I should not see "Recent Page" in the tree
But I should see "Old Page" in the tree
@ -44,30 +44,33 @@ Feature: Search for a page
Given a "page" "Deleted Page"
And the "page" "Deleted Page" is unpublished
And the "page" "Deleted Page" is deleted
When I press the "Apply Filter" button
When I press the "Search" button
Then I should not see "Deleted Page" in the tree
When I select "All pages, including archived" from "Pages"
And I press the "Apply Filter" button
When I expand the content filters
And I select "All pages, including archived" from "Page status"
And I press the "Search" button
Then I should see "Deleted Page" in the tree
Scenario: I can include only deleted pages in my search
Given a "page" "Deleted Page"
And the "page" "Deleted Page" is unpublished
And the "page" "Deleted Page" is deleted
When I press the "Apply Filter" button
When I press the "Search" button
Then I should not see "Deleted Page" in the tree
When I select "Archived pages" from "Pages"
And I press the "Apply Filter" button
When I expand the content filters
And I select "Archived pages" from "Page status"
And I press the "Search" button
Then I should see "Deleted Page" in the tree
And I should not see "About Us" in the tree
Scenario: I can include draft pages in my search
Given a "page" "Draft Page"
And the "page" "Draft Page" is not published
When I press the "Apply Filter" button
When I press the "Search" button
Then I should see "Draft Page" in the tree
When I select "Draft pages" from "Pages"
And I press the "Apply Filter" button
When I expand the content filters
And I select "Draft pages" from "Page status"
And I press the "Search" button
Then I should see "Draft Page" in the tree
And I should not see "About Us" in the tree
@ -80,9 +83,9 @@ Feature: Search for a page
Then I should see "Saved" in the "button#Form_EditForm_action_save" element
When I go to "/admin/pages"
And I expand the "Filter" CMS Panel
When I select "Modified pages" from "Pages"
And I press the "Apply Filter" button
And I expand the content filters
When I select "Modified pages" from "Page status"
And I press the "Search" button
Then I should see "About Us" in the tree
And I should not see "Home" in the tree
@ -90,10 +93,11 @@ Feature: Search for a page
Given a "page" "Live Page"
And the "page" "Live Page" is published
And the "page" "Live Page" is deleted
When I press the "Apply Filter" button
When I press the "Search" button
Then I should not see "Live Page" in the tree
When I select "Live but removed from draft" from "Pages"
And I press the "Apply Filter" button
When I expand the content filters
And I select "Live but removed from draft" from "Page status"
And I press the "Search" button
Then I should see "Live Page" in the tree
And I should not see "About Us" in the tree
@ -106,8 +110,8 @@ Feature: Search for a page
And the "page" "Deleted Page" is unpublished
And the "page" "Deleted Page" is deleted
When I select "Published pages" from "Pages"
And I press the "Apply Filter" button
When I select "Published pages" from "Page status"
And I press the "Search" button
Then I should not see "Draft Page" in the tree
And I should not see "Deleted Page" in the tree
But I should see "Live Page" in the tree

View File

@ -342,8 +342,8 @@ class CMSMainTest extends FunctionalTest {
}
public function testBreadcrumbs() {
$page3 = $this->objFromFixture('Page', 'page3');
$page31 = $this->objFromFixture('Page', 'page31');
$page3 = $this->objFromFixture('Page', 'page3');
$page31 = $this->objFromFixture('Page', 'page31');
$adminuser = $this->objFromFixture('Member', 'admin');
$this->session()->inst_set('loggedInAs', $adminuser->ID);
@ -352,9 +352,9 @@ class CMSMainTest extends FunctionalTest {
$crumbs = $parser->getBySelector('.breadcrumbs-wrapper .crumb');
$this->assertNotNull($crumbs);
$this->assertEquals(3, count($crumbs));
$this->assertEquals('Page 3', (string)$crumbs[1]);
$this->assertEquals('Page 3.1', (string)$crumbs[2]);
$this->assertEquals(2, count($crumbs));
$this->assertEquals('Page 3', (string)$crumbs[0]);
$this->assertEquals('Page 3.1', (string)$crumbs[1]);
$this->session()->inst_set('loggedInAs', null);
}

View File

@ -168,6 +168,14 @@ class ContentControllerTest extends FunctionalTest {
// to say the default Page.ss template
$response = $self->get($page->RelativeLink("testwithouttemplate"));
$self->assertEquals("Page", $response->getBody());
// Test that an action with a template will render the both action template *and* the
// correct parent template
$controller = new ContentController($page);
$viewer = $controller->getViewer('test');
$templateList = array('ContentControllerTestPage_test', 'Page');
$expected = SS_TemplateLoader::instance()->findTemplates($templateList, 'controllertest');
$self->assertEquals($expected, $viewer->templates());
});
}

View File

@ -3,6 +3,7 @@
class RedirectorPageTest extends FunctionalTest {
protected static $fixture_file = 'RedirectorPageTest.yml';
protected static $use_draft_site = true;
protected $autoFollowRedirection = false;
public function testGoodRedirectors() {
/* For good redirectors, the final destination URL will be returned */
@ -64,4 +65,27 @@ class RedirectorPageTest extends FunctionalTest {
$protocolRelative->write();
$this->assertEquals('//mydomain.com', $protocolRelative->ExternalURL);
}
/**
* Test that we can trigger a redirection before RedirectorPage_Controller::init() is called
*/
public function testRedirectRespectsFinishedResponse() {
$page = $this->objFromFixture('RedirectorPage', 'goodinternal');
RedirectorPage_Controller::add_extension('RedirectorPageTest_RedirectExtension');
$response = $this->get($page->regularLink());
$this->assertEquals(302, $response->getStatusCode());
$this->assertEquals('/foo', $response->getHeader('Location'));
RedirectorPage_Controller::remove_extension('RedirectorPageTest_RedirectExtension');
}
}
class RedirectorPageTest_RedirectExtension extends Extension implements TestOnly {
public function onBeforeInit() {
$this->owner->redirect('/foo');
}
}

View File

@ -925,27 +925,27 @@ class SiteTreeTest extends SapphireTest {
$classCext->write();
$classB->ParentID = $page->ID;
$valid = $classB->validate();
$valid = $classB->doValidate();
$this->assertTrue($valid->valid(), "Does allow children on unrestricted parent");
$classB->ParentID = $classA->ID;
$valid = $classB->validate();
$valid = $classB->doValidate();
$this->assertTrue($valid->valid(), "Does allow child specifically allowed by parent");
$classC->ParentID = $classA->ID;
$valid = $classC->validate();
$valid = $classC->doValidate();
$this->assertFalse($valid->valid(), "Doesnt allow child on parents specifically restricting children");
$classB->ParentID = $classC->ID;
$valid = $classB->validate();
$valid = $classB->doValidate();
$this->assertFalse($valid->valid(), "Doesnt allow child on parents disallowing all children");
$classB->ParentID = $classC->ID;
$valid = $classB->validate();
$valid = $classB->doValidate();
$this->assertFalse($valid->valid(), "Doesnt allow child on parents disallowing all children");
$classCext->ParentID = $classD->ID;
$valid = $classCext->validate();
$valid = $classCext->doValidate();
$this->assertFalse($valid->valid(), "Doesnt allow child where only parent class is allowed on parent node, and asterisk prefixing is used");
}

View File

@ -381,11 +381,11 @@ class VirtualPageTest extends SapphireTest {
$classCVirtual->write();
$classBVirtual->ParentID = $classA->ID;
$valid = $classBVirtual->validate();
$valid = $classBVirtual->doValidate();
$this->assertTrue($valid->valid(), "Does allow child linked to virtual page type allowed by parent");
$classCVirtual->ParentID = $classA->ID;
$valid = $classCVirtual->validate();
$valid = $classCVirtual->doValidate();
$this->assertFalse($valid->valid(), "Doesn't allow child linked to virtual page type disallowed by parent");
}

View File

@ -24,6 +24,31 @@ class CmsReportsTest extends SapphireTest {
DB::query("UPDATE \"SiteTree\" SET \"Created\"='2009-01-01 00:00:00', \"LastEdited\"='".date('Y-m-d H:i:s', $beforeThreshold)."' WHERE \"ID\"='".$before->ID."'");
}
/**
* ASSERT whether a report is returning the correct results, based on a broken "draft" and/or "published" page.
*
* @parameter ss_report
* @parameter boolean
* @parameter boolean
*/
public function isReportBroken($report, $isDraftBroken, $isPublishedBroken) {
$class = get_class($report);
// ASSERT that the "draft" report is returning the correct results.
$results = count($report->sourceRecords(array())) > 0;
$isDraftBroken ? $this->assertTrue($results, "{$class} has NOT returned the correct DRAFT results, as NO pages were found.") : $this->assertFalse($results, "{$class} has NOT returned the correct DRAFT results, as pages were found.");
// ASSERT that the "published" report is returning the correct results.
$results = count($report->sourceRecords(array(
'OnLive' => 1
))) > 0;
$isPublishedBroken ? $this->assertTrue($results, "{$class} has NOT returned the correct PUBLISHED results, as NO pages were found.") : $this->assertFalse($results, "{$class} has NOT returned the correct PUBLISHED results, as pages were found.");
}
public function testRecentlyEdited() {
SS_Datetime::set_mock_now('31-06-2009 00:00:00');
@ -39,4 +64,265 @@ class CmsReportsTest extends SapphireTest {
SS_DateTime::clear_mock_now();
}
/**
* Test the broken links side report.
*/
public function testBrokenLinks() {
// Create a "draft" page with a broken link.
$page = Page::create();
$page->Content = "<a href='[sitetree_link,id=987654321]'>This</a> is a broken link.";
$page->writeToStage('Stage');
// Retrieve the broken links side report.
$reports = SS_Report::get_reports();
$brokenLinksReport = null;
foreach($reports as $report) {
if($report instanceof SideReport_BrokenLinks) {
$brokenLinksReport = $report;
break;
}
}
// Determine that the report exists, otherwise it has been excluded.
if($brokenLinksReport) {
// ASSERT that the "draft" report has detected the page having a broken link.
// ASSERT that the "published" report has NOT detected the page having a broken link, as the page has not been "published" yet.
$this->isReportBroken($brokenLinksReport, true, false);
// Make sure the page is now "published".
$page->writeToStage('Live');
// ASSERT that the "draft" report has detected the page having a broken link.
// ASSERT that the "published" report has detected the page having a broken link.
$this->isReportBroken($brokenLinksReport, true, true);
// Correct the "draft" broken link.
$page->Content = str_replace('987654321', $page->ID, $page->Content);
$page->writeToStage('Stage');
// ASSERT that the "draft" report has NOT detected the page having a broken link.
// ASSERT that the "published" report has detected the page having a broken link, as the previous content remains "published".
$this->isReportBroken($brokenLinksReport, false, true);
// Make sure the change has now been "published".
$page->writeToStage('Live');
// ASSERT that the "draft" report has NOT detected the page having a broken link.
// ASSERT that the "published" report has NOT detected the page having a broken link.
$this->isReportBroken($brokenLinksReport, false, false);
}
}
/**
* Test the broken files side report.
*/
public function testBrokenFiles() {
// Create a "draft" page with a broken file.
$page = Page::create();
$page->Content = "<a href='[file_link,id=987654321]'>This</a> is a broken file.";
$page->writeToStage('Stage');
// Retrieve the broken files side report.
$reports = SS_Report::get_reports();
$brokenFilesReport = null;
foreach($reports as $report) {
if($report instanceof SideReport_BrokenFiles) {
$brokenFilesReport = $report;
break;
}
}
// Determine that the report exists, otherwise it has been excluded.
if($brokenFilesReport) {
// ASSERT that the "draft" report has detected the page having a broken file.
// ASSERT that the "published" report has NOT detected the page having a broken file, as the page has not been "published" yet.
$this->isReportBroken($brokenFilesReport, true, false);
// Make sure the page is now "published".
$page->writeToStage('Live');
// ASSERT that the "draft" report has detected the page having a broken file.
// ASSERT that the "published" report has detected the page having a broken file.
$this->isReportBroken($brokenFilesReport, true, true);
// Correct the "draft" broken file.
$file = File::create();
$file->Filename = 'name.pdf';
$file->write();
$page->Content = str_replace('987654321', $file->ID, $page->Content);
$page->writeToStage('Stage');
// ASSERT that the "draft" report has NOT detected the page having a broken file.
// ASSERT that the "published" report has detected the page having a broken file, as the previous content remains "published".
$this->isReportBroken($brokenFilesReport, false, true);
// Make sure the change has now been "published".
$page->writeToStage('Live');
// ASSERT that the "draft" report has NOT detected the page having a broken file.
// ASSERT that the "published" report has NOT detected the page having a broken file.
$this->isReportBroken($brokenFilesReport, false, false);
}
}
/**
* Test the broken virtual pages side report.
*/
public function testBrokenVirtualPages() {
// Create a "draft" virtual page with a broken link.
$page = VirtualPage::create();
$page->CopyContentFromID = 987654321;
$page->writeToStage('Stage');
// Retrieve the broken virtual pages side report.
$reports = SS_Report::get_reports();
$brokenVirtualPagesReport = null;
foreach($reports as $report) {
if($report instanceof SideReport_BrokenVirtualPages) {
$brokenVirtualPagesReport = $report;
break;
}
}
// Determine that the report exists, otherwise it has been excluded.
if($brokenVirtualPagesReport) {
// ASSERT that the "draft" report has detected the page having a broken link.
// ASSERT that the "published" report has NOT detected the page having a broken link, as the page has not been "published" yet.
$this->isReportBroken($brokenVirtualPagesReport, true, false);
// Make sure the page is now "published".
$page->writeToStage('Live');
// ASSERT that the "draft" report has detected the page having a broken link.
// ASSERT that the "published" report has detected the page having a broken link.
$this->isReportBroken($brokenVirtualPagesReport, true, true);
// Correct the "draft" broken link.
$contentPage = Page::create();
$contentPage->Content = 'This is some content.';
$contentPage->writeToStage('Stage');
$contentPage->writeToStage('Live');
$page->CopyContentFromID = $contentPage->ID;
$page->writeToStage('Stage');
// ASSERT that the "draft" report has NOT detected the page having a broken link.
// ASSERT that the "published" report has detected the page having a broken link, as the previous content remains "published".
$this->isReportBroken($brokenVirtualPagesReport, false, true);
// Make sure the change has now been "published".
$page->writeToStage('Live');
// ASSERT that the "draft" report has NOT detected the page having a broken link.
// ASSERT that the "published" report has NOT detected the page having a broken link.
$this->isReportBroken($brokenVirtualPagesReport, false, false);
}
}
/**
* Test the broken redirector pages side report.
*/
public function testBrokenRedirectorPages() {
// Create a "draft" redirector page with a broken link.
$page = RedirectorPage::create();
$page->RedirectionType = 'Internal';
$page->LinkToID = 987654321;
$page->writeToStage('Stage');
// Retrieve the broken redirector pages side report.
$reports = SS_Report::get_reports();
$brokenRedirectorPagesReport = null;
foreach($reports as $report) {
if($report instanceof SideReport_BrokenRedirectorPages) {
$brokenRedirectorPagesReport = $report;
break;
}
}
// Determine that the report exists, otherwise it has been excluded.
if($brokenRedirectorPagesReport) {
// ASSERT that the "draft" report has detected the page having a broken link.
// ASSERT that the "published" report has NOT detected the page having a broken link, as the page has not been "published" yet.
$this->isReportBroken($brokenRedirectorPagesReport, true, false);
// Make sure the page is now "published".
$page->writeToStage('Live');
// ASSERT that the "draft" report has detected the page having a broken link.
// ASSERT that the "published" report has detected the page having a broken link.
$this->isReportBroken($brokenRedirectorPagesReport, true, true);
// Correct the "draft" broken link.
$contentPage = Page::create();
$contentPage->Content = 'This is some content.';
$contentPage->writeToStage('Stage');
$contentPage->writeToStage('Live');
$page->LinkToID = $contentPage->ID;
$page->writeToStage('Stage');
// ASSERT that the "draft" report has NOT detected the page having a broken link.
// ASSERT that the "published" report has detected the page having a broken link, as the previous content remains "published".
$this->isReportBroken($brokenRedirectorPagesReport, false, true);
// Make sure the change has now been "published".
$page->writeToStage('Live');
// ASSERT that the "draft" report has NOT detected the page having a broken link.
// ASSERT that the "published" report has NOT detected the page having a broken link.
$this->isReportBroken($brokenRedirectorPagesReport, false, false);
}
}
}