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,5 +1,12 @@
language: php language: php
sudo: false
addons:
apt:
packages:
- tidy
php: php:
- 5.4 - 5.4
@ -20,8 +27,13 @@ env:
matrix: matrix:
allow_failures: allow_failures:
- php: hhvm-nightly - php: hhvm
- php: 7.0
- php: nightly
include: include:
- php: 5.4
env: DB=MYSQL PDO=1
- php: 5.5 - php: 5.5
env: DB=MYSQL env: DB=MYSQL
- php: 5.6 - php: 5.6
@ -30,11 +42,12 @@ matrix:
env: DB=MYSQL BEHAT_TEST=1 env: DB=MYSQL BEHAT_TEST=1
- php: 5.3 - php: 5.3
env: DB=MYSQL env: DB=MYSQL
- php: hhvm-nightly - php: 7.0
env: DB=MYSQL
- php: nightly
env: DB=MYSQL
- php: hhvm
env: DB=MYSQL env: DB=MYSQL
before_install:
- sudo apt-get update -qq
- sudo apt-get install -y tidy
before_script: before_script:
- composer self-update || true - 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: 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) * [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://doc.silverstripe.org/framework/en/trunk/misc/contributing/code) * [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://doc.silverstripe.org/framework/en/trunk/misc/contributing/documentation) * [Writing and translating documentation](http://docs.silverstripe.org/en/3.2/contributing/translations/)
* [Translating user-interface elements](http://doc.silverstripe.org/framework/en/trunk/misc/contributing/translation) * [Translating user-interface elements](http://docs.silverstripe.org/en/3.2/contributing/translation_process/)

View File

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

View File

@ -314,8 +314,8 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
*/ */
public function SearchForm() { public function SearchForm() {
// Create the fields // Create the fields
$content = new TextField('q[Term]', _t('CMSSearch.FILTERLABELTEXT', 'Content')); $content = new TextField('q[Term]', _t('CMSSearch.FILTERLABELTEXT', 'Search'));
$dateHeader = new HeaderField('q[Date]', _t('CMSSearch.FILTERDATEHEADING', 'Date'), 4); $dateHeader = new HeaderField('q[Date]', _t('CMSSearch.PAGEFILTERDATEHEADING', 'Last edited'), 4);
$dateFrom = new DateField( $dateFrom = new DateField(
'q[LastEditedFrom]', 'q[LastEditedFrom]',
_t('CMSSearch.FILTERDATEFROM', 'From') _t('CMSSearch.FILTERDATEFROM', 'From')
@ -328,12 +328,12 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
$dateTo->setConfig('showcalendar', true); $dateTo->setConfig('showcalendar', true);
$pageFilter = new DropdownField( $pageFilter = new DropdownField(
'q[FilterClass]', 'q[FilterClass]',
_t('CMSMain.PAGES', 'Pages'), _t('CMSMain.PAGES', 'Page status'),
CMSSiteTreeFilter::get_all_filters() CMSSiteTreeFilter::get_all_filters()
); );
$pageClasses = new DropdownField( $pageClasses = new DropdownField(
'q[ClassName]', '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() $this->getPageTypes()
); );
$pageClasses->setEmptyString(_t('CMSMain.PAGETYPEANYOPT','Any')); $pageClasses->setEmptyString(_t('CMSMain.PAGETYPEANYOPT','Any'));
@ -356,9 +356,9 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
// Create the Search and Reset action // Create the Search and Reset action
$actions = new FieldList( $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'), ->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 // 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)) { if(($id = $this->urlParams['ID']) && is_numeric($id)) {
$page = DataObject::get_by_id("SiteTree", $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); if(!$page || !$page->ID) throw new SS_HTTPResponse_Exception("Bad record ID #$id", 404);
$newPage = $page->duplicate(); $newPage = $page->duplicate();
@ -1405,7 +1407,9 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
increase_time_limit_to(); increase_time_limit_to();
if(($id = $this->urlParams['ID']) && is_numeric($id)) { if(($id = $this->urlParams['ID']) && is_numeric($id)) {
$page = DataObject::get_by_id("SiteTree", $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); if(!$page || !$page->ID) throw new SS_HTTPResponse_Exception("Bad record ID #$id", 404);
$newPage = $page->duplicateWithChildren(); $newPage = $page->duplicateWithChildren();

View File

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

View File

@ -402,15 +402,15 @@ HTML;
if($action == "index") $action = ""; if($action == "index") $action = "";
else $action = '_' . $action; else $action = '_' . $action;
$templates = array_merge(
// Find templates by dataRecord // Find templates by dataRecord
$templates = SSViewer::get_templates_by_class(get_class($this->dataRecord), $action, "SiteTree"); SSViewer::get_templates_by_class(get_class($this->dataRecord), $action, "SiteTree"),
// Next, we need to add templates for all controllers // Next, we need to add templates for all controllers
$templates += SSViewer::get_templates_by_class(get_class($this), $action, "Controller"); SSViewer::get_templates_by_class(get_class($this), $action, "Controller"),
// Fail-over to the same for the "index" action // Fail-over to the same for the "index" action
$templates += SSViewer::get_templates_by_class(get_class($this->dataRecord), "", "SiteTree"); SSViewer::get_templates_by_class(get_class($this->dataRecord), "", "SiteTree"),
$templates += SSViewer::get_templates_by_class(get_class($this), "", "Controller"); SSViewer::get_templates_by_class(get_class($this), "", "Controller")
);
return new SSViewer($templates); 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 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. * @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 * @return SiteTree
*/ */
static public function find_old_page($URLSegment, $parent = null, $ignoreNestedURLs = false) { 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) { if ($parent) {
$parent = SiteTree::get()->byId($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. * 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". * 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 * @param string $urlsegment the URL segment for your home page
*/ */
static public function set_default_homepage_link($urlsegment = "home") { 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); 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. * 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 * @return string
*/ */
static public function get_default_homepage_link() { 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'); 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()}. * Set the path where static error files are saved through {@link publish()}.
* Defaults to /assets. * Defaults to /assets.
* *
* @deprecated 3.2 Use "ErrorPage.static_file_path" instead * @deprecated 4.0 Use "ErrorPage.static_file_path" instead
* @param string $path * @param string $path
*/ */
static public function set_static_filepath($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; 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 * @return string
*/ */
static public function get_static_filepath() { 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; return self::config()->static_filepath;
} }
} }

View File

@ -165,7 +165,8 @@ class RedirectorPage_Controller extends Page_Controller {
public function init() { public function init() {
parent::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); $this->redirect($link, 301);
return; 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), * 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). * 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 * @param boolean
*/ */
static public function set_enforce_strict_hierarchy($to) { 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); 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 * @return boolean
*/ */
static public function get_enforce_strict_hierarchy() { 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'); return Config::inst()->get('SiteTree', 'enforce_strict_hierarchy');
} }
/** /**
* Returns TRUE if nested URLs (e.g. page/sub-page/) are currently enabled on this site. * 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 * @return bool
*/ */
static public function nested_urls() { 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'); 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() { 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); 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() { 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); Config::inst()->update('SiteTree', 'nested_urls', false);
} }
/** /**
* Set the (re)creation of default pages on /dev/build * 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 * @param bool $option
*/ */
static public function set_create_default_pages($option = true) { 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); Config::inst()->update('SiteTree', 'create_default_pages', $option);
} }
/** /**
* Return true if default pages should be created on /dev/build. * 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 * @return bool
*/ */
static public function get_create_default_pages() { 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'); 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'))) { if(!SiteTree::get_by_link(Config::inst()->get('RootURLController', 'default_homepage_link'))) {
$homepage = new Page(); $homepage = new Page();
$homepage->Title = _t('SiteTree.DEFAULTHOMETITLE', 'Home'); $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->URLSegment = Config::inst()->get('RootURLController', 'default_homepage_link');
$homepage->Sort = 1; $homepage->Sort = 1;
$homepage->write(); $homepage->write();

View File

@ -56,7 +56,7 @@ class SiteTreeFileExtension extends DataExtension {
*/ */
public function BackLinkTracking($filter = null, $sort = null, $join = null, $limit = null) { public function BackLinkTracking($filter = null, $sort = null, $join = null, $limit = null) {
if($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. SiteTreeFileExtension::BackLinkTracking() have been deprecated.
Please manipluate the returned list directly.', Deprecation::SCOPE_GLOBAL); Please manipluate the returned list directly.', Deprecation::SCOPE_GLOBAL);
} }
@ -67,7 +67,7 @@ class SiteTreeFileExtension extends DataExtension {
} }
if($filter || $sort || $join || $limit) { 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. SiteTreeFileExtension::BackLinkTracking() have been deprecated.
Please manipluate the returned list directly.', Deprecation::SCOPE_GLOBAL); Please manipluate the returned list directly.', Deprecation::SCOPE_GLOBAL);
} }

View File

@ -80,7 +80,7 @@ class BrokenLinksReport extends SS_Report {
return $returnSet; return $returnSet;
} }
public function columns() { 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'); $dateTitle = _t('BrokenLinksReport.ColumnDateLastModified', 'Date last modified');
} else { } else {
$dateTitle = _t('BrokenLinksReport.ColumnDateLastPublished', 'Date last published'); $dateTitle = _t('BrokenLinksReport.ColumnDateLastPublished', 'Date last published');
@ -91,7 +91,7 @@ class BrokenLinksReport extends SS_Report {
"Title" => array( "Title" => array(
"title" => _t('BrokenLinksReport.PageName', 'Page name'), "title" => _t('BrokenLinksReport.PageName', 'Page name'),
'formatting' => function($value, $item) use ($linkBase) { '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), Controller::join_links($linkBase, $item->ID),
_t('BrokenLinksReport.HoverTitleEditPage', 'Edit page'), _t('BrokenLinksReport.HoverTitleEditPage', 'Edit page'),
$value $value

View File

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

View File

@ -13,13 +13,22 @@
/** -------------------------------------------- Tree View (collapsed for sidebar) -------------------------------------------- */ /** -------------------------------------------- Tree View (collapsed for sidebar) -------------------------------------------- */
#cms-content-treeview .cms-tree-expand-trigger, #cms-content-listview .cms-tree-expand-trigger { display: none; } #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; } /** 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-tree-view-modes, .cms-content-tools #cms-content-treeview .cms-content-batchactions { display: none; } .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 { 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-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 .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; } .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 ----------------------------------------------------------------- */ /** ------------------------------------------------------------------ URLSegment field ----------------------------------------------------------------- */
.field.urlsegment.loading { background: url(../images/loading.gif) no-repeat 162px 8px; } .field.urlsegment.loading { background: url(../images/loading.gif) no-repeat 162px 8px; }
.field.urlsegment .preview { padding-top: 8px; display: inline-block; } .field.urlsegment .preview { padding-top: 8px; display: inline-block; }
@ -30,8 +39,8 @@
#Form_EditForm #Title .update { margin-left: 7px; } #Form_EditForm #Title .update { margin-left: 7px; }
.cms .AssetAdmin .cms-content-fields { overflow: hidden; } .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 { overflow-y: auto; } .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 { overflow: hidden; }
.cms .AssetAdmin .cms-content-fields .cms-content-tools .cms-panel-content .cms-search-form { height: 100%; } .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; } .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)); }(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; var compare, selected;
// compare mode // 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"); selected = this.siblings(".active");
if(compare && this.hasClass('active')) { if(compare && this.hasClass('active')) {
@ -172,6 +172,6 @@
this.find(":input[type=checkbox]").attr("checked", true); this.find(":input[type=checkbox]").attr("checked", true);
} }
}) });
}); });
})(jQuery); })(jQuery);

View File

@ -36,10 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"Tree.ThisPageOnly": "هذه الصفحة فقط", "Tree.ThisPageOnly": "هذه الصفحة فقط",
"Tree.ThisPageAndSubpages": "هذه الصفحة وصفحات فرعية", "Tree.ThisPageAndSubpages": "هذه الصفحة وصفحات فرعية",
"Tree.ShowAsList": "أعرض التوابع في شكل قائمة", "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.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.Edit": "تحرير",
"URLSEGMENT.OK": "موافق", "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.ThisPageOnly": "Pouze tuto stránku",
"Tree.ThisPageAndSubpages": "Tuto stránku a podstránky", "Tree.ThisPageAndSubpages": "Tuto stránku a podstránky",
"Tree.ShowAsList": "Zobrazit potomky jako seznam", "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.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.Edit": "Editovat",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Nur diese Seite",
"Tree.ThisPageAndSubpages": "Diese Seite und Unterseiten", "Tree.ThisPageAndSubpages": "Diese Seite und Unterseiten",
"Tree.ShowAsList": "Kinder als LIste zeigen", "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.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.Edit": "Bearbeiten",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Nur ĉi tiu paĝo",
"Tree.ThisPageAndSubpages": "Ĉi tiu paĝo kaj subpaĝoj", "Tree.ThisPageAndSubpages": "Ĉi tiu paĝo kaj subpaĝoj",
"Tree.ShowAsList": "Vidigi idojn kiel liston", "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.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.Edit": "Redakti",
"URLSEGMENT.OK": "Akcepti", "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.ThisPageOnly": "Sólo en esta página",
"Tree.ThisPageAndSubpages": "Esta página y subpáginas", "Tree.ThisPageAndSubpages": "Esta página y subpáginas",
"Tree.ShowAsList": "Mostrar hijos como lista", "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.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.Edit": "Editar",
"URLSEGMENT.OK": "Ok", "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.ThisPageOnly": "Vain tämä sivu",
"Tree.ThisPageAndSubpages": "Tämä sivu ja alasivut", "Tree.ThisPageAndSubpages": "Tämä sivu ja alasivut",
"Tree.ShowAsList": "Näytä alasivut listana", "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.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.Edit": "Muokkaa",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Seulement cette page",
"Tree.ThisPageAndSubpages": "Cette page et ses sous-pages", "Tree.ThisPageAndSubpages": "Cette page et ses sous-pages",
"Tree.ShowAsList": "Montrer les enfants en liste", "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.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.Edit": "Éditer",
"URLSEGMENT.OK": "Ok", "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.ThisPageOnly": "Hanya laman ini",
"Tree.ThisPageAndSubpages": "Laman dan sublaman ini", "Tree.ThisPageAndSubpages": "Laman dan sublaman ini",
"Tree.ShowAsList": "Tampilkan turunan sebagai daftar", "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.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.Edit": "Edit",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Aðeins þessi síða",
"Tree.ThisPageAndSubpages": "Þessi síða og undirsíður", "Tree.ThisPageAndSubpages": "Þessi síða og undirsíður",
"Tree.ShowAsList": "Show children as list", "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.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.Edit": "Breyta",
"URLSEGMENT.OK": "Allt í lagi", "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.ThisPageOnly": "Solo questa pagina",
"Tree.ThisPageAndSubpages": "Questa pagina e le sottopagine", "Tree.ThisPageAndSubpages": "Questa pagina e le sottopagine",
"Tree.ShowAsList": "Mostra figli come lista", "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.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.Edit": "Modifica",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "このページのみ",
"Tree.ThisPageAndSubpages": "このページとサブページ", "Tree.ThisPageAndSubpages": "このページとサブページ",
"Tree.ShowAsList": "子どもをリストで表示する", "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.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.Edit": "編集",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "이 페이지만",
"Tree.ThisPageAndSubpages": "이 페이지와 하위 페이지", "Tree.ThisPageAndSubpages": "이 페이지와 하위 페이지",
"Tree.ShowAsList": "하위 목록으로 표시", "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.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.Edit": "편집",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Tik šį puslapį",
"Tree.ThisPageAndSubpages": "Šį puslapį ir visus po juo", "Tree.ThisPageAndSubpages": "Šį puslapį ir visus po juo",
"Tree.ShowAsList": "Rodyti žemesnius pusl. kaip sąrašą", "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.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.Edit": "Redaguoti",
"URLSEGMENT.OK": "Gerai", "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.ThisPageOnly": "Tēnei whārangi anake",
"Tree.ThisPageAndSubpages": "Tēnei whārangi me ngā whārangi iti", "Tree.ThisPageAndSubpages": "Tēnei whārangi me ngā whārangi iti",
"Tree.ShowAsList": "Whakaatu tamariki hei rārangi", "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.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.Edit": "Whakatika",
"URLSEGMENT.OK": "ĀE", "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.ThisPageOnly": "Bare denne siden",
"Tree.ThisPageAndSubpages": "Denne siden og undersider", "Tree.ThisPageAndSubpages": "Denne siden og undersider",
"Tree.ShowAsList": "Vis undersider som en liste", "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.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.Edit": "Rediger",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Enkel deze pagina",
"Tree.ThisPageAndSubpages": "Deze pagina en subpagina's", "Tree.ThisPageAndSubpages": "Deze pagina en subpagina's",
"Tree.ShowAsList": "Toon onderliggende pagina's als lijst", "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.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.Edit": "Aanpassen",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Tylko tę stronę",
"Tree.ThisPageAndSubpages": "Ta strona i podstrony", "Tree.ThisPageAndSubpages": "Ta strona i podstrony",
"Tree.ShowAsList": "Pokaż dzieci jako listę", "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.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.Edit": "Edytuj",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Doar această pagină",
"Tree.ThisPageAndSubpages": "Această pagină cu subpagini", "Tree.ThisPageAndSubpages": "Această pagină cu subpagini",
"Tree.ShowAsList": "Afişare fii în format listă", "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.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.Edit": "Editare",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Только этой страницы",
"Tree.ThisPageAndSubpages": "Вместе с вложенными страницами", "Tree.ThisPageAndSubpages": "Вместе с вложенными страницами",
"Tree.ShowAsList": "Показать страницы в виде списка", "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.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.Edit": "Изменить",
"URLSEGMENT.OK": "ОК", "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.ThisPageOnly": "Iba túto stránku",
"Tree.ThisPageAndSubpages": "Túto stránku a podstránky", "Tree.ThisPageAndSubpages": "Túto stránku a podstránky",
"Tree.ShowAsList": "Zobraziť potomkov ako zoznam", "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.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.Edit": "Editovať",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Samo to stran",
"Tree.ThisPageAndSubpages": "To stran in podstrani", "Tree.ThisPageAndSubpages": "To stran in podstrani",
"Tree.ShowAsList": "Prikaži otroke kot seznam", "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.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.Edit": "Uredi",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Само ова страница",
"Tree.ThisPageAndSubpages": "Ова страница и подстранице", "Tree.ThisPageAndSubpages": "Ова страница и подстранице",
"Tree.ShowAsList": "Прикажу децу у виду листе", "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.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.Edit": "Измени",
"URLSEGMENT.OK": "У реду", "URLSEGMENT.OK": "У реду",
"URLSEGMENT.Cancel": "Одустани" "URLSEGMENT.Cancel": "Одустани",
"URLSEGMENT.UpdateURL": "Update URL"
}); });
} }

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "هذه الصفحة فقط", "Tree.ThisPageOnly": "هذه الصفحة فقط",
"Tree.ThisPageAndSubpages": "هذه الصفحة وصفحات فرعية", "Tree.ThisPageAndSubpages": "هذه الصفحة وصفحات فرعية",
"Tree.ShowAsList": "أعرض التوابع في شكل قائمة", "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.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.Edit": "تحرير",
"URLSEGMENT.OK": "موافق", "URLSEGMENT.OK": "موافق",
"URLSEGMENT.Cancel": "إلغاء" "URLSEGMENT.Cancel": "إلغاء",
"URLSEGMENT.UpdateURL": "Update URL"
} }

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Pouze tuto stránku", "Tree.ThisPageOnly": "Pouze tuto stránku",
"Tree.ThisPageAndSubpages": "Tuto stránku a podstránky", "Tree.ThisPageAndSubpages": "Tuto stránku a podstránky",
"Tree.ShowAsList": "Zobrazit potomky jako seznam", "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.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.Edit": "Editovat",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Nur diese Seite",
"Tree.ThisPageAndSubpages": "Diese Seite und Unterseiten", "Tree.ThisPageAndSubpages": "Diese Seite und Unterseiten",
"Tree.ShowAsList": "Kinder als LIste zeigen", "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.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.Edit": "Bearbeiten",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Nur ĉi tiu paĝo",
"Tree.ThisPageAndSubpages": "Ĉi tiu paĝo kaj subpaĝoj", "Tree.ThisPageAndSubpages": "Ĉi tiu paĝo kaj subpaĝoj",
"Tree.ShowAsList": "Vidigi idojn kiel liston", "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.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.Edit": "Redakti",
"URLSEGMENT.OK": "Akcepti", "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.ThisPageOnly": "Sólo en esta página",
"Tree.ThisPageAndSubpages": "Esta página y subpáginas", "Tree.ThisPageAndSubpages": "Esta página y subpáginas",
"Tree.ShowAsList": "Mostrar hijos como lista", "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.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.Edit": "Editar",
"URLSEGMENT.OK": "Ok", "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.ThisPageOnly": "Vain tämä sivu",
"Tree.ThisPageAndSubpages": "Tämä sivu ja alasivut", "Tree.ThisPageAndSubpages": "Tämä sivu ja alasivut",
"Tree.ShowAsList": "Näytä alasivut listana", "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.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.Edit": "Muokkaa",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Seulement cette page",
"Tree.ThisPageAndSubpages": "Cette page et ses sous-pages", "Tree.ThisPageAndSubpages": "Cette page et ses sous-pages",
"Tree.ShowAsList": "Montrer les enfants en liste", "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.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.Edit": "Éditer",
"URLSEGMENT.OK": "Ok", "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.ThisPageOnly": "Hanya laman ini",
"Tree.ThisPageAndSubpages": "Laman dan sublaman ini", "Tree.ThisPageAndSubpages": "Laman dan sublaman ini",
"Tree.ShowAsList": "Tampilkan turunan sebagai daftar", "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.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.Edit": "Edit",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Aðeins þessi síða",
"Tree.ThisPageAndSubpages": "Þessi síða og undirsíður", "Tree.ThisPageAndSubpages": "Þessi síða og undirsíður",
"Tree.ShowAsList": "Show children as list", "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.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.Edit": "Breyta",
"URLSEGMENT.OK": "Allt í lagi", "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.ThisPageOnly": "Solo questa pagina",
"Tree.ThisPageAndSubpages": "Questa pagina e le sottopagine", "Tree.ThisPageAndSubpages": "Questa pagina e le sottopagine",
"Tree.ShowAsList": "Mostra figli come lista", "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.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.Edit": "Modifica",
"URLSEGMENT.OK": "OK", "URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Annulla" "URLSEGMENT.Cancel": "Annulla",
"URLSEGMENT.UpdateURL": "Update URL"
} }

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "このページのみ", "Tree.ThisPageOnly": "このページのみ",
"Tree.ThisPageAndSubpages": "このページとサブページ", "Tree.ThisPageAndSubpages": "このページとサブページ",
"Tree.ShowAsList": "子どもをリストで表示する", "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.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.Edit": "編集",
"URLSEGMENT.OK": "OK", "URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "キャンセル" "URLSEGMENT.Cancel": "キャンセル",
"URLSEGMENT.UpdateURL": "Update URL"
} }

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "이 페이지만", "Tree.ThisPageOnly": "이 페이지만",
"Tree.ThisPageAndSubpages": "이 페이지와 하위 페이지", "Tree.ThisPageAndSubpages": "이 페이지와 하위 페이지",
"Tree.ShowAsList": "하위 목록으로 표시", "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.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.Edit": "편집",
"URLSEGMENT.OK": "OK", "URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "취소" "URLSEGMENT.Cancel": "취소",
"URLSEGMENT.UpdateURL": "Update URL"
} }

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Tik šį puslapį", "Tree.ThisPageOnly": "Tik šį puslapį",
"Tree.ThisPageAndSubpages": "Šį puslapį ir visus po juo", "Tree.ThisPageAndSubpages": "Šį puslapį ir visus po juo",
"Tree.ShowAsList": "Rodyti žemesnius pusl. kaip sąrašą", "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.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.Edit": "Redaguoti",
"URLSEGMENT.OK": "Gerai", "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.ThisPageOnly": "Tēnei whārangi anake",
"Tree.ThisPageAndSubpages": "Tēnei whārangi me ngā whārangi iti", "Tree.ThisPageAndSubpages": "Tēnei whārangi me ngā whārangi iti",
"Tree.ShowAsList": "Whakaatu tamariki hei rārangi", "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.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.Edit": "Whakatika",
"URLSEGMENT.OK": "ĀE", "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.ThisPageOnly": "Bare denne siden",
"Tree.ThisPageAndSubpages": "Denne siden og undersider", "Tree.ThisPageAndSubpages": "Denne siden og undersider",
"Tree.ShowAsList": "Vis undersider som en liste", "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.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.Edit": "Rediger",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Enkel deze pagina",
"Tree.ThisPageAndSubpages": "Deze pagina en subpagina's", "Tree.ThisPageAndSubpages": "Deze pagina en subpagina's",
"Tree.ShowAsList": "Toon onderliggende pagina's als lijst", "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.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.Edit": "Aanpassen",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Tylko tę stronę",
"Tree.ThisPageAndSubpages": "Ta strona i podstrony", "Tree.ThisPageAndSubpages": "Ta strona i podstrony",
"Tree.ShowAsList": "Pokaż dzieci jako listę", "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.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.Edit": "Edytuj",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Doar această pagină",
"Tree.ThisPageAndSubpages": "Această pagină cu subpagini", "Tree.ThisPageAndSubpages": "Această pagină cu subpagini",
"Tree.ShowAsList": "Afişare fii în format listă", "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.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.Edit": "Editare",
"URLSEGMENT.OK": "OK", "URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Renunţare" "URLSEGMENT.Cancel": "Renunţare",
"URLSEGMENT.UpdateURL": "Update URL"
} }

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Только этой страницы", "Tree.ThisPageOnly": "Только этой страницы",
"Tree.ThisPageAndSubpages": "Вместе с вложенными страницами", "Tree.ThisPageAndSubpages": "Вместе с вложенными страницами",
"Tree.ShowAsList": "Показать страницы в виде списка", "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.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.Edit": "Изменить",
"URLSEGMENT.OK": "ОК", "URLSEGMENT.OK": "ОК",
"URLSEGMENT.Cancel": "Отмена" "URLSEGMENT.Cancel": "Отмена",
"URLSEGMENT.UpdateURL": "Update URL"
} }

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Iba túto stránku", "Tree.ThisPageOnly": "Iba túto stránku",
"Tree.ThisPageAndSubpages": "Túto stránku a podstránky", "Tree.ThisPageAndSubpages": "Túto stránku a podstránky",
"Tree.ShowAsList": "Zobraziť potomkov ako zoznam", "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.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.Edit": "Editovať",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "Samo to stran",
"Tree.ThisPageAndSubpages": "To stran in podstrani", "Tree.ThisPageAndSubpages": "To stran in podstrani",
"Tree.ShowAsList": "Prikaži otroke kot seznam", "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.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.Edit": "Uredi",
"URLSEGMENT.OK": "OK", "URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Prekliči" "URLSEGMENT.Cancel": "Prekliči",
"URLSEGMENT.UpdateURL": "Update URL"
} }

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Само ова страница", "Tree.ThisPageOnly": "Само ова страница",
"Tree.ThisPageAndSubpages": "Ова страница и подстранице", "Tree.ThisPageAndSubpages": "Ова страница и подстранице",
"Tree.ShowAsList": "Прикажу децу у виду листе", "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.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.Edit": "Измени",
"URLSEGMENT.OK": "У реду", "URLSEGMENT.OK": "У реду",
"URLSEGMENT.Cancel": "Одустани" "URLSEGMENT.Cancel": "Одустани",
"URLSEGMENT.UpdateURL": "Update URL"
} }

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "Endast denna sida", "Tree.ThisPageOnly": "Endast denna sida",
"Tree.ThisPageAndSubpages": "Denna sida och undersidor", "Tree.ThisPageAndSubpages": "Denna sida och undersidor",
"Tree.ShowAsList": "Visa undersidor som lista", "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.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.Edit": "Redigera",
"URLSEGMENT.OK": "OK", "URLSEGMENT.OK": "OK",
"URLSEGMENT.Cancel": "Avbryt" "URLSEGMENT.Cancel": "Avbryt",
"URLSEGMENT.UpdateURL": "Update URL"
} }

View File

@ -31,9 +31,15 @@
"Tree.ThisPageOnly": "仅该页", "Tree.ThisPageOnly": "仅该页",
"Tree.ThisPageAndSubpages": "本页和子页面", "Tree.ThisPageAndSubpages": "本页和子页面",
"Tree.ShowAsList": "将儿童显示为列表", "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.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.Edit": "编辑",
"URLSEGMENT.OK": "确定", "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.ThisPageOnly": "Endast denna sida",
"Tree.ThisPageAndSubpages": "Denna sida och undersidor", "Tree.ThisPageAndSubpages": "Denna sida och undersidor",
"Tree.ShowAsList": "Visa undersidor som lista", "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.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.Edit": "Redigera",
"URLSEGMENT.OK": "OK", "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.ThisPageOnly": "仅该页",
"Tree.ThisPageAndSubpages": "本页和子页面", "Tree.ThisPageAndSubpages": "本页和子页面",
"Tree.ShowAsList": "将儿童显示为列表", "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.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.Edit": "编辑",
"URLSEGMENT.OK": "确定", "URLSEGMENT.OK": "确定",
"URLSEGMENT.Cancel": "取消" "URLSEGMENT.Cancel": "取消",
"URLSEGMENT.UpdateURL": "Update URL"
}); });
} }

View File

@ -69,6 +69,8 @@ en:
PUBLISH_PAGES: Publish PUBLISH_PAGES: Publish
UNPUBLISHED_PAGES: 'Unpublished %d pages' UNPUBLISHED_PAGES: 'Unpublished %d pages'
UNPUBLISH_PAGES: Unpublish UNPUBLISH_PAGES: Unpublish
ARCHIVE: Archive
ARCHIVED_PAGES: 'Archived %d pages'
CMSMain: CMSMain:
ACCESS: 'Access to ''{title}'' section' 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".' 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.' ListFiltered: 'Filtered list.'
NEWPAGE: 'New {pagetype}' NEWPAGE: 'New {pagetype}'
PAGENOTEXISTS: 'This page doesn''t exist' PAGENOTEXISTS: 'This page doesn''t exist'
PAGES: Pages PAGES: 'Page status'
PAGETYPEANYOPT: Any PAGETYPEANYOPT: Any
PAGETYPEOPT: 'Page Type' PAGETYPEOPT: 'Page type'
PUBALLCONFIRM: 'Please publish every page in the site, copying content stage to live' PUBALLCONFIRM: 'Please publish every page in the site, copying content stage to live'
PUBALLFUN: '"Publish All" functionality' 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." 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 TabContent: Content
TabHistory: History TabHistory: History
TabSettings: Settings TabSettings: Settings
TreeFiltered: 'Filtered tree.' TreeFiltered: 'Search results.'
TreeFilteredClear: 'Clear filter' TreeFilteredClear: Clear
MENUTITLE: 'Edit Page' MENUTITLE: 'Edit Page'
ARCHIVE: Archive
ARCHIVEDPAGE: 'Archived page ''%s'''
CMSMain_left_ss: CMSMain_left_ss:
APPLY_FILTER: 'Apply Filter' APPLY_FILTER: 'Search'
RESET: Reset RESET: Reset
CLEAR_FILTER: 'Clear Filter'
CMSPageAddController: CMSPageAddController:
ParentMode_child: 'Under another page' ParentMode_child: 'Under another page'
ParentMode_top: 'Top level' ParentMode_top: 'Top level'
@ -146,14 +151,14 @@ en:
MENUTITLE: Pages MENUTITLE: Pages
TreeView: 'Tree View' TreeView: 'Tree View'
CMSPagesController_ContentToolbar_ss: CMSPagesController_ContentToolbar_ss:
MULTISELECT: Multi-selection MULTISELECT: Bulk actions
CMSPagesController_Tools_ss: CMSPagesController_Tools_ss:
FILTER: Filter FILTER: Filter
CMSSearch: CMSSearch:
FILTERDATEFROM: From FILTERDATEFROM: From
FILTERDATEHEADING: Date FILTERDATEHEADING: 'Date'
FILTERDATETO: To FILTERDATETO: To
FILTERLABELTEXT: Content FILTERLABELTEXT: 'Search'
CMSSiteTreeFilter_ChangedPages: CMSSiteTreeFilter_ChangedPages:
Title: 'Modified pages' Title: 'Modified pages'
CMSSiteTreeFilter_DeletedPages: CMSSiteTreeFilter_DeletedPages:
@ -325,7 +330,7 @@ en:
DEFAULTABOUTTITLE: 'About Us' 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>' 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' 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 DEFAULTHOMETITLE: Home
DELETEDPAGEHELP: 'Page is no longer published' DELETEDPAGEHELP: 'Page is no longer published'
DELETEDPAGESHORT: Deleted DELETEDPAGESHORT: Deleted
@ -396,6 +401,9 @@ en:
many_many_BackLinkTracking: 'Backlink Tracking' many_many_BackLinkTracking: 'Backlink Tracking'
many_many_ImageTracking: 'Image Tracking' many_many_ImageTracking: 'Image Tracking'
many_many_LinkTracking: 'Link Tracking' many_many_LinkTracking: 'Link Tracking'
ARCHIVEDPAGEHELP: 'Page is removed from draft and live'
ARCHIVEDPAGESHORT: Archived
BUTTONARCHIVEDESC: 'Unpublish and send to archive'
SiteTreeURLSegmentField: SiteTreeURLSegmentField:
EMPTY: 'Please enter a URL Segment or click cancel' EMPTY: 'Please enter a URL Segment or click cancel'
HelpChars: ' Special characters are automatically converted or removed.' HelpChars: ' Special characters are automatically converted or removed.'
@ -423,3 +431,6 @@ en:
MENUTITLE: 'Edit Page' MENUTITLE: 'Edit Page'
CMSSettingsController: CMSSettingsController:
MENUTITLE: Settings 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,9 +1,15 @@
.cms .AssetAdmin { .cms .AssetAdmin {
.cms-content-fields { .cms-content-fields {
overflow:hidden; //removes scrolling from filter panel
.cms-edit-form.AssetAdmin { .cms-edit-form.AssetAdmin {
width: 100%;
overflow-y:auto; //adds scrolling only to the datagrid 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 { .cms-content-tools .cms-panel-content {
overflow:hidden; //removes scollbar from search field in filter overflow:hidden; //removes scollbar from search field in filter
.cms-search-form { .cms-search-form {

View File

@ -53,24 +53,26 @@
} }
} }
// Hide certain elements when shown in "sidebar mode" /**
* 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-tools {
#cms-content-treeview { #cms-content-treeview {
.cms-content-toolbar { .cms-content-toolbar {
border-bottom:none; border-bottom: none;
box-shadow:none; box-shadow: none;
margin-bottom:8px; margin-bottom: 0;
}
.cms-tree-view-modes,
.cms-content-batchactions {
display: none;
} }
.cms-tree-expand-trigger { .cms-tree-expand-trigger {
display: block; display: block;
float: left; float: left;
margin:0 0 2px 0; margin: 0 0 2px 0;
span.ui-button-text{ span.ui-button-text {
padding-right:8px; 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 * URLSegment field
* ----------------------------------------------------------------- */ * ----------------------------------------------------------------- */

View File

@ -3,31 +3,35 @@
<% with $EditForm %> <% with $EditForm %>
<div class="cms-content-header north"> <div class="cms-content-header north">
<div class="cms-content-header-info"> <div class="cms-content-header-info">
<% include BackLink_Button %>
<% with $Controller %> <% with $Controller %>
<% include CMSBreadcrumbs %> <% include CMSBreadcrumbs %>
<% end_with %> <% end_with %>
</div> </div>
<% if $Fields.hasTabset %> <% if $Fields.hasTabset %>
<% with $Fields.fieldByName('Root') %> <% with $Fields.fieldByName('Root') %>
<div class="cms-content-header-tabs"> <div class="cms-content-header-tabs">
<ul class="cms-tabset-nav-primary"> <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 %> <% 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 %> <% end_loop %>
</ul> </ul>
</div> </div>
</div>
<% end_with %> <% end_with %>
<% end_if %> <% end_if %>
</div> </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 $Top.Tools
<div class="cms-content-view">
$forTemplate $forTemplate
</div> </div>
</div>
<% end_with %> <% 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 id="cms-content-filters-AssetAdmin" class="cms-content-filters">
<div class="cms-panel-content center">
<h3 class="cms-panel-header"><% _t('AssetAdmin_Tools.FILTER', 'Filter') %></h3>
$SearchForm $SearchForm
</div>
<div class="cms-panel-content-collapsed">
<h3 class="cms-panel-header"><% _t('AssetAdmin_Tools.FILTER', 'Filter') %></h3>
</div>
</div> </div>

View File

@ -1,8 +1,21 @@
<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 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>
<div class="cms-content-header-tabs"> <div class="cms-content-header-tabs">
@ -26,6 +39,21 @@
</div> </div>
</div> </div>
<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>
$Tools $Tools
$EditForm $EditForm

View File

@ -1,6 +1,4 @@
<div class="cms-content-toolbar"> <% include CMSPagesController_ContentToolActions %>
<% include CMSPagesController_ContentToolActions %>
</div>
<div class="ss-dialog cms-page-add-form-dialog cms-dialog-content" id="cms-page-add-form" title="<% _t('CMSMain.AddNew', 'Add new page') %>"> <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 $AddForm
@ -11,7 +9,7 @@
<div class="cms-tree-filtered cms-notice"> <div class="cms-tree-filtered cms-notice">
<strong><% _t('CMSMain.ListFiltered', 'Filtered list.') %></strong> <strong><% _t('CMSMain.ListFiltered', 'Filtered list.') %></strong>
<a href="$LinkPages" class="cms-panel-link"> <a href="$LinkPages" class="cms-panel-link">
<% _t('CMSMain.TreeFilteredClear', 'Clear filter') %> <% _t('CMSMain.TreeFilteredClear', 'Clear') %>
</a> </a>
</div> </div>
<% end_if %> <% 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-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-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"> <div class="cms-content-view cms-tree-view-sidebar cms-panel-deferred" id="cms-content-treeview" data-url="$LinkTreeView">
<%-- Lazy-loaded via ajax --%> <%-- Lazy-loaded via ajax --%>
</div> </div>

View File

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

View File

@ -6,25 +6,22 @@
</div> </div>
<div class="cms-content-header-tabs"> <div class="cms-content-header-tabs">
<ul class="cms-tabset-nav-primary"> <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"> <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> <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>
<li class="content-listview<% if ViewState == list %> ui-tabs-active ss-tabs-force-active<% end_if %> cms-tabset-icon list"> <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> <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> </li>
<!--
<li class="content-galleryview cms-tabset-icon gallery">
<a href="#cms-content-galleryview"><% _t('CMSPagesController.GalleryView', 'Gallery View') %></a>
</li>
-->
</ul> </ul>
</div> </div>
</div> </div>
</div>
$Tools
<div class="cms-content-fields center ui-widget-content cms-panel-padded"> <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"> <div class="cms-content-view cms-panel-deferred" id="cms-content-treeview" data-url="$LinkTreeView">
<%-- Lazy-loaded via ajax --%> <%-- Lazy-loaded via ajax --%>

View File

@ -1,6 +1,19 @@
<div class="cms-actions-row"> <div class="cms-content-toolbar">
<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> <div class="cms-actions-buttons-row">
<button href="$LinkPagesWithSearch" class="cms-tree-expand-trigger cms-panel-link ss-button" data-icon="pencil"> <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>
<% _t('CMSMain.EditTree', 'Edit Tree') %>
<% 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> </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> </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 id="cms-content-filters-CMSPagesController" class="cms-content-filters">
<div class="cms-panel-content center">
<h3 class="cms-panel-header"><% _t('CMSPagesController_Tools_ss.FILTER', 'Filter') %></h3>
$SearchForm $SearchForm
</div>
<div class="cms-panel-content-collapsed">
<h3 class="cms-panel-header"><% _t('CMSPagesController_Tools_ss.FILTER', 'Filter') %></h3>
</div>
</div> </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 Given I select "awesome" in the "Content" HTML field
And I press the "Insert Link" button And I press the "Insert Link" button
When I select the "Page on the site" radio 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 fill in "my desc" for "Link description"
And I press the "Insert" button And I press the "Insert" button
# TODO Dynamic DB identifiers # 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 Given I select "awesome" in the "Content" HTML field
And I press the "Insert Link" button And I press the "Insert Link" button
And I select the "Page on the site" radio 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 wait for 1 second
And I select "youranchor" from "Form_EditorToolbarLinkForm_AnchorSelector" And I select "youranchor" from "Form_EditorToolbarLinkForm_AnchorSelector"
And I press the "Insert link" button 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 Given I select "awesome" in the "Content" HTML field
When I press the "Insert Link" button When I press the "Insert Link" button
When I select the "Download a file" radio 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 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 # Required to avoid "unsaved changes" browser dialog
Then I press the "Save draft" button 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..." Then I should see "Choose files to upload..."
When I press the "From the web" button 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 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 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 # Required to avoid "unsaved changed" browser dialog
Then I press the "Save draft" button 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 click on "file1" in the "folder1" table
And I fill in "renamedfile" for "Title" And I fill in "renamedfile" for "Title"
And I press the "Save" button And I press the "Save" button
And I press the "Back" button And I follow "folder1"
Then the "folder1" table should not contain "testfile" Then the "folder1" table should not contain "testfile"
And the "folder1" table should contain "renamedfile" And the "folder1" table should contain "renamedfile"
@ -62,24 +62,24 @@ Feature: Manage files
Then I should see "png," Then I should see "png,"
Scenario: I can filter the files list view using name 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 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" Then the "Files" table should contain "file1"
And the "Files" table should not contain "file2" And the "Files" table should not contain "file2"
Scenario: I can filter the files list view using filetype Scenario: I can filter the files list view using filetype
Given a "file" "assets/document.pdf" 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 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" Then the "Files" table should contain "file1"
And the "Files" table should not contain "document" And the "Files" table should not contain "document"
Scenario: I can filter out files that don't match the date range 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 "From" with "2003-01-01"
And I fill in "To" with "2011-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 contain "file2"
And the "Files" table should not contain "file1" 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 a "page" "Contact Us"
And I am logged in with "ADMIN" permissions And I am logged in with "ADMIN" permissions
And I go to "/admin/pages" 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 Scenario: I can search for a page by its title
Given I fill in "Content" with "About Us" Given I fill in "Search" with "About Us"
And I press the "Apply Filter" button And I press the "Search" button
Then I should see "About Us" in the tree Then I should see "About Us" in the tree
But I should not see "Contact Us" in the tree But I should not see "Contact Us" in the tree
Scenario: I can search for a page by its type Scenario: I can search for a page by its type
Given a "Error Page" "My Error Page" Given a "Error Page" "My Error Page"
When I select "Error Page" from "Page Type" When I select "Error Page" from "Page type"
And I press the "Apply Filter" button And I press the "Search" button
Then I should see "My Error Page" in the tree Then I should see "My Error Page" in the tree
But I should not see "Contact Us" 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" Given a "page" "Recent Page"
And a "page" "Old Page" was last edited "7 days ago" And a "page" "Old Page" was last edited "7 days ago"
When I fill in "From" with "the date of 5 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 Then I should see "Recent Page" in the tree
But I should not see "Old 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" Given a "page" "Recent Page"
And a "page" "Old Page" was last edited "7 days ago" And a "page" "Old Page" was last edited "7 days ago"
When I fill in "To" with "the date of 5 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 Then I should not see "Recent Page" in the tree
But I should see "Old 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" Given a "page" "Deleted Page"
And the "page" "Deleted Page" is unpublished And the "page" "Deleted Page" is unpublished
And the "page" "Deleted Page" is deleted 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 Then I should not see "Deleted Page" in the tree
When I select "All pages, including archived" from "Pages" When I expand the content filters
And I press the "Apply Filter" button 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 Then I should see "Deleted Page" in the tree
Scenario: I can include only deleted pages in my search Scenario: I can include only deleted pages in my search
Given a "page" "Deleted Page" Given a "page" "Deleted Page"
And the "page" "Deleted Page" is unpublished And the "page" "Deleted Page" is unpublished
And the "page" "Deleted Page" is deleted 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 Then I should not see "Deleted Page" in the tree
When I select "Archived pages" from "Pages" When I expand the content filters
And I press the "Apply Filter" button And I select "Archived pages" from "Page status"
And I press the "Search" button
Then I should see "Deleted Page" in the tree Then I should see "Deleted Page" in the tree
And I should not see "About Us" in the tree And I should not see "About Us" in the tree
Scenario: I can include draft pages in my search Scenario: I can include draft pages in my search
Given a "page" "Draft Page" Given a "page" "Draft Page"
And the "page" "Draft Page" is not published 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 Then I should see "Draft Page" in the tree
When I select "Draft pages" from "Pages" When I expand the content filters
And I press the "Apply Filter" button And I select "Draft pages" from "Page status"
And I press the "Search" button
Then I should see "Draft Page" in the tree Then I should see "Draft Page" in the tree
And I should not see "About Us" 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 Then I should see "Saved" in the "button#Form_EditForm_action_save" element
When I go to "/admin/pages" When I go to "/admin/pages"
And I expand the "Filter" CMS Panel And I expand the content filters
When I select "Modified pages" from "Pages" When I select "Modified pages" from "Page status"
And I press the "Apply Filter" button And I press the "Search" button
Then I should see "About Us" in the tree Then I should see "About Us" in the tree
And I should not see "Home" 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" Given a "page" "Live Page"
And the "page" "Live Page" is published And the "page" "Live Page" is published
And the "page" "Live Page" is deleted 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 Then I should not see "Live Page" in the tree
When I select "Live but removed from draft" from "Pages" When I expand the content filters
And I press the "Apply Filter" button 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 Then I should see "Live Page" in the tree
And I should not see "About Us" 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 unpublished
And the "page" "Deleted Page" is deleted And the "page" "Deleted Page" is deleted
When I select "Published pages" from "Pages" When I select "Published pages" from "Page status"
And I press the "Apply Filter" button And I press the "Search" button
Then I should not see "Draft Page" in the tree Then I should not see "Draft Page" in the tree
And I should not see "Deleted Page" in the tree And I should not see "Deleted Page" in the tree
But I should see "Live Page" in the tree But I should see "Live Page" in the tree

View File

@ -352,9 +352,9 @@ class CMSMainTest extends FunctionalTest {
$crumbs = $parser->getBySelector('.breadcrumbs-wrapper .crumb'); $crumbs = $parser->getBySelector('.breadcrumbs-wrapper .crumb');
$this->assertNotNull($crumbs); $this->assertNotNull($crumbs);
$this->assertEquals(3, count($crumbs)); $this->assertEquals(2, count($crumbs));
$this->assertEquals('Page 3', (string)$crumbs[1]); $this->assertEquals('Page 3', (string)$crumbs[0]);
$this->assertEquals('Page 3.1', (string)$crumbs[2]); $this->assertEquals('Page 3.1', (string)$crumbs[1]);
$this->session()->inst_set('loggedInAs', null); $this->session()->inst_set('loggedInAs', null);
} }

View File

@ -168,6 +168,14 @@ class ContentControllerTest extends FunctionalTest {
// to say the default Page.ss template // to say the default Page.ss template
$response = $self->get($page->RelativeLink("testwithouttemplate")); $response = $self->get($page->RelativeLink("testwithouttemplate"));
$self->assertEquals("Page", $response->getBody()); $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 { class RedirectorPageTest extends FunctionalTest {
protected static $fixture_file = 'RedirectorPageTest.yml'; protected static $fixture_file = 'RedirectorPageTest.yml';
protected static $use_draft_site = true; protected static $use_draft_site = true;
protected $autoFollowRedirection = false;
public function testGoodRedirectors() { public function testGoodRedirectors() {
/* For good redirectors, the final destination URL will be returned */ /* For good redirectors, the final destination URL will be returned */
@ -64,4 +65,27 @@ class RedirectorPageTest extends FunctionalTest {
$protocolRelative->write(); $protocolRelative->write();
$this->assertEquals('//mydomain.com', $protocolRelative->ExternalURL); $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(); $classCext->write();
$classB->ParentID = $page->ID; $classB->ParentID = $page->ID;
$valid = $classB->validate(); $valid = $classB->doValidate();
$this->assertTrue($valid->valid(), "Does allow children on unrestricted parent"); $this->assertTrue($valid->valid(), "Does allow children on unrestricted parent");
$classB->ParentID = $classA->ID; $classB->ParentID = $classA->ID;
$valid = $classB->validate(); $valid = $classB->doValidate();
$this->assertTrue($valid->valid(), "Does allow child specifically allowed by parent"); $this->assertTrue($valid->valid(), "Does allow child specifically allowed by parent");
$classC->ParentID = $classA->ID; $classC->ParentID = $classA->ID;
$valid = $classC->validate(); $valid = $classC->doValidate();
$this->assertFalse($valid->valid(), "Doesnt allow child on parents specifically restricting children"); $this->assertFalse($valid->valid(), "Doesnt allow child on parents specifically restricting children");
$classB->ParentID = $classC->ID; $classB->ParentID = $classC->ID;
$valid = $classB->validate(); $valid = $classB->doValidate();
$this->assertFalse($valid->valid(), "Doesnt allow child on parents disallowing all children"); $this->assertFalse($valid->valid(), "Doesnt allow child on parents disallowing all children");
$classB->ParentID = $classC->ID; $classB->ParentID = $classC->ID;
$valid = $classB->validate(); $valid = $classB->doValidate();
$this->assertFalse($valid->valid(), "Doesnt allow child on parents disallowing all children"); $this->assertFalse($valid->valid(), "Doesnt allow child on parents disallowing all children");
$classCext->ParentID = $classD->ID; $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"); $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(); $classCVirtual->write();
$classBVirtual->ParentID = $classA->ID; $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"); $this->assertTrue($valid->valid(), "Does allow child linked to virtual page type allowed by parent");
$classCVirtual->ParentID = $classA->ID; $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"); $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."'"); 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() { public function testRecentlyEdited() {
SS_Datetime::set_mock_now('31-06-2009 00:00:00'); SS_Datetime::set_mock_now('31-06-2009 00:00:00');
@ -39,4 +64,265 @@ class CmsReportsTest extends SapphireTest {
SS_DateTime::clear_mock_now(); 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);
}
}
} }