mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
Merge remote-tracking branch 'origin/3.1'
Conflicts: lang/ja_JP.yml lang/lt.yml lang/pl.yml
This commit is contained in:
commit
c09bca6fac
@ -5,7 +5,6 @@ php:
|
||||
|
||||
env:
|
||||
- TESTDB=MYSQL
|
||||
- TESTDB=PGSQL
|
||||
|
||||
matrix:
|
||||
exclude:
|
||||
|
@ -753,7 +753,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
// Don't allow navigating into children nodes on filtered lists
|
||||
$fields = array(
|
||||
'getTreeTitle' => _t('SiteTree.PAGETITLE', 'Page Title'),
|
||||
'Created' => _t('SiteTree.CREATED', 'Date Created'),
|
||||
'singular_name' => _t('SiteTree.PAGETYPE'),
|
||||
'LastEdited' => _t('SiteTree.LASTUPDATED', 'Last Updated'),
|
||||
);
|
||||
$gridField->getConfig()->getComponentByType('GridFieldSortableHeader')->setFieldSorting(array('getTreeTitle' => 'Title'));
|
||||
|
@ -15,6 +15,8 @@ class CMSPageHistoryController extends CMSMain {
|
||||
|
||||
static $allowed_actions = array(
|
||||
'VersionsForm',
|
||||
'CompareVersionsForm',
|
||||
'show',
|
||||
'compare'
|
||||
);
|
||||
|
||||
@ -74,6 +76,16 @@ class CMSPageHistoryController extends CMSMain {
|
||||
|
||||
return $negotiator->respond($request);
|
||||
}
|
||||
|
||||
public function getSilverStripeNavigator() {
|
||||
$record = $this->getRecord($this->currentPageID(), $this->request->param('VersionID'));
|
||||
if($record) {
|
||||
$navigator = new SilverStripeNavigator($record);
|
||||
return $navigator->renderWith($this->getTemplatesWithSuffix('_SilverStripeNavigator'));
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the read only version of the edit form. Detaches all {@link FormAction}
|
||||
@ -112,11 +124,6 @@ class CMSPageHistoryController extends CMSMain {
|
||||
|
||||
$fields = $fields->makeReadonly();
|
||||
|
||||
foreach($fields->dataFields() as $field) {
|
||||
$field->dontEscape = true;
|
||||
$field->reserveNL = true;
|
||||
}
|
||||
|
||||
if($compareID) {
|
||||
$link = Controller::join_links(
|
||||
$this->Link('show'),
|
||||
|
@ -301,7 +301,12 @@ class ContentController extends Controller {
|
||||
$surname = Convert::raw2xml($member->Surname);
|
||||
$logInMessage = _t('ContentController.LOGGEDINAS', 'Logged in as') ." {$firstname} {$surname} - <a href=\"Security/logout\">". _t('ContentController.LOGOUT', 'Log out'). "</a>";
|
||||
} else {
|
||||
$logInMessage = _t('ContentController.NOTLOGGEDIN', 'Not logged in') ." - <a href=\"Security/login\">". _t('ContentController.LOGIN', 'Login') ."</a>";
|
||||
$logInMessage = sprintf(
|
||||
'%s - <a href="%s">%s</a>' ,
|
||||
_t('ContentController.NOTLOGGEDIN', 'Not logged in') ,
|
||||
Config::inst()->get('Security', 'login_url'),
|
||||
_t('ContentController.LOGIN', 'Login') ."</a>"
|
||||
);
|
||||
}
|
||||
$viewPageIn = _t('ContentController.VIEWPAGEIN', 'View Page in:');
|
||||
|
||||
|
@ -182,6 +182,36 @@ class SilverStripeNavigatorItem extends ViewableData {
|
||||
public function canView($member = null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts as "archived" if the current record is a different version from both live and draft.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function isArchived() {
|
||||
if(!$this->record->hasExtension('Versioned')) return false;
|
||||
|
||||
if(!isset($this->record->_cached_isArchived)) {
|
||||
$baseTable = ClassInfo::baseDataClass($this->record->class);
|
||||
$currentDraft = Versioned::get_one_by_stage(
|
||||
$baseTable,
|
||||
'Stage',
|
||||
sprintf('"%s"."ID" = %d', $baseTable, $this->record->ID)
|
||||
);
|
||||
$currentLive = Versioned::get_one_by_stage(
|
||||
$baseTable,
|
||||
'Live',
|
||||
sprintf('"%s"."ID" = %d', $baseTable, $this->record->ID)
|
||||
);
|
||||
|
||||
$this->record->_cached_isArchived = (
|
||||
(!$currentDraft || ($currentDraft && $this->record->Version != $currentDraft->Version))
|
||||
&& (!$currentLive || ($currentLive && $this->record->Version != $currentLive->Version))
|
||||
);
|
||||
}
|
||||
|
||||
return $this->record->_cached_isArchived;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -198,7 +228,7 @@ class SilverStripeNavigatorItem_CMSLink extends SilverStripeNavigatorItem {
|
||||
_t('ContentController.CMS', 'CMS')
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
public function getTitle() {
|
||||
return _t('ContentController.CMS', 'CMS', 'Used in navigation. Should be a short label');
|
||||
}
|
||||
@ -208,13 +238,13 @@ class SilverStripeNavigatorItem_CMSLink extends SilverStripeNavigatorItem {
|
||||
}
|
||||
|
||||
public function isActive() {
|
||||
return (Controller::curr() instanceof CMSMain);
|
||||
return (Controller::curr() instanceof LeftAndMain);
|
||||
}
|
||||
|
||||
public function canView($member = null) {
|
||||
return (
|
||||
// Don't show in CMS
|
||||
!(Controller::curr() instanceof CMSMain)
|
||||
// Don't show in CMS
|
||||
!(Controller::curr() instanceof LeftAndMain)
|
||||
// Don't follow redirects in preview, they break the CMS editing form
|
||||
&& !($this->record instanceof RedirectorPage)
|
||||
);
|
||||
@ -246,7 +276,12 @@ class SilverStripeNavigatorItem_StageLink extends SilverStripeNavigatorItem {
|
||||
}
|
||||
|
||||
public function getLink() {
|
||||
return Controller::join_links($this->record->PreviewLink(), '?stage=Stage');
|
||||
$date = Versioned::current_archived_date();
|
||||
return Controller::join_links(
|
||||
$this->record->PreviewLink(),
|
||||
'?stage=Stage',
|
||||
$date ? '?archiveDate=' . $date : null
|
||||
);
|
||||
}
|
||||
|
||||
public function canView($member = null) {
|
||||
@ -262,6 +297,7 @@ class SilverStripeNavigatorItem_StageLink extends SilverStripeNavigatorItem {
|
||||
return (
|
||||
Versioned::current_stage() == 'Stage'
|
||||
&& !(ClassInfo::exists('SiteTreeFutureState') && SiteTreeFutureState::get_future_datetime())
|
||||
&& !$this->isArchived()
|
||||
);
|
||||
}
|
||||
|
||||
@ -312,7 +348,10 @@ class SilverStripeNavigatorItem_LiveLink extends SilverStripeNavigatorItem {
|
||||
}
|
||||
|
||||
public function isActive() {
|
||||
return (!Versioned::current_stage() || Versioned::current_stage() == 'Live');
|
||||
return (
|
||||
(!Versioned::current_stage() || Versioned::current_stage() == 'Live')
|
||||
&& !$this->isArchived()
|
||||
);
|
||||
}
|
||||
|
||||
protected function getLivePage() {
|
||||
@ -336,9 +375,9 @@ class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem {
|
||||
$this->recordLink = $this->record->PreviewLink();
|
||||
return "<a class=\"ss-ui-button\" href=\"$this->recordLink?archiveDate={$this->record->LastEdited}\" target=\"_blank\">". _t('ContentController.ARCHIVEDSITE', 'Preview version') ."</a>";
|
||||
}
|
||||
|
||||
|
||||
public function getTitle() {
|
||||
return _t('ContentController.VERSION', 'Version').': '.$this->record->LastEdited;
|
||||
return _t('SilverStripeNavigator.ARCHIVED', 'Archived');
|
||||
}
|
||||
|
||||
public function getMessage() {
|
||||
@ -350,7 +389,7 @@ class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem {
|
||||
}
|
||||
|
||||
public function getLink() {
|
||||
return $this->record->PreviewLink() . '?archiveDate=' . $this->record->LastEdited;
|
||||
return $this->record->PreviewLink() . '?archiveDate=' . urlencode($this->record->LastEdited);
|
||||
}
|
||||
|
||||
public function canView($member = null) {
|
||||
@ -363,32 +402,7 @@ class SilverStripeNavigatorItem_ArchiveLink extends SilverStripeNavigatorItem {
|
||||
}
|
||||
|
||||
public function isActive() {
|
||||
return (Versioned::current_archived_date());
|
||||
return $this->isArchived();
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts as "archived" if the current record is a different version from both live and draft.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function isArchived() {
|
||||
if(!$this->record->hasExtension('Versioned')) return false;
|
||||
|
||||
$baseTable = ClassInfo::baseDataClass($this->record->class);
|
||||
$currentDraft = Versioned::get_one_by_stage(
|
||||
$baseTable,
|
||||
'Stage',
|
||||
sprintf('"%s"."ID" = %d', $baseTable, $this->record->ID)
|
||||
);
|
||||
$currentLive = Versioned::get_one_by_stage(
|
||||
$baseTable,
|
||||
'Live',
|
||||
sprintf('"%s"."ID" = %d', $baseTable, $this->record->ID)
|
||||
);
|
||||
return (
|
||||
(!$currentDraft || ($currentDraft && $this->record->Version != $currentDraft->Version))
|
||||
&& (!$currentLive || ($currentLive && $this->record->Version != $currentLive->Version))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@ class SiteTreeURLSegmentField extends TextField {
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $helpText, $urlPrefix;
|
||||
protected $helpText, $urlPrefix, $urlSuffix;
|
||||
|
||||
static $allowed_actions = array(
|
||||
'suggest'
|
||||
@ -25,6 +25,16 @@ class SiteTreeURLSegmentField extends TextField {
|
||||
return rawurldecode($this->value);
|
||||
}
|
||||
|
||||
public function getAttributes() {
|
||||
return array_merge(
|
||||
parent::getAttributes(),
|
||||
array(
|
||||
'data-prefix' => $this->getURLPrefix(),
|
||||
'data-suffix' => '?stage=Stage'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function Field($properties = array()) {
|
||||
Requirements::javascript(CMS_DIR . '/javascript/SiteTreeURLSegmentField.js');
|
||||
Requirements::add_i18n_javascript(CMS_DIR . '/javascript/lang', false, true);
|
||||
@ -85,9 +95,20 @@ class SiteTreeURLSegmentField extends TextField {
|
||||
return $this->urlPrefix;
|
||||
}
|
||||
|
||||
public function getURLSuffix() {
|
||||
return $this->urlSuffix;
|
||||
}
|
||||
|
||||
public function setURLSuffix($suffix) {
|
||||
$this->urlSuffix = $suffix;
|
||||
}
|
||||
|
||||
public function Type() {
|
||||
return 'text urlsegment';
|
||||
}
|
||||
|
||||
public function getURL() {
|
||||
return Controller::join_links($this->getURLPrefix(), $this->Value(), $this->getURLSuffix());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ class ErrorPage extends Page {
|
||||
"ShowInMenus" => 0,
|
||||
"ShowInSearch" => 0
|
||||
);
|
||||
|
||||
|
||||
static $allowed_children = array();
|
||||
|
||||
static $description = 'Custom content for different error cases (e.g. "Page not found")';
|
||||
@ -39,6 +39,8 @@ class ErrorPage extends Page {
|
||||
static public function response_for($statusCode) {
|
||||
// first attempt to dynamically generate the error page
|
||||
if($errorPage = DataObject::get_one('ErrorPage', "\"ErrorCode\" = $statusCode")) {
|
||||
Requirements::clear();
|
||||
Requirements::clear_combined_files();
|
||||
return ModelAsController::controller_for($errorPage)->handleRequest(new SS_HTTPRequest('GET', ''), DataModel::inst());
|
||||
}
|
||||
|
||||
@ -57,7 +59,7 @@ class ErrorPage extends Page {
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ensures that there is always a 404 page
|
||||
* by checking if there's an instance of
|
||||
@ -72,65 +74,84 @@ class ErrorPage extends Page {
|
||||
if(!file_exists(ASSETS_PATH)) {
|
||||
mkdir(ASSETS_PATH);
|
||||
}
|
||||
|
||||
$pageNotFoundErrorPage = DataObject::get_one('ErrorPage', "\"ErrorCode\" = '404'");
|
||||
$pageNotFoundErrorPageExists = ($pageNotFoundErrorPage && $pageNotFoundErrorPage->exists()) ? true : false;
|
||||
$pageNotFoundErrorPagePath = self::get_filepath_for_errorcode(404);
|
||||
if(!($pageNotFoundErrorPageExists && file_exists($pageNotFoundErrorPagePath))) {
|
||||
if(!$pageNotFoundErrorPageExists) {
|
||||
$pageNotFoundErrorPage = new ErrorPage();
|
||||
$pageNotFoundErrorPage->ErrorCode = 404;
|
||||
$pageNotFoundErrorPage->Title = _t('ErrorPage.DEFAULTERRORPAGETITLE', 'Page not found');
|
||||
$pageNotFoundErrorPage->Content = _t('ErrorPage.DEFAULTERRORPAGECONTENT', '<p>Sorry, it seems you were trying to access a page that doesn\'t exist.</p><p>Please check the spelling of the URL you were trying to access and try again.</p>');
|
||||
$pageNotFoundErrorPage->write();
|
||||
$pageNotFoundErrorPage->publish('Stage', 'Live');
|
||||
}
|
||||
|
||||
// Ensure a static error page is created from latest error page content
|
||||
$response = Director::test(Director::makeRelative($pageNotFoundErrorPage->Link()));
|
||||
$written = null;
|
||||
if($fh = fopen($pageNotFoundErrorPagePath, 'w')) {
|
||||
$written = fwrite($fh, $response->getBody());
|
||||
fclose($fh);
|
||||
}
|
||||
|
||||
if($written) {
|
||||
DB::alteration_message('404 error page created', 'created');
|
||||
} else {
|
||||
DB::alteration_message(sprintf('404 error page could not be created at %s. Please check permissions', $pageNotFoundErrorPagePath), 'error');
|
||||
}
|
||||
}
|
||||
|
||||
$serverErrorPage = DataObject::get_one('ErrorPage', "\"ErrorCode\" = '500'");
|
||||
$serverErrorPageExists = ($serverErrorPage && $serverErrorPage->exists()) ? true : false;
|
||||
$serverErrorPagePath = self::get_filepath_for_errorcode(500);
|
||||
if(!($serverErrorPageExists && file_exists($serverErrorPagePath))) {
|
||||
if(!$serverErrorPageExists) {
|
||||
$serverErrorPage = new ErrorPage();
|
||||
$serverErrorPage->ErrorCode = 500;
|
||||
$serverErrorPage->Title = _t('ErrorPage.DEFAULTSERVERERRORPAGETITLE', 'Server error');
|
||||
$serverErrorPage->Content = _t('ErrorPage.DEFAULTSERVERERRORPAGECONTENT', '<p>Sorry, there was a problem with handling your request.</p>');
|
||||
$serverErrorPage->write();
|
||||
$serverErrorPage->publish('Stage', 'Live');
|
||||
}
|
||||
|
||||
// Ensure a static error page is created from latest error page content
|
||||
$response = Director::test(Director::makeRelative($serverErrorPage->Link()));
|
||||
$written = null;
|
||||
if($fh = fopen($serverErrorPagePath, 'w')) {
|
||||
$written = fwrite($fh, $response->getBody());
|
||||
fclose($fh);
|
||||
}
|
||||
|
||||
if($written) {
|
||||
DB::alteration_message('500 error page created', 'created');
|
||||
} else {
|
||||
DB::alteration_message(sprintf('500 error page could not be created at %s. Please check permissions', $serverErrorPagePath), 'error');
|
||||
$defaultPages = $this->getDefaultRecords();
|
||||
|
||||
foreach($defaultPages as $defaultData) {
|
||||
$code = $defaultData['ErrorCode'];
|
||||
$page = DataObject::get_one(
|
||||
'ErrorPage',
|
||||
sprintf("\"ErrorCode\" = '%s'", $code)
|
||||
);
|
||||
$pageExists = ($page && $page->exists());
|
||||
$pagePath = self::get_filepath_for_errorcode($code);
|
||||
if(!($pageExists && file_exists($pagePath))) {
|
||||
if(!$pageExists) {
|
||||
$page = new ErrorPage($defaultData);
|
||||
$page->write();
|
||||
$page->publish('Stage', 'Live');
|
||||
}
|
||||
|
||||
// Ensure a static error page is created from latest error page content
|
||||
$response = Director::test(Director::makeRelative($page->Link()));
|
||||
$written = null;
|
||||
if($fh = fopen($pagePath, 'w')) {
|
||||
$written = fwrite($fh, $response->getBody());
|
||||
fclose($fh);
|
||||
}
|
||||
|
||||
if($written) {
|
||||
DB::alteration_message(
|
||||
sprintf('%s error page created', $code),
|
||||
'created'
|
||||
);
|
||||
} else {
|
||||
DB::alteration_message(
|
||||
sprintf(
|
||||
'%s error page could not be created at %s. Please check permissions',
|
||||
$code,
|
||||
$pagePath
|
||||
),
|
||||
'error'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array of arrays, each of which defines
|
||||
* properties for a new ErrorPage record.
|
||||
*
|
||||
* @return Array
|
||||
*/
|
||||
protected function getDefaultRecords() {
|
||||
$data = array(
|
||||
array(
|
||||
'ErrorCode' => 404,
|
||||
'Title' => _t('ErrorPage.DEFAULTERRORPAGETITLE', 'Page not found'),
|
||||
'Content' => _t(
|
||||
'ErrorPage.DEFAULTERRORPAGECONTENT',
|
||||
'<p>Sorry, it seems you were trying to access a page that doesn\'t exist.</p>'
|
||||
. '<p>Please check the spelling of the URL you were trying to access and try again.</p>'
|
||||
)
|
||||
),
|
||||
array(
|
||||
'ErrorCode' => 500,
|
||||
'Title' => _t('ErrorPage.DEFAULTSERVERERRORPAGETITLE', 'Server error'),
|
||||
'Content' => _t(
|
||||
'ErrorPage.DEFAULTSERVERERRORPAGECONTENT',
|
||||
'<p>Sorry, there was a problem with handling your request.</p>'
|
||||
)
|
||||
)
|
||||
);
|
||||
$this->extend('getDefaultRecords', $data);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function getCMSFields() {
|
||||
$fields = parent::getCMSFields();
|
||||
|
||||
|
@ -577,14 +577,14 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
|
||||
$page = parent::duplicate(false);
|
||||
$page->Sort = 0;
|
||||
$this->extend('onBeforeDuplicate', $page);
|
||||
$this->invokeWithExtensions('onBeforeDuplicate', $page);
|
||||
|
||||
if($doWrite) {
|
||||
$page->write();
|
||||
|
||||
$page = $this->duplicateManyManyRelations($this, $page);
|
||||
}
|
||||
$this->extend('onAfterDuplicate', $page);
|
||||
$this->invokeWithExtensions('onAfterDuplicate', $page);
|
||||
|
||||
return $page;
|
||||
}
|
||||
@ -1653,7 +1653,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
if($table == 'SiteTree_Live') {
|
||||
$publishedClass = $origPublished['ClassName'];
|
||||
$origPublishedObj = new $publishedClass($origPublished);
|
||||
$this->extend('onRenameLinkedAsset', $origPublishedObj);
|
||||
$this->invokeWithExtensions('onRenameLinkedAsset', $origPublishedObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1829,11 +1829,8 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
(self::nested_urls() && $this->ParentID ? $this->Parent()->RelativeLink(true) : null)
|
||||
);
|
||||
|
||||
|
||||
|
||||
$url = (strlen($baseLink) > 36) ? "..." .substr($baseLink, -32) : $baseLink;
|
||||
$urlsegment = new SiteTreeURLSegmentField("URLSegment", $this->fieldLabel('URLSegment'));
|
||||
$urlsegment->setURLPrefix($url);
|
||||
$urlsegment->setURLPrefix($baseLink);
|
||||
$helpText = (self::nested_urls() && count($this->Children())) ? $this->fieldLabel('LinkChangeNote') : '';
|
||||
if(!URLSegmentFilter::$default_allow_multibyte) {
|
||||
$helpText .= $helpText ? '<br />' : '';
|
||||
@ -2265,7 +2262,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
if(!$this->canDeleteFromLive()) return false;
|
||||
if(!$this->ID) return false;
|
||||
|
||||
$this->extend('onBeforeUnpublish');
|
||||
$this->invokeWithExtensions('onBeforeUnpublish', $this);
|
||||
|
||||
$origStage = Versioned::current_stage();
|
||||
Versioned::reading_stage('Live');
|
||||
@ -2295,7 +2292,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
$this->write();
|
||||
}
|
||||
|
||||
$this->extend('onAfterUnpublish');
|
||||
$this->invokeWithExtensions('onAfterUnpublish', $this);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -2304,6 +2301,8 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
* Revert the draft changes: replace the draft content with the content on live
|
||||
*/
|
||||
public function doRevertToLive() {
|
||||
$this->invokeWithExtensions('onBeforeRevertToLive', $this);
|
||||
|
||||
$this->publish("Live", "Stage", false);
|
||||
|
||||
// Use a clone to get the updates made by $this->publish
|
||||
@ -2316,7 +2315,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
$page->write();
|
||||
}
|
||||
|
||||
$this->extend('onAfterRevertToLive');
|
||||
$this->invokeWithExtensions('onAfterRevertToLive', $this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,14 +19,14 @@ class SiteTreeFolderExtension extends DataExtension {
|
||||
}
|
||||
|
||||
foreach($classes as $className) {
|
||||
$query = singleton($className)->extendedSQL();
|
||||
$query = new DataQuery($className);
|
||||
$ids = $query->execute()->column();
|
||||
if(!count($ids)) continue;
|
||||
|
||||
foreach(singleton($className)->has_one() as $relName => $joinClass) {
|
||||
if($joinClass == 'Image' || $joinClass == 'File') {
|
||||
$fieldName = $relName .'ID';
|
||||
$query = singleton($className)->extendedSQL("$fieldName > 0");
|
||||
$query = DataList::create($className)->where("$fieldName > 0");
|
||||
$query->distinct = true;
|
||||
$query->select(array($fieldName));
|
||||
$usedFiles = array_merge($usedFiles, $query->execute()->column());
|
||||
|
@ -142,7 +142,19 @@ class FilesystemPublisher extends StaticPublisher {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Uses {@link Director::test()} to perform in-memory HTTP requests
|
||||
* on the passed-in URLs.
|
||||
*
|
||||
* @param array $urls Relative URLs
|
||||
* @return array Result, keyed by URL. Keys:
|
||||
* - "statuscode": The HTTP status code
|
||||
* - "redirect": A redirect location (if applicable)
|
||||
* - "path": The filesystem path where the cache has been written
|
||||
*/
|
||||
public function publishPages($urls) {
|
||||
$result = array();
|
||||
|
||||
// Do we need to map these?
|
||||
// Detect a numerically indexed arrays
|
||||
if (is_numeric(join('', array_keys($urls)))) $urls = $this->urlsToPaths($urls);
|
||||
@ -167,8 +179,9 @@ class FilesystemPublisher extends StaticPublisher {
|
||||
$files = array();
|
||||
$i = 0;
|
||||
$totalURLs = sizeof($urls);
|
||||
|
||||
foreach($urls as $url => $path) {
|
||||
$origUrl = $url;
|
||||
$result[$origUrl] = array('statuscode' => null, 'redirect' => null, 'path' => null);
|
||||
|
||||
if(self::$static_base_url) Director::setBaseURL(self::$static_base_url);
|
||||
$i++;
|
||||
@ -189,6 +202,10 @@ class FilesystemPublisher extends StaticPublisher {
|
||||
if(Director::is_relative_url($url)) $url = Director::absoluteURL($url);
|
||||
$response = Director::test(str_replace('+', ' ', $url));
|
||||
|
||||
if($response) {
|
||||
$result[$origUrl]['statuscode'] = $response->getStatusCode();
|
||||
}
|
||||
|
||||
Requirements::clear();
|
||||
|
||||
singleton('DataObject')->flushCache();
|
||||
@ -214,6 +231,7 @@ class FilesystemPublisher extends StaticPublisher {
|
||||
if(is_object($response)) {
|
||||
if($response->getStatusCode() == '301' || $response->getStatusCode() == '302') {
|
||||
$absoluteURL = Director::absoluteURL($response->getHeader('Location'));
|
||||
$result[$origUrl]['redirect'] = $response->getHeader('Location');
|
||||
$content = "<meta http-equiv=\"refresh\" content=\"2; URL=$absoluteURL\">";
|
||||
} else {
|
||||
$content = $response->getBody();
|
||||
@ -231,7 +249,7 @@ class FilesystemPublisher extends StaticPublisher {
|
||||
);
|
||||
}
|
||||
|
||||
$files[] = array(
|
||||
$files[$origUrl] = array(
|
||||
'Content' => $content,
|
||||
'Folder' => dirname($path).'/',
|
||||
'Filename' => basename($path),
|
||||
@ -268,17 +286,22 @@ class FilesystemPublisher extends StaticPublisher {
|
||||
if($this->fileExtension == 'php') SSViewer::setOption('rewriteHashlinks', true);
|
||||
|
||||
$base = BASE_PATH . "/$this->destFolder";
|
||||
foreach($files as $file) {
|
||||
foreach($files as $origUrl => $file) {
|
||||
Filesystem::makeFolder("$base/$file[Folder]");
|
||||
|
||||
$path = "$base/$file[Folder]$file[Filename]";
|
||||
$result[$origUrl]['path'] = $path;
|
||||
|
||||
if(isset($file['Content'])) {
|
||||
$fh = fopen("$base/$file[Folder]$file[Filename]", "w");
|
||||
$fh = fopen($path, "w");
|
||||
fwrite($fh, $file['Content']);
|
||||
fclose($fh);
|
||||
} else if(isset($file['Copy'])) {
|
||||
copy($file['Copy'], "$base/$file[Folder]$file[Filename]");
|
||||
copy($file['Copy'], $path);
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -22,10 +22,11 @@
|
||||
|
||||
/** ------------------------------------------------------------------ URLSegment field ----------------------------------------------------------------- */
|
||||
.field.urlsegment.loading { background: url(../images/loading.gif) no-repeat 162px 8px; }
|
||||
.field.urlsegment .prefix, .field.urlsegment .preview { padding-top: 8px; display: inline-block; }
|
||||
.field.urlsegment .prefix { color: #777; }
|
||||
.field.urlsegment .cancel, .field.urlsegment .update, .field.urlsegment .edit { margin-left: 7px; }
|
||||
.field.urlsegment .preview { padding-top: 8px; display: inline-block; }
|
||||
.field.urlsegment input.text { width: 250px; }
|
||||
.field.urlsegment input.text, .field.urlsegment .cancel, .field.urlsegment .update, .field.urlsegment .edit { margin-right: 8px; }
|
||||
.field.urlsegment .help { margin-left: 0; }
|
||||
.field.urlsegment .edit-holder { display: none; }
|
||||
|
||||
#Form_EditForm #Title .update { margin-left: 7px; }
|
||||
|
||||
|
@ -27,20 +27,19 @@
|
||||
|
||||
self.data('OrigVal', self.val());
|
||||
|
||||
var form = self.parents('form');
|
||||
var url_segment = $('.field.urlsegment', form).find(':text');
|
||||
var live_link = $('input[name=LiveLink]', form);
|
||||
|
||||
self._addActions();
|
||||
var form = self.closest('form');
|
||||
var urlSegmentInput = $('input:text[name=URLSegment]', form);
|
||||
var liveLinkInput = $('input[name=LiveLink]', form);
|
||||
|
||||
if(url_segment.length > 0) {
|
||||
if (urlSegmentInput.length > 0) {
|
||||
self._addActions();
|
||||
this.bind('change', function(e) {
|
||||
var origTitle = self.data('OrigVal');
|
||||
var title = self.val();
|
||||
self.data('OrigVal', title);
|
||||
|
||||
// Criteria for defining a "new" page
|
||||
if ((url_segment.val().indexOf('new') == 0) && live_link.val() == '') {
|
||||
if ((urlSegmentInput.val().indexOf('new') == 0) && liveLinkInput.val() == '') {
|
||||
self.updateURLSegment(title);
|
||||
} else {
|
||||
$('.update', self.parent()).show();
|
||||
@ -83,9 +82,10 @@
|
||||
* (String) title
|
||||
*/
|
||||
updateURLSegment: function(title) {
|
||||
var url_segment_field = $('.field.urlsegment', this.parents('form'));
|
||||
var urlSegmentInput = $('input:text[name=URLSegment]', this.closest('form'));
|
||||
var urlSegmentField = urlSegmentInput.closest('.field.urlsegment');
|
||||
var updateURLFromTitle = $('.update', this.parent());
|
||||
url_segment_field.update(title);
|
||||
urlSegmentField.update(title);
|
||||
if (updateURLFromTitle.is(':visible')) {
|
||||
updateURLFromTitle.hide();
|
||||
}
|
||||
|
@ -2,215 +2,125 @@
|
||||
$.entwine('ss', function($) {
|
||||
/**
|
||||
* Class: .field.urlsegment
|
||||
*
|
||||
* Input validation on the URLSegment field
|
||||
*
|
||||
* Provides enhanced functionality (read-only/edit switch) and
|
||||
* input validation on the URLSegment field
|
||||
*/
|
||||
$('.field.urlsegment:not(.readonly)').entwine({
|
||||
|
||||
/**
|
||||
* Constructor: onmatch
|
||||
*/
|
||||
// Roughly matches the field width including edit button
|
||||
MaxPreviewLength: 55,
|
||||
|
||||
Ellipsis: '...',
|
||||
|
||||
onmatch : function() {
|
||||
// Only initialize the field if it contains an editable field.
|
||||
// This ensures we don't get bogus previews on readonly fields.
|
||||
if(this.find(':text').length) {
|
||||
this._addActions(); // add elements and actions for editing
|
||||
this.edit(); // toggle
|
||||
this._autoInputWidth(); // set width of input field
|
||||
}
|
||||
if(this.find(':text').length) this.toggleEdit(false);
|
||||
this.redraw();
|
||||
|
||||
this._super();
|
||||
},
|
||||
onunmatch: function() {
|
||||
this._super();
|
||||
|
||||
redraw: function() {
|
||||
var field = this.find(':text'),
|
||||
url = field.data('prefix') + field.val(),
|
||||
previewUrl = url;
|
||||
|
||||
// Truncate URL if required (ignoring the suffix, retaining the full value)
|
||||
if(url.length > this.getMaxPreviewLength()) {
|
||||
previewUrl = this.getEllipsis() + url.substr(url.length - this.getMaxPreviewLength(), url.length);
|
||||
}
|
||||
|
||||
// Transfer current value to holder
|
||||
this.find('.preview').attr('href', url + field.data('suffix')).text(previewUrl);
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Function: edit
|
||||
*
|
||||
* Toggles the edit state of the field
|
||||
*
|
||||
* Return URLSegemnt val()
|
||||
*
|
||||
* Parameters:
|
||||
* (Bool) auto (optional, triggers a second toggle)
|
||||
* @param Boolean
|
||||
*/
|
||||
edit: function(auto) {
|
||||
|
||||
var field = this.find(':text'),
|
||||
holder = this.find('.preview'),
|
||||
edit = this.find('.edit'),
|
||||
update = this.find('.update'),
|
||||
cancel = this.find('.cancel'),
|
||||
help = this.find('.help');
|
||||
|
||||
// transfer current value to holder
|
||||
holder.text(field.val());
|
||||
|
||||
// toggle elements
|
||||
if (field.is(':visible')) {
|
||||
update.hide();
|
||||
cancel.hide();
|
||||
field.hide();
|
||||
holder.show();
|
||||
edit.show();
|
||||
help.hide();
|
||||
} else {
|
||||
edit.hide();
|
||||
holder.hide();
|
||||
field.show();
|
||||
update.show();
|
||||
cancel.show();
|
||||
help.show();
|
||||
toggleEdit: function(toggle) {
|
||||
var field = this.find(':text');
|
||||
|
||||
this.find('.preview-holder')[toggle ? 'hide' : 'show']();
|
||||
this.find('.edit-holder')[toggle ? 'show' : 'hide']();
|
||||
|
||||
if(toggle) {
|
||||
field.data("origval", field.val()); //retain current value for cancel
|
||||
field.focus();
|
||||
}
|
||||
|
||||
// field updated from another fields value
|
||||
// reset to original state
|
||||
if (auto) this.edit();
|
||||
|
||||
return field.val();
|
||||
},
|
||||
|
||||
/**
|
||||
* Function: update
|
||||
*
|
||||
* Commits the change of the URLSegment to the field
|
||||
* Optional: pass in (String)
|
||||
* to update the URLSegment
|
||||
* Optional: pass in (String) to update the URLSegment
|
||||
*/
|
||||
update: function() {
|
||||
|
||||
var self = this,
|
||||
field = this.find(':text'),
|
||||
holder = this.find('.preview'),
|
||||
currentVal = holder.text(),
|
||||
updateVal,
|
||||
title = arguments[0];
|
||||
|
||||
if (title && title !== "") {
|
||||
updateVal = title;
|
||||
} else {
|
||||
updateVal = field.val();
|
||||
}
|
||||
currentVal = field.data('origval'),
|
||||
title = arguments[0],
|
||||
updateVal = (title && title !== "") ? title : field.val();
|
||||
|
||||
if (currentVal != updateVal) {
|
||||
self.addClass('loading');
|
||||
self.suggest(updateVal, function(data) {
|
||||
var newVal = decodeURIComponent(data.value);
|
||||
field.val(newVal);
|
||||
self.edit(title);
|
||||
this.addClass('loading');
|
||||
this.suggest(updateVal, function(data) {
|
||||
field.val(decodeURIComponent(data.value));
|
||||
self.toggleEdit(false);
|
||||
self.removeClass('loading');
|
||||
self.redraw();
|
||||
});
|
||||
} else {
|
||||
self.edit();
|
||||
this.toggleEdit(false);
|
||||
this.redraw();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Function: cancel
|
||||
*
|
||||
* Cancels any changes to the field
|
||||
*
|
||||
* Return URLSegemnt val()
|
||||
*
|
||||
*/
|
||||
cancel: function() {
|
||||
var field = this.find(':text'),
|
||||
holder = this.find('.preview');
|
||||
field.val(holder.text());
|
||||
this.edit();
|
||||
|
||||
return field.val();
|
||||
var field = this.find(':text');
|
||||
field.val(field.data("origval"));
|
||||
this.toggleEdit(false);
|
||||
},
|
||||
|
||||
/**
|
||||
* Function: suggest
|
||||
*
|
||||
* Return a value matching the criteria.
|
||||
*
|
||||
* Parameters:
|
||||
* (String) val
|
||||
* (Function) callback
|
||||
* @param (String)
|
||||
* @param (Function)
|
||||
*/
|
||||
suggest: function(val, callback) {
|
||||
var field = this.find(':text'), urlParts = $.path.parseUrl(this.closest('form').attr('action')),
|
||||
var field = this.find(':text'),
|
||||
urlParts = $.path.parseUrl(this.closest('form').attr('action')),
|
||||
url = urlParts.hrefNoSearch + '/field/' + field.attr('name') + '/suggest/?value=' + encodeURIComponent(val);
|
||||
if(urlParts.search) url += '&' + urlParts.search.replace(/^\?/, '');
|
||||
|
||||
$.get(
|
||||
url,
|
||||
function(data) {callback.apply(this, arguments);}
|
||||
);
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Function: _addActions
|
||||
*
|
||||
* Utility to add edit buttons and actions
|
||||
*
|
||||
*/
|
||||
_addActions: function() {
|
||||
var self = this,
|
||||
field = this.find(':text'),
|
||||
preview,
|
||||
editAction,
|
||||
updateAction,
|
||||
cancelAction;
|
||||
|
||||
// element to display non-editable text
|
||||
preview = $('<span />', {
|
||||
'class': 'preview'
|
||||
});
|
||||
|
||||
// edit button
|
||||
editAction = $('<button />', {
|
||||
'class': 'ss-ui-button ss-ui-button-small edit',
|
||||
'text': ss.i18n._t('URLSEGMENT.Edit', 'Edit'),
|
||||
'click': function(e) {
|
||||
e.preventDefault();
|
||||
self.edit();
|
||||
self.find(':text').focus();
|
||||
}
|
||||
});
|
||||
|
||||
// update button
|
||||
updateAction = $('<button />', {
|
||||
'class': 'update ss-ui-button-small',
|
||||
'text': ss.i18n._t('URLSEGMENT.OK', 'OK'),
|
||||
'click': function(e) {
|
||||
e.preventDefault();
|
||||
self.update();
|
||||
}
|
||||
});
|
||||
|
||||
// cancel button
|
||||
cancelAction = $('<button />', {
|
||||
'class': 'cancel ss-ui-action-minor ss-ui-button-small',
|
||||
'href': '#',
|
||||
'text': ss.i18n._t('URLSEGMENT.Cancel', 'Cancel'),
|
||||
'click': function(e) {
|
||||
e.preventDefault();
|
||||
self.cancel();
|
||||
}
|
||||
});
|
||||
|
||||
// insert elements
|
||||
preview.insertAfter('.prefix');
|
||||
editAction.insertAfter(field);
|
||||
cancelAction.insertAfter(field);
|
||||
updateAction.insertAfter(field);
|
||||
},
|
||||
|
||||
/**
|
||||
* Function: _autoInputWidth
|
||||
*
|
||||
* Sets the width of input so it lines up with the other fields
|
||||
*/
|
||||
_autoInputWidth: function() {
|
||||
var field = this.find(':text');
|
||||
field.width((field.width() + 15) - this.find('.prefix').width());
|
||||
$.get(url, function(data) {callback.apply(this, arguments);});
|
||||
}
|
||||
});
|
||||
|
||||
$('.field.urlsegment .edit').entwine({
|
||||
onclick: function(e) {
|
||||
e.preventDefault();
|
||||
this.closest('.field').toggleEdit(true);
|
||||
}
|
||||
});
|
||||
|
||||
$('.field.urlsegment .update').entwine({
|
||||
onclick: function(e) {
|
||||
e.preventDefault();
|
||||
this.closest('.field').update();
|
||||
}
|
||||
});
|
||||
|
||||
$('.field.urlsegment .cancel').entwine({
|
||||
onclick: function(e) {
|
||||
e.preventDefault();
|
||||
this.closest('.field').cancel();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
}(jQuery));
|
||||
|
39
javascript/lang/nl_NL.js
Normal file
39
javascript/lang/nl_NL.js
Normal file
@ -0,0 +1,39 @@
|
||||
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
|
||||
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
|
||||
} else {
|
||||
ss.i18n.addDictionary('nl_NL', {
|
||||
'CMSMAIN.WARNINGSAVEPAGESBEFOREADDING' : "U moet de pagina opslaan voordat u kinderen kan toevoegen",
|
||||
'CMSMAIN.CANTADDCHILDREN' : "Je kunt geen kinderen toevoegen aan de geselecteerde knoop",
|
||||
'CMSMAIN.ERRORADDINGPAGE' : 'Fout toevoegen pagina',
|
||||
'CMSMAIN.FILTEREDTREE' : 'Gefilterd om alleen aangepaste paginas te tonen',
|
||||
'CMSMAIN.ERRORFILTERPAGES' : 'Kon niet filteren om alleen paginas <br />%s te tonen.',
|
||||
'CMSMAIN.ERRORUNFILTER' : 'Ongefilterde structuur',
|
||||
'CMSMAIN.PUBLISHINGPAGES' : 'Paginas aan het publiceren...',
|
||||
'CMSMAIN.SELECTONEPAGE' : "Selecteer minstens 1 pagina.",
|
||||
'CMSMAIN.ERRORPUBLISHING' : 'Verwijder gepubliceerde paginas',
|
||||
'CMSMAIN.REALLYDELETEPAGES' : "Wil je echt de geselecteerde %s pagina's verwijderen?",
|
||||
'CMSMAIN.DELETINGPAGES' : 'Paginas verwijderen...',
|
||||
'CMSMAIN.ERRORDELETINGPAGES': 'Fout bij verwijderen paginas',
|
||||
'CMSMAIN.PUBLISHING' : 'Publiceren...',
|
||||
'CMSMAIN.RESTORING': 'Herstellen...',
|
||||
'CMSMAIN.ERRORREVERTING': 'Error reverting to live content',
|
||||
'CMSMAIN.SAVING' : 'opslaan...',
|
||||
'CMSMAIN.SELECTMOREPAGES' : "Je hebt pagina(s) %s geselecteerd. \n\nWil je deze actie uitvoeren?",
|
||||
'CMSMAIN.ALERTCLASSNAME': 'Het paginatype wordt aangepast na opslaan van de pagina',
|
||||
'CMSMAIN.URLSEGMENTVALIDATION': 'URLs kunnen alleen bestaan uit letters, cijfers en koppeltekens.',
|
||||
'AssetAdmin.BATCHACTIONSDELETECONFIRM': "Wil je deze mappen %s verwijderen?",
|
||||
'AssetTableField.REALLYDELETE': 'Wil je de geselecteerde bestanden verwijderen??',
|
||||
'AssetTableField.MOVING': 'Verplaats %s bestand(en)',
|
||||
'CMSMAIN.AddSearchCriteria': 'Voeg criteria toe',
|
||||
'WidgetAreaEditor.TOOMANY': 'Sorry, je hebt de maximaal aantal widgets bereikt',
|
||||
'AssetAdmin.ConfirmDelete': 'Wil je deze map verwijderen en alle bestanden??',
|
||||
'Folder.Name': 'Mapnaam',
|
||||
'Tree.AddSubPage': 'Voeg nieuwe pagina toe',
|
||||
'Tree.EditPage': 'Aanpassen',
|
||||
'CMSMain.ConfirmRestoreFromLive': "Do you really want to copy the published content to the draft site?",
|
||||
'CMSMain.RollbackToVersion': "Do you really want to roll back to version #%s of this page?",
|
||||
'URLSEGMENT.Edit': 'Aanpassen',
|
||||
'URLSEGMENT.OK': 'OK',
|
||||
'URLSEGMENT.Cancel': 'Annuleren'
|
||||
});
|
||||
}
|
@ -63,7 +63,7 @@ cs:
|
||||
CMSBatchActions:
|
||||
DELETED_DRAFT_PAGES: 'Smazáno %d stránek z konceptu webu, %d selhání'
|
||||
DELETED_PAGES: 'Odstraněno %d stránek z veřejného webu, %d selhání'
|
||||
DELETE_DRAFT_PAGES: 'Smazáno z konceptu webu'
|
||||
DELETE_DRAFT_PAGES: 'Smazat z konceptu webu'
|
||||
DELETE_PAGES: 'Smazat ze zveřejněného webu'
|
||||
PUBLISHED_PAGES: 'Zveřejněných %d stránek, %d selhání'
|
||||
PUBLISH_PAGES: Zveřejnit
|
||||
@ -307,7 +307,7 @@ cs:
|
||||
Content: Obsah
|
||||
DEFAULTABOUTCONTENT: '<p>Můžete tuto stránku vyplnit vlastním obsahem, nebo ji smazat a vytvořit si vlastní stránky. <br /> </p>'
|
||||
DEFAULTABOUTTITLE: 'O nás'
|
||||
DEFAULTCONTACTCONTENT: '<p>Můžete tuto stránku vyplnit vlastním obsahem, nebo ji smazat a vytvořit si vlastní stránky. <br /> </ p>'
|
||||
DEFAULTCONTACTCONTENT: '<p>Můžete tuto stránku vyplnit vlastním obsahem, nebo ji smazat a vytvořit si vlastní stránky. <br /> </p>'
|
||||
DEFAULTCONTACTTITLE: 'Kontaktujte nás'
|
||||
DEFAULTHOMECONTENT: '<p>Vítejte v CMS SilverStripe! Toto je úvodní stránka. Tuto i jiné stránky můžete změnit <a href="admin/">přihlášením do systému</a>. Můžete také navštívit <a href="http://doc.silverstripe.com">vývojářskou dokumentaci (EN)</a>, nebo <a href="http://doc.silverstripe.com/doku.php?id=tutorials">návody (EN)</a></p>'
|
||||
DEFAULTHOMETITLE: 'Úvodní strana'
|
||||
@ -318,7 +318,7 @@ cs:
|
||||
DependtPageColumnLinkType: 'Typ odkazu'
|
||||
DependtPageColumnURL: URL
|
||||
EDITANYONE: 'Kdokoliv, kdo se do CMS může přihlásit'
|
||||
EDITHEADER: 'Kdo může editovat tuto stránku?'
|
||||
EDITHEADER: 'Kdo může tuto stránku editovat?'
|
||||
EDITONLYTHESE: 'Jenom tito lidé (vyberte ze seznamu)'
|
||||
EDITORGROUPS: 'Editor skupin'
|
||||
EDIT_ALL_DESCRIPTION: 'Může editovat jakoukoli stránku webu, obcházeje bezpečnostní specifikaci stránky'
|
||||
@ -368,7 +368,7 @@ cs:
|
||||
VIEW_ALL_DESCRIPTION: 'Může vidět jakoukoli stránku webu, obcházeje bezpečnostní specifikaci stránky'
|
||||
VIEW_ALL_HELP: 'Možnost zobrazit libovolnou stránku na webu, bez ohledu na nastavení na kartě Přístup. Vyžaduje povolení "Přístup k obsahu webu"'
|
||||
VIEW_DRAFT_CONTENT: 'Zobrazit obsah konceptu'
|
||||
VIEW_DRAFT_CONTENT_HELP: 'Vztahuje se na prohlížení stránek mimo CMS, v koncept módu. Užitečné pro externí spolupracovníky bez přístupu do CMS.'
|
||||
VIEW_DRAFT_CONTENT_HELP: 'Vztahuje se na prohlížení stránek mimo CMS, v koncept módu. Užitečné pro externí spolupracovníky bez přístupu do CMS.'
|
||||
Viewers: 'Skupiny návštěvníků'
|
||||
Visibility: Viditelnost
|
||||
has_one_Parent: 'Rodičovská stránka'
|
||||
|
24
lang/da.yml
24
lang/da.yml
@ -121,28 +121,28 @@ da:
|
||||
CMSPageEditController:
|
||||
MENUTITLE: 'Rediger side'
|
||||
CMSPageHistoryController:
|
||||
COMPAREMODE: 'Sammenlign (Vælg to)'
|
||||
COMPAREMODE: 'Sammenligningstilstand (vælg to)'
|
||||
COMPAREVERSIONS: 'Sammenlign versioner'
|
||||
COMPARINGVERSION: 'Sammenligner versionerne {version1} og {version2}.'
|
||||
MENUTITLE: Historik
|
||||
REVERTTOTHISVERSION: 'Genskab denne version'
|
||||
SHOWUNPUBLISHED: 'Vis ikke publicerede versioner'
|
||||
SHOWUNPUBLISHED: 'Vis versioner der ikke er udgivne'
|
||||
SHOWVERSION: 'Vis version'
|
||||
VIEW: Visning
|
||||
VIEWINGVERSION: 'Lige nu vises version {version}.'
|
||||
CMSPageHistoryController_versions.ss:
|
||||
AUTHOR: Forfatter
|
||||
NOTPUBLISHED: 'Ikke publiseret'
|
||||
NOTPUBLISHED: 'Ikke udgivet'
|
||||
PUBLISHER: Udgiver
|
||||
UNKNOWN: Ukendt
|
||||
WHEN: Hvornår
|
||||
CMSPageSettingsController:
|
||||
MENUTITLE: 'Rediger siden'
|
||||
MENUTITLE: 'Rediger side'
|
||||
CMSPagesController:
|
||||
GalleryView: 'Galleri visning'
|
||||
ListView: 'Liste visning'
|
||||
GalleryView: Gallerivisning
|
||||
ListView: Listevisning
|
||||
MENUTITLE: Sider
|
||||
TreeView: 'Træ visning'
|
||||
TreeView: Trævisning
|
||||
CMSPagesController_ContentToolbar.ss:
|
||||
ENABLEDRAGGING: 'Træk&slip'
|
||||
MULTISELECT: Multivalg
|
||||
@ -242,10 +242,10 @@ da:
|
||||
OTHERURL: 'Andet websteds URL'
|
||||
PLURALNAME: 'Videresendende sider'
|
||||
REDIRECTTO: 'Omdiriger til'
|
||||
REDIRECTTOEXTERNAL: 'En anden hjemmeside'
|
||||
REDIRECTTOPAGE: 'En side på din hjemmeside'
|
||||
REDIRECTTOEXTERNAL: 'Et andet websted'
|
||||
REDIRECTTOPAGE: 'En side på dit websted'
|
||||
SINGULARNAME: 'Viderestillende side'
|
||||
YOURPAGE: 'Side på din hjemmeside'
|
||||
YOURPAGE: 'Side på dit websted'
|
||||
ReportAdmin:
|
||||
MENUTITLE: Rapporter
|
||||
ReportTitle: Titel
|
||||
@ -379,8 +379,8 @@ da:
|
||||
HelpChars: 'Specialkarakterer bliver automatisk konverteret eller fjernet.'
|
||||
StaticExporter:
|
||||
BASEURL: 'Base URL'
|
||||
EXPORTTO: 'Eksporter til mappen'
|
||||
NAME: 'Statisk eksporter'
|
||||
EXPORTTO: 'Eksporter til den mappe'
|
||||
NAME: 'Statisk eksportør'
|
||||
TableListField:
|
||||
SELECT: 'Vælg:'
|
||||
TableListField.ss:
|
||||
|
22
lang/de.yml
22
lang/de.yml
@ -39,7 +39,7 @@ de:
|
||||
BrokenLinksReport:
|
||||
Any: Alle
|
||||
BROKENLINKS: 'Defekte Links'
|
||||
CheckSite: 'Seite überprüfen'
|
||||
CheckSite: 'Site überprüfen'
|
||||
CheckSiteDropdownDraft: Vorschau-Site
|
||||
CheckSiteDropdownPublished: 'Veröffentlichte Site'
|
||||
ColumnDateLastModified: 'Zuletzt geändert'
|
||||
@ -54,8 +54,8 @@ de:
|
||||
ReasonDropdown: 'Zu überprüfendes Problem'
|
||||
ReasonDropdownBROKENFILE: 'Defekte Datei'
|
||||
ReasonDropdownBROKENLINK: 'Defekter Link'
|
||||
ReasonDropdownRPBROKENLINK: 'Weiterleitungen, die auf eine nicht vorhandene Seite verweisen'
|
||||
ReasonDropdownVPBROKENLINK: 'Virtuelle Seiten, die auf eine nicht vorhandene Seite verweisen'
|
||||
ReasonDropdownRPBROKENLINK: 'Weiterleitung, die auf eine nicht vorhandene Seite verweist'
|
||||
ReasonDropdownVPBROKENLINK: 'Virtuelle Seite, die auf eine nicht vorhandene Seite verweist'
|
||||
RedirectorNonExistent: 'Weiterleitung, die auf eine nicht vorhandene Seite verweist'
|
||||
VirtualPageNonExistent: 'Virtuelle Seite, die auf eine nicht vorhandene Seite verweist'
|
||||
CMSAddPageController:
|
||||
@ -87,7 +87,7 @@ de:
|
||||
ListFiltered: 'Gefilterte Liste'
|
||||
MENUTITLE: 'Seite bearbeiten'
|
||||
NEWPAGE: 'Neue {pagetype}'
|
||||
PAGENOTEXISTS: 'Diese Seite wurde nicht gefunden'
|
||||
PAGENOTEXISTS: 'Diese Seite existiert nicht'
|
||||
PAGES: Seiten
|
||||
PAGETYPEANYOPT: Alle
|
||||
PAGETYPEOPT: Seitentyp
|
||||
@ -96,9 +96,9 @@ de:
|
||||
PUBALLFUN2: 'Dieser Button bewirkt dasselbe wie auf jeder Seite "veröffentlichen" zu wählen. Sie sollten diese Funktion nutzen, wenn grössere Inhaltsänderungen stattgefunden haben, zum Beispiel wenn die Seite erstellt wurde.'
|
||||
PUBPAGES: 'Abgeschlossen: {count} Seiten wurden veröffentlicht'
|
||||
PageAdded: 'Seite erfolgreich erstellt'
|
||||
REMOVED: 'Lösche ''%s''%s von der Live-Seite'
|
||||
REMOVED: '''%s''%s von der Live-Seite gelöscht'
|
||||
REMOVEDPAGE: '''{title}'' wurde von der veröffentlichten Site entfernt'
|
||||
REMOVEDPAGEFROMDRAFT: 'Lösche ''%s'' von der Entwurfs-Seite'
|
||||
REMOVEDPAGEFROMDRAFT: 'Lösche ''%s'' von der Entwurfs-Site'
|
||||
RESTORE: Wiederherstellen
|
||||
RESTORED: '''{title}'' wurde wiederhergestellt'
|
||||
ROLLBACK: 'Diese Version wiederherstellen'
|
||||
@ -107,7 +107,7 @@ de:
|
||||
SAVE: Speichern
|
||||
SAVEDRAFT: 'Entwurf speichern'
|
||||
TabContent: Inhalt
|
||||
TabHistory: Verlauf
|
||||
TabHistory: Historie
|
||||
TabSettings: Einstellungen
|
||||
TreeFiltered: 'Seitenbaum gefiltert'
|
||||
TreeFilteredClear: 'Filter zurücksetzen'
|
||||
@ -171,7 +171,7 @@ de:
|
||||
DRAFT_SITE_ACCESS_RESTRICTION: 'Sie müssen sich mit Ihrem CMS Passwort einloggen, um den Entwurf oder den archivierten Inhalt zu sehen. <a href="%s">Zurück zur veröffentlichten Seite.</a>'
|
||||
Email: E-Mail
|
||||
INSTALL_SUCCESS: 'Die Installation war erfolgreich!'
|
||||
InstallFilesDeleted: 'Die Installationsdateien wurden erfolgreich entfernt.'
|
||||
InstallFilesDeleted: 'Die Installationsdateien wurden erfolgreich gelöscht.'
|
||||
InstallSecurityWarning: 'Zu Ihrer Sicherheit löschen Sie jetzt bitte die Installationsdateien, es sei denn Sie möchten zu einem späteren Zeitpunkt erneut installieren. (<em>Dies erfordert den Administrator-Zugang (siehe oben)</em>). Der Webserver benötigt nun nur noch Schreibrechte auf das "assets" Verzeichnis und Sie können die Schreibrechte für alle anderen Ordner entfernen. <a href="{link}" style="text-align: center;">Die Installationsdaten jetzt löschen.</a> '
|
||||
InstallSuccessCongratulations: 'SilverStripe wurde erfolgreich installiert!'
|
||||
LOGGEDINAS: 'Angemeldet als'
|
||||
@ -281,7 +281,7 @@ de:
|
||||
SINGULARNAME: Seitenkonfiguration
|
||||
SITENAMEDEFAULT: 'Name Ihrer Website'
|
||||
SITETAGLINE: 'Ihr Websiteslogan'
|
||||
SITETITLE: 'Titel der Internetseite'
|
||||
SITETITLE: 'Titel der Site'
|
||||
TABACCESS: Zugriff
|
||||
TABMAIN: Hauptteil
|
||||
TAGLINEDEFAULT: 'Ihr Websiteslogan'
|
||||
@ -393,13 +393,13 @@ de:
|
||||
TO: bis
|
||||
VIEWFIRST: Erster
|
||||
VIEWLAST: Letzter
|
||||
VIEWNEXT: 'Zeige nächste'
|
||||
VIEWNEXT: Nächster
|
||||
VIEWPREVIOUS: Vorheriger
|
||||
TreeTools:
|
||||
DisplayLabel: 'Anzeigen:'
|
||||
ViewArchivedEmail.ss:
|
||||
CANACCESS: 'Sie können unter folgendem Verweis auf die archivierte Seite zugreifen:'
|
||||
HAVEASKED: 'Sie haben darum gebeten, den Inhalt unserer Seite zu sehen, am'
|
||||
HAVEASKED: 'Sie haben darum gebeten, den Inhalt unserer Site zu sehen, am'
|
||||
VirtualPage:
|
||||
CHOOSE: 'Wählen Sie eine Seite, auf die Sie verweisen möchten'
|
||||
DESCRIPTION: 'Zeigt den Inhalt einer anderen Seite'
|
||||
|
@ -93,7 +93,7 @@ en:
|
||||
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."
|
||||
PUBPAGES: 'Done: Published {count} pages'
|
||||
PageAdded: 'Successfully created page'
|
||||
REMOVED: 'Deleted ''{title}''{description} from live site'
|
||||
REMOVED: 'Deleted ''%s''%s from live site'
|
||||
REMOVEDPAGE: 'Removed ''{title}'' from the published site'
|
||||
REMOVEDPAGEFROMDRAFT: 'Removed ''%s'' from the draft site'
|
||||
RESTORE: Restore
|
||||
@ -138,6 +138,7 @@ en:
|
||||
MENUTITLE: Pages
|
||||
TreeView: 'Tree View'
|
||||
CMSPagesController_ContentToolbar.ss:
|
||||
ENABLEDRAGGING: 'Drag''n''drop'
|
||||
MULTISELECT: Multi-selection
|
||||
CMSPagesController_Tools.ss:
|
||||
FILTER: Filter
|
||||
@ -388,6 +389,8 @@ en:
|
||||
VIEWLAST: 'View last'
|
||||
VIEWNEXT: 'View next'
|
||||
VIEWPREVIOUS: 'View previous'
|
||||
TreeTools:
|
||||
DisplayLabel: 'Display:'
|
||||
ViewArchivedEmail.ss:
|
||||
CANACCESS: 'You can access the archived site at this link:'
|
||||
HAVEASKED: 'You have asked to view the content of our site on'
|
||||
|
@ -164,7 +164,7 @@ et_EE:
|
||||
ContentControl:
|
||||
NOTEWONTBESHOWN: 'Märkus. Seda teadet ei kuvata lehe külastajatele'
|
||||
ContentController:
|
||||
ARCHIVEDSITE: 'Preview version'
|
||||
ARCHIVEDSITE: 'Eelvaate versioon'
|
||||
ARCHIVEDSITEFROM: 'Arhiveeritud sait asukohast'
|
||||
CMS: CMS
|
||||
DRAFTSITE: 'Mustandi sait'
|
||||
@ -277,8 +277,8 @@ et_EE:
|
||||
EDITHEADER: 'Kes saavad sellel saidil lehti redigeerida?'
|
||||
EDIT_PERMISSION: 'Saidi konfiguratsiooni haldamine'
|
||||
EDIT_PERMISSION_HELP: 'Võimalus redigeerida üldiseid juurdepääsuseadeid / kõrgema taseme lehe õigusi.'
|
||||
PLURALNAME: 'Site Configs'
|
||||
SINGULARNAME: 'Site Config'
|
||||
PLURALNAME: 'Saidi konfiguratsioonid'
|
||||
SINGULARNAME: 'Saidi konfiguratsioon'
|
||||
SITENAMEDEFAULT: 'Teie saidi nimi'
|
||||
SITETAGLINE: 'Saidi reklaamlause'
|
||||
SITETITLE: 'Saidi pealkiri'
|
||||
|
@ -196,7 +196,7 @@ fi:
|
||||
SINGULARNAME: Virhesivu
|
||||
400: '400 - Virheellinen Pyyntö'
|
||||
401: '401 - Luvaton'
|
||||
403: '403 . Kielletty'
|
||||
403: '403 - Kielletty'
|
||||
404: '404 - Ei löytynyt'
|
||||
405: '405 - Menetelmä ei sallittu'
|
||||
406: '406 - Ei hyväksyttävä'
|
||||
|
10
lang/hu.yml
10
lang/hu.yml
@ -79,10 +79,10 @@ hu:
|
||||
ChoosePageParentMode: 'Choose where to create this page'
|
||||
ChoosePageType: 'Válassza ki az oldal típusát'
|
||||
Create: Létrehozni
|
||||
DELETE: 'Törlés a vázlat oldalról'
|
||||
DELETEFP: 'Törlés a publikus oldalról'
|
||||
DELETE: 'Vázlat törlése'
|
||||
DELETEFP: Törlés
|
||||
DESCREMOVED: 'and {count} descendants'
|
||||
EMAIL: E-mail
|
||||
EMAIL: Email
|
||||
EditTree: 'Edit Tree'
|
||||
ListFiltered: 'Filtered list.'
|
||||
MENUTITLE: 'Oldal szerkesztése'
|
||||
@ -295,7 +295,7 @@ hu:
|
||||
ACCESSONLYTHESE: 'Csak ezen emberek (válassz a listából)'
|
||||
ADDEDTODRAFTHELP: 'Az oldal jelenleg még nincs publikálva.'
|
||||
ADDEDTODRAFTSHORT: Vázlat
|
||||
ALLOWCOMMENTS: 'A megjegyzések engedélyezve legyenek az oldalon?'
|
||||
ALLOWCOMMENTS: 'Megjegyzések engedélyezése ezen az oldalon?'
|
||||
APPEARSVIRTUALPAGES: 'This content also appears on the virtual pages in the {title} sections.'
|
||||
BUTTONCANCELDRAFT: 'Piszkozaton végzett változtatások visszavonása'
|
||||
BUTTONCANCELDRAFTDESC: 'Piszkozat törlése, és vissztérés a jelenleg publikált oldalra'
|
||||
@ -407,4 +407,4 @@ hu:
|
||||
HEADER: 'Ez egy virtuális oldal'
|
||||
PLURALNAME: 'Virtual Pags'
|
||||
PageTypNotAllowedOnRoot: 'Original page type "{type}" is not allowed on the root level for this virtual page'
|
||||
SINGULARNAME: 'Virtuális Oldal'
|
||||
SINGULARNAME: 'Virtuális oldal'
|
||||
|
@ -48,7 +48,7 @@ it:
|
||||
ColumnURL: URL
|
||||
HasBrokenFile: 'ha un file non funzionante'
|
||||
HasBrokenLink: 'ha un link non funzionante'
|
||||
HasBrokenLinkAndFile: 'ha un link ed un file non funzionante'
|
||||
HasBrokenLinkAndFile: 'ha link e file non funzionanti'
|
||||
HoverTitleEditPage: 'Modifica pagina'
|
||||
PageName: 'Nome pagina'
|
||||
ReasonDropdown: 'Problemi da verificare'
|
||||
@ -64,11 +64,11 @@ it:
|
||||
DELETED_DRAFT_PAGES: 'Eliminate %d pagine dal sito bozza, %d non a buon fine'
|
||||
DELETED_PAGES: 'Eliminate %d pagine dal sito pubblicato, %d non a buon fine'
|
||||
DELETE_DRAFT_PAGES: 'Elimina dal sito bozza'
|
||||
DELETE_PAGES: 'Eliminato dal sito pubblicato'
|
||||
DELETE_PAGES: 'Eliminata dal sito pubblicato'
|
||||
PUBLISHED_PAGES: 'Pubblicate %d pagine, %d non a buon fine'
|
||||
PUBLISH_PAGES: Pubblica
|
||||
UNPUBLISHED_PAGES: '%d pagine non pubblicate'
|
||||
UNPUBLISH_PAGES: 'Pubblicazione annullata'
|
||||
UNPUBLISH_PAGES: 'Non pubblicare'
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Files
|
||||
CMSMain:
|
||||
|
@ -112,7 +112,7 @@ ja_JP:
|
||||
TreeFiltered: フィルタリングされたツリー
|
||||
TreeFilteredClear: フィルタを解除
|
||||
CMSMain_left.ss:
|
||||
'APPLY FILTER': 'Apply Filter'
|
||||
'APPLY FILTER': フィルタを適用
|
||||
RESET: リセット
|
||||
CMSPageAddController:
|
||||
MENUTITLE: 'ページを追加'
|
||||
@ -240,11 +240,11 @@ ja_JP:
|
||||
HASBEENSETUP: '転送URLを含むページには、転送先がない状態で設定されています。'
|
||||
HEADER: このページをユーザーを変更して他のページにしますか?
|
||||
OTHERURL: 他のウェブサイトのURL
|
||||
PLURALNAME: 'Redirector Pags'
|
||||
PLURALNAME: リダイレクトページ
|
||||
REDIRECTTO: 変更は
|
||||
REDIRECTTOEXTERNAL: 他のウェブサイト
|
||||
REDIRECTTOPAGE: 貴方のウェブサイトを表示します
|
||||
SINGULARNAME: 'Redirector Page'
|
||||
SINGULARNAME: リダイレクトページ
|
||||
YOURPAGE: 貴方のウェブサイトを表示します
|
||||
ReportAdmin:
|
||||
MENUTITLE: レポート
|
||||
@ -259,7 +259,7 @@ ja_JP:
|
||||
BROKENFILES: 壊れているファイルがあるページ
|
||||
BROKENLINKS: 'Pages with broken links'
|
||||
BROKENREDIRECTORPAGES: 'RedirectorPages pointing to deleted pages'
|
||||
BROKENVIRTUALPAGES: 'VirtualPages pointing to deleted pages'
|
||||
BROKENVIRTUALPAGES: '削除されたページを参照している仮想ページ'
|
||||
BrokenLinksGroupTitle: 壊れているリンクのレポート
|
||||
ContentGroupTitle: 'Content reports'
|
||||
EMPTYPAGES: 空のページ
|
||||
@ -311,7 +311,7 @@ ja_JP:
|
||||
DEFAULTCONTACTTITLE: 連絡はこちらまで
|
||||
DEFAULTHOMECONTENT: '<p>SilverStripeへようこそ!これはデフォルトのホームページです。このページを編集するには、<a href="admin/">CMS</a>にアクセスしてください。<a href="http://doc.silverstripe.org">開発者向けドキュメント</a>や、<a href="http://doc.silverstripe.org/doku.php?id=tutorials">チュートリアル</a>もご覧いただけます。</p>'
|
||||
DEFAULTHOMETITLE: 'ホーム'
|
||||
DELETEDPAGEHELP: 'Page is no longer published'
|
||||
DELETEDPAGEHELP: 'このページは今は公開されていません。'
|
||||
DELETEDPAGESHORT: 削除済
|
||||
DEPENDENT_NOTE: 'The following pages depend on this page. This includes virtual pages, redirector pages, and pages with content links.'
|
||||
DESCRIPTION: 通常のコンテンツページ
|
||||
@ -329,7 +329,7 @@ ja_JP:
|
||||
INHERIT: 親ページを受け継ぐ
|
||||
LASTUPDATED: 最終更新日時
|
||||
LINKCHANGENOTE: このページのリンクを変更するとすべての子ページのリンクに影響を与える可能性があります。
|
||||
MENUTITLE: 操作レベル
|
||||
MENUTITLE: メニュー表示
|
||||
METADESC: 説明
|
||||
METADESCHELP: 'Search engines use this content for displaying search results (although it will not influence their ranking).'
|
||||
METAEXTRA: 'メタタグをカスタム'
|
||||
@ -398,7 +398,7 @@ ja_JP:
|
||||
TreeTools:
|
||||
DisplayLabel: 'Display:'
|
||||
ViewArchivedEmail.ss:
|
||||
CANACCESS: 'You can access the archived site at this link:'
|
||||
CANACCESS: アーカイブされたサイトには次のリンクでアクセス可能です:
|
||||
HAVEASKED: 'You have asked to view the content of our site on'
|
||||
VirtualPage:
|
||||
CHOOSE: 'リンクするページを選択してください'
|
||||
|
44
lang/lt.yml
44
lang/lt.yml
@ -4,7 +4,7 @@ lt:
|
||||
ActionAdd: 'Pridėti aplanką'
|
||||
AppCategoryArchive: Archyvas
|
||||
AppCategoryAudio: Garsas
|
||||
AppCategoryDocument: Document
|
||||
AppCategoryDocument: Dokumentas
|
||||
AppCategoryFlash: Flash
|
||||
AppCategoryImage: Paveikslėlis
|
||||
AppCategoryVideo: Video
|
||||
@ -170,17 +170,17 @@ lt:
|
||||
DRAFTSITE: 'Juodraštinė svetainė'
|
||||
DRAFT_SITE_ACCESS_RESTRICTION: 'Jūs turite prisijungti su savo TVS slaptažodžiu, kad galėtumėte peržiūrėti juodraščio arba archyvo turinį.<a href="%s">Spauskite čia, norėdami grįžti į svetainę</a>.'
|
||||
Email: 'E. paštas'
|
||||
INSTALL_SUCCESS: 'Installation Successful!'
|
||||
INSTALL_SUCCESS: 'Įdiegimas sėkmingas!'
|
||||
InstallFilesDeleted: 'Įdiegimo bylos sėkmingai pašalintos'
|
||||
InstallSecurityWarning: 'Saugumo sumetimais Jūs turėtumėte ištrinti įdiegimo bylas, nebent vėliau Jūs planuojate iš naujo diegti (<em>bus reikalinga administravimo prieiga, žiūrėkite viršuje</em>). Web paslaugos programa turi gauti rašymo teises "assets" aplankui, kitiems aplankams tokių teisių nereikia. <a href="{link}" style="text-align: center;">Spauskite čia jei norite ištrinti įdiegimo bylas</a>'
|
||||
InstallSuccessCongratulations: 'SilverStripe has been successfully installed!'
|
||||
InstallSuccessCongratulations: 'SilverStripe buvo sėkmingai įdiegta!'
|
||||
LOGGEDINAS: 'Prisijungėte kaip '
|
||||
LOGIN: Prisijungti
|
||||
LOGOUT: Atsijungti
|
||||
NOTLOGGEDIN: Neprisijungęs
|
||||
PUBLISHEDSITE: 'Publikuojama svetainė'
|
||||
Password: Slaptažodis
|
||||
PostInstallTutorialIntro: 'This website is a simplistic version of a SilverStripe 3 site. To extend this, please take a look at {link}.'
|
||||
PostInstallTutorialIntro: 'Šis puslapis yra supaprastinta SilverStripe 3 tinklapio versija. Norėdami išplėsti jo funkcionalumą, apsilankykite {link}.'
|
||||
StartEditing: 'Jūs galite pradėti redaguoti svetainės turinį, atidarydami <a href="{link}">TVS</a>.'
|
||||
UnableDeleteInstall: 'Nepajėgiame ištrinti įdiegimo bylų. Prašome pašalinti bylas rankiniu būdu.'
|
||||
VIEWPAGEIN: 'Peržiūrėti puslapį:'
|
||||
@ -192,8 +192,8 @@ lt:
|
||||
DEFAULTSERVERERRORPAGETITLE: 'Tarnybinės stoties klaida'
|
||||
DESCRIPTION: 'Savitas turinys, skirtingai klaidai apibrėžti (Pvz.: "Puslapis nerastas")'
|
||||
ERRORFILEPROBLEM: 'Klaida atveriant rašymui bylą "{filename}". Prašome patikrinti bylos leidimus.'
|
||||
PLURALNAME: 'Error Pags'
|
||||
SINGULARNAME: 'Error Page'
|
||||
PLURALNAME: 'Klaidos puslapiai'
|
||||
SINGULARNAME: 'Klaidos puslapis'
|
||||
400: '400 - Bloga užklausa'
|
||||
401: '401 - Leidimas neduotas'
|
||||
403: '403 - Uždrausta'
|
||||
@ -202,8 +202,8 @@ lt:
|
||||
406: '406 - nepriimtina'
|
||||
407: '407 - reikalinga proxy autentifikacija'
|
||||
408: '408 - baigėsi užklausai skirtas laikas'
|
||||
409: '409 - konfliktas'
|
||||
410: '410 - gone'
|
||||
409: '409 - Konfliktas'
|
||||
410: '410 - Nebėra'
|
||||
411: '411 - reikalingas ilgis'
|
||||
412: '412 - išankstinė klaida'
|
||||
413: '413 - per didelė užklausa'
|
||||
@ -240,11 +240,11 @@ lt:
|
||||
HASBEENSETUP: 'Nukreipimo puslapis nustatytas be jokio nukreipimo.'
|
||||
HEADER: 'Šis puslapis nukreips lankytojus į kitą puslapį'
|
||||
OTHERURL: 'Kitos svetainės URL adresas'
|
||||
PLURALNAME: 'Redirector Pags'
|
||||
PLURALNAME: 'Nukreipimo puslapiai'
|
||||
REDIRECTTO: 'Nukreipti į'
|
||||
REDIRECTTOEXTERNAL: 'Kita svetainė'
|
||||
REDIRECTTOPAGE: 'Puslapis Jūsų svetainėje'
|
||||
SINGULARNAME: 'Redirector Page'
|
||||
SINGULARNAME: 'Nukreipimo puslapis'
|
||||
YOURPAGE: 'Puslapį Jūsų svetainėje'
|
||||
ReportAdmin:
|
||||
MENUTITLE: Ataskaitos
|
||||
@ -277,8 +277,8 @@ lt:
|
||||
EDITHEADER: 'Kas gali redaguoti šį puslapį?'
|
||||
EDIT_PERMISSION: 'Tvarkyti svetainės parametrus'
|
||||
EDIT_PERMISSION_HELP: 'Galimybė tvarkyti globalias priėjimo, pagrindinio puslapio teises.'
|
||||
PLURALNAME: 'Site Configs'
|
||||
SINGULARNAME: 'Site Config'
|
||||
PLURALNAME: 'Svetainės konfigūracijos'
|
||||
SINGULARNAME: 'Svetainės konfigūracija'
|
||||
SITENAMEDEFAULT: 'Jūsų Svetainės Pavadinimas'
|
||||
SITETAGLINE: 'Svetainės šūkis'
|
||||
SITETITLE: 'Svetainės pavadinimas'
|
||||
@ -296,12 +296,12 @@ lt:
|
||||
ADDEDTODRAFTHELP: 'Puslapis dar nebuvo publikuotas'
|
||||
ADDEDTODRAFTSHORT: Juodraštis
|
||||
ALLOWCOMMENTS: 'Ar leisti komentuoti šį puslapį?'
|
||||
APPEARSVIRTUALPAGES: 'This content also appears on the virtual pages in the {title} sections.'
|
||||
APPEARSVIRTUALPAGES: 'Šis turinys taip pat matomas virtualiuose puslapiuose, {title} skyriuose.'
|
||||
BUTTONCANCELDRAFT: 'Atšaukti juodraščio pakeitimus'
|
||||
BUTTONCANCELDRAFTDESC: 'Ištrinti juodraštį ir grįžti prie šiuo metu publikuojamo puslapio'
|
||||
BUTTONSAVEPUBLISH: 'Išsaugoti ir publikuoti'
|
||||
BUTTONUNPUBLISH: Nebepublikuoti
|
||||
BUTTONUNPUBLISHDESC: 'Pašalinti šį puslapį iš publikuojamų'
|
||||
BUTTONUNPUBLISHDESC: 'Pašalinti šį puslapį iš publikuojamos svetainės'
|
||||
CREATED: 'Sukūrimo data'
|
||||
Comments: Komentarai
|
||||
Content: Turinys
|
||||
@ -331,21 +331,21 @@ lt:
|
||||
LINKCHANGENOTE: 'Keičiant šio puslapio nuorodą, keisis ir jam priklausančių puslapių nuorodos.'
|
||||
MENUTITLE: 'Navigacijos pavadinimas'
|
||||
METADESC: 'Meta aprašymas'
|
||||
METADESCHELP: 'Search engines use this content for displaying search results (although it will not influence their ranking).'
|
||||
METADESCHELP: 'Paieškos varikliai naudoja šį turinį paieškos rezultatų atvaizdavimui (tačiau jis neturės įtakos rezultatų reitingui).'
|
||||
METAEXTRA: 'Naudotojo meta žymės'
|
||||
METAEXTRAHELP: 'HTML tags for additional meta information. For example <meta name="customName" content="your custom content here" />'
|
||||
METAEXTRAHELP: 'HTML žymos papildomai meta informacijai. Pavyzdžiui: <meta name="tavoPavadinimas" content="tavo turinys čia" />'
|
||||
MODIFIEDONDRAFTHELP: 'Puslapyje yra nepublikuoto turinio'
|
||||
MODIFIEDONDRAFTSHORT: Pakeistas
|
||||
MetadataToggle: Metaduomenys
|
||||
OBSOLETECLASS: 'This page is of obsolete type {type}. Saving will reset it''s type and you may lose data'
|
||||
OBSOLETECLASS: 'Šis puslapis yra nebenaudojamo tipo {type}. Išsaugojimas iš naujo nustatys jo tipą, ko pasekoje galite prarasti duomenis'
|
||||
PAGELOCATION: 'Puslapio vieta'
|
||||
PAGETITLE: 'Puslapio pavadinimas'
|
||||
PAGETYPE: 'Puslapio tipas'
|
||||
PARENTID: 'Tėvinis puslapis'
|
||||
PARENTTYPE: 'Puslapio vieta'
|
||||
PARENTTYPE_ROOT: 'Pagrindinis puslapis'
|
||||
PARENTTYPE_SUBPAGE: 'Puslapis išplečiantis pagrindinį (pasirinkite žemiau)'
|
||||
PERMISSION_GRANTACCESS_DESCRIPTION: 'Kontroliuoti kurios grupės gali matyti ir redaguoti specialius puslapius'
|
||||
PARENTTYPE_SUBPAGE: 'Puslapis po tėviniu puslapiu'
|
||||
PERMISSION_GRANTACCESS_DESCRIPTION: 'Valdyti turinio redagavimo teises'
|
||||
PERMISSION_GRANTACCESS_HELP: 'Leisti nustatyti puslapiui galiojančias specifines teises, "Puslapiai" skiltyje.'
|
||||
PLURALNAME: Puslapiai
|
||||
PageTypNotAllowedOnRoot: 'Puslapio tipas "{type}" neleidžiamas šakniniame lygmenyje'
|
||||
@ -355,8 +355,8 @@ lt:
|
||||
REMOVE_INSTALL_WARNING: 'Perspėjimas: Saugumo sumetimais Jūs turėtumėte pašalinti install.php bylą iš SilverStripe.'
|
||||
REORGANISE_DESCRIPTION: 'Gali keisti svetainės struktūrą'
|
||||
REORGANISE_HELP: 'Perrikiuoti puslapius naudojant Tempti/Mesti būdą.'
|
||||
SHOWINMENUS: 'Ar rodyti meniu?'
|
||||
SHOWINSEARCH: 'Ar rodyti paieškoje'
|
||||
SHOWINMENUS: 'Ar įtraukti į rodomą meniu?'
|
||||
SHOWINSEARCH: 'Rodyti paieškoje?'
|
||||
SINGULARNAME: Puslapis
|
||||
TABBEHAVIOUR: Elgsena
|
||||
TABCONTENT: 'Pagrindinis turinys'
|
||||
@ -364,7 +364,7 @@ lt:
|
||||
TOPLEVEL: 'Svetainės turinys (aukščiausias lygmuo)'
|
||||
TOPLEVELCREATORGROUPS: 'Aukščiausio lygmens kūrėjai'
|
||||
URLSegment: 'URL dalis'
|
||||
VIEWERGROUPS: 'Lankytojų grupė'
|
||||
VIEWERGROUPS: 'Lankytojų grupės'
|
||||
VIEW_ALL_DESCRIPTION: 'Gali peržiūrėti bet kurį puslapį svetainėje, apeinant puslapio peržiūros teises'
|
||||
VIEW_ALL_HELP: 'Galimybė peržiūrėti bet kurį puslapį svetainėje, nepriklausomai nuo "Priėjimo/Leidimų" skyriaus nustatymų. Būtinas leidimas "Prieiti prie svetainės turinio"'
|
||||
VIEW_DRAFT_CONTENT: 'Peržiūrėti juodraščio turinį'
|
||||
|
@ -75,7 +75,7 @@ nl:
|
||||
ACCESS: 'Toegang tot het ''{title}'' gedeelte'
|
||||
ACCESS_HELP: 'Bevoegdheid voor bekijken van pagina tak en inhoudssecties. Bekijk- en bewerkingstoestemmingen kunnen worden toegekend door pagina specifieke menu''s en het aparte "Inhoudsmachtigingen".'
|
||||
AddNew: 'Voeg nieuwe pagina toe'
|
||||
AddNewButton: 'Voeg nieuwe toe'
|
||||
AddNewButton: Nieuw
|
||||
ChoosePageParentMode: 'Kies waar u deze pagina wilt creëren'
|
||||
ChoosePageType: 'Kies een pagina type'
|
||||
Create: Creëer
|
||||
@ -158,7 +158,7 @@ nl:
|
||||
CMSSiteTreeFilter_ChangedPages:
|
||||
Title: 'Gewijzigde pagina''s'
|
||||
CMSSiteTreeFilter_DeletedPages:
|
||||
Title: 'Alle pagina\\''s, inclusief verwijderde'
|
||||
Title: 'Alle pagina''s (inclusief verwijderde)'
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'Alle pagina''s'
|
||||
ContentControl:
|
||||
@ -258,7 +258,7 @@ nl:
|
||||
SideReport:
|
||||
BROKENFILES: 'Pagina''s met verbroken bestanden'
|
||||
BROKENLINKS: 'Pagina''s met verbroken verwijzingen'
|
||||
BROKENREDIRECTORPAGES: 'RedirectorPages dit naar verwijderde pagina''s verwijzen'
|
||||
BROKENREDIRECTORPAGES: 'RedirectorPages die naar verwijderde pagina''s verwijzen'
|
||||
BROKENVIRTUALPAGES: 'VirtuelePagina''s die naar verwijderde pagina''s verwijzen'
|
||||
BrokenLinksGroupTitle: 'Verbroken verwijzingen raportage'
|
||||
ContentGroupTitle: Inhoudsrapportages
|
||||
|
20
lang/pl.yml
20
lang/pl.yml
@ -167,8 +167,8 @@ pl:
|
||||
ARCHIVEDSITE: 'Podgląd wersji'
|
||||
ARCHIVEDSITEFROM: 'Zarchiwizowana witryna od'
|
||||
CMS: 'System Zarządzania Treścią'
|
||||
DRAFTSITE: 'Strona nieopublikowana'
|
||||
DRAFT_SITE_ACCESS_RESTRICTION: 'Musisz zalogować się za pomocą swojego hasła do CMSa, aby obejrzeć brudnopis i zarchiwizowaną treść. <a href="%s">Kliknij tutaj aby powrócić do opublikowanej strony.</a>'
|
||||
DRAFTSITE: 'Szkic witryny'
|
||||
DRAFT_SITE_ACCESS_RESTRICTION: 'Musisz zalogować się za pomocą swojego hasła do CMSa, aby obejrzeć nieopublikowaną i zarchiwizowaną treść. <a href="%s">Kliknij tutaj aby powrócić do opublikowanej strony.</a>'
|
||||
Email: 'Adres e-mail'
|
||||
INSTALL_SUCCESS: 'Instalacja przebiegła pomyślnie'
|
||||
InstallFilesDeleted: 'Pliki instalacyjne zostały pomyślnie usunięte'
|
||||
@ -239,13 +239,13 @@ pl:
|
||||
DESCRIPTION: 'Przekierowuje do wskazanej wewnętrznej strony'
|
||||
HASBEENSETUP: 'Strona przekierowująca została ustawiona bez celu, do którego ma przekierowywać.'
|
||||
HEADER: 'Ta strona przeniesie użytkowników na inną stronę'
|
||||
OTHERURL: 'Inny adres URL strony'
|
||||
OTHERURL: 'Adres URL innej strony'
|
||||
PLURALNAME: 'Strony przekierowujące'
|
||||
REDIRECTTO: 'Przenieś do'
|
||||
REDIRECTTOEXTERNAL: 'Inna strona'
|
||||
REDIRECTTOPAGE: 'Strona na Twojej stronie www'
|
||||
REDIRECTTOPAGE: 'Strona na Twojej witrynie'
|
||||
SINGULARNAME: 'Strona przekierowująca'
|
||||
YOURPAGE: 'Strona na Twojej stronie www'
|
||||
YOURPAGE: 'Strona na Twojej witrynie'
|
||||
ReportAdmin:
|
||||
MENUTITLE: Raporty
|
||||
ReportTitle: Tytuł
|
||||
@ -275,7 +275,7 @@ pl:
|
||||
SiteConfig:
|
||||
DEFAULTTHEME: '(Użyj domyślnego szablonu)'
|
||||
EDITHEADER: 'Kto może edytować strony tego serwisu?'
|
||||
EDIT_PERMISSION: 'Zarządzanie konfiguracją strony'
|
||||
EDIT_PERMISSION: 'Zarządzanie konfiguracją serwisu'
|
||||
EDIT_PERMISSION_HELP: 'Możliwość edycji globalnych ustawień bezpieczeństwa/uprawnień do stron pierwszego poziomu.'
|
||||
PLURALNAME: 'Konfiguracje strony'
|
||||
SINGULARNAME: 'Konfiguracja strony'
|
||||
@ -309,8 +309,8 @@ pl:
|
||||
DEFAULTABOUTTITLE: 'O nas'
|
||||
DEFAULTCONTACTCONTENT: '<p>Możesz wypełnić tę stronę własną treścią, usunąć ją i tworzyć własne strony.<br /></p>'
|
||||
DEFAULTCONTACTTITLE: Kontakt
|
||||
DEFAULTHOMECONTENT: '<p>Witaj w SilverStripe! To jest domyślna strona domowa. Możesz ją edytować, otwierając <a href="admin/">CMS</a>. Możesz teraz otworzyć <a href="http://doc.silverstripe.com">dokumentację dla developerów</a>, lub rozpocząć <a href="http://doc.silverstripe.com/doku.php?id=tutorials">jeden z samouczyków.</a></p>'
|
||||
DEFAULTHOMETITLE: 'Strona Domowa'
|
||||
DEFAULTHOMECONTENT: '<p>Witaj w SilverStripe! To jest domyślna strona główna. Możesz ją edytować, otwierając <a href="admin/">CMS</a>. Możesz również otworzyć <a href="http://doc.silverstripe.com">dokumentację dla developerów</a>, lub rozpocząć <a href="http://doc.silverstripe.com/doku.php?id=tutorials">jeden z samouczków.</a></p>'
|
||||
DEFAULTHOMETITLE: 'Strona główna'
|
||||
DELETEDPAGEHELP: 'Strona nie jest już opublikowana'
|
||||
DELETEDPAGESHORT: Usunięty
|
||||
DEPENDENT_NOTE: 'Poniższe strony są zależne od tej (łącznie z wirtualnymi stronami, stronami przekierowującymi oraz stronami z treścią).'
|
||||
@ -331,9 +331,9 @@ pl:
|
||||
LINKCHANGENOTE: 'Zmiana linku na aktualnej stronie skutkuje zmianą w linkach stron potomnych.'
|
||||
MENUTITLE: 'Sekcja nawigacji'
|
||||
METADESC: Opis
|
||||
METADESCHELP: 'Search engines use this content for displaying search results (although it will not influence their ranking).'
|
||||
METADESCHELP: 'Wyszukiwarki używają tej zawartości do wyświetlania wyników wyszukiwania (aczkolwiek nie zmieni to ich miejsca w rankingu)'
|
||||
METAEXTRA: 'Własne meta tagi'
|
||||
METAEXTRAHELP: 'HTML tags for additional meta information. For example <meta name="customName" content="your custom content here" />'
|
||||
METAEXTRAHELP: 'Tagi HTML dla dodatkowych informacji. Na przykład <meta name="niestandardowaNazwa" content="twoja zawartość" />'
|
||||
MODIFIEDONDRAFTHELP: 'Na stronie znajdują się nieopublikowane zmiany'
|
||||
MODIFIEDONDRAFTSHORT: Zmodyfikowana
|
||||
MetadataToggle: Metadane
|
||||
|
22
lang/pt.yml
22
lang/pt.yml
@ -133,13 +133,13 @@ pt:
|
||||
CMSPageHistoryController_versions.ss:
|
||||
AUTHOR: Autor
|
||||
NOTPUBLISHED: 'Não publicada'
|
||||
PUBLISHER: Издатель
|
||||
UNKNOWN: Неизвестно
|
||||
PUBLISHER: Publicador
|
||||
UNKNOWN: Desconhecido
|
||||
WHEN: Quando
|
||||
CMSPageSettingsController:
|
||||
MENUTITLE: 'Editar página'
|
||||
CMSPagesController:
|
||||
GalleryView: 'Обзор галереи'
|
||||
GalleryView: 'Vista de galeria'
|
||||
ListView: 'Vista em lista'
|
||||
MENUTITLE: Páginas
|
||||
TreeView: 'Vista em árvore'
|
||||
@ -218,11 +218,11 @@ pt:
|
||||
504: '504 - Gateway Timeout'
|
||||
505: '505 - Versão HTTP não suportada'
|
||||
Folder:
|
||||
AddFolderButton: 'Добавить папку'
|
||||
DELETEUNUSEDTHUMBNAILS: 'Apagar miniaturas não usadas'
|
||||
AddFolderButton: 'Adicionar pasta'
|
||||
DELETEUNUSEDTHUMBNAILS: 'Apagar miniaturas não utilizadas'
|
||||
UNUSEDFILESTITLE: 'Ficheiros não utilizados'
|
||||
UNUSEDTHUMBNAILSTITLE: 'Miniaturas não usadas'
|
||||
UploadFilesButton: Загрузить
|
||||
UNUSEDTHUMBNAILSTITLE: 'Miniaturas não utilizadas'
|
||||
UploadFilesButton: Submeter
|
||||
LeftAndMain:
|
||||
DELETED: Apagada
|
||||
PreviewButton: Pré-visualização
|
||||
@ -236,7 +236,7 @@ pt:
|
||||
CONTENT_CATEGORY: 'Permissões de conteúdo'
|
||||
PERMISSIONS_CATEGORY: 'Regras e permissões de acesso'
|
||||
RedirectorPage:
|
||||
DESCRIPTION: 'Переадресовывать на другую внутреннюю страницу'
|
||||
DESCRIPTION: 'Redirecionar para outra página interna'
|
||||
HASBEENSETUP: 'Uma página de redireccionamento foi criada sem nenhum destino.'
|
||||
HEADER: 'Esta página irá redireccionar os utilizadores para outra página'
|
||||
OTHERURL: 'Outro Site'
|
||||
@ -379,8 +379,8 @@ pt:
|
||||
HelpChars: 'Os caracteres especiais são automaticamente convertido ou removidos.'
|
||||
StaticExporter:
|
||||
BASEURL: 'URL base'
|
||||
EXPORTTO: 'Exportar para essa pasta'
|
||||
NAME: 'Статичный проводник'
|
||||
EXPORTTO: 'Exportar para esta pasta'
|
||||
NAME: 'Exportar estaticamente'
|
||||
TableListField:
|
||||
SELECT: 'Escolha:'
|
||||
TableListField.ss:
|
||||
@ -402,7 +402,7 @@ pt:
|
||||
HAVEASKED: 'Pediu para ver o conteúdo do nosso site na'
|
||||
VirtualPage:
|
||||
CHOOSE: 'Escolha uma página para onde redireccionar'
|
||||
DESCRIPTION: 'Показывать содержание другой страницы'
|
||||
DESCRIPTION: 'Apresentar o conteúdo de outra página'
|
||||
EDITCONTENT: 'clique aqui para editar o conteúdo'
|
||||
HEADER: 'Esta é uma página virtual'
|
||||
PLURALNAME: 'Páginas Virtuais'
|
||||
|
16
lang/ru.yml
16
lang/ru.yml
@ -30,7 +30,7 @@ ru:
|
||||
AssetAdmin_Tools:
|
||||
FILTER: Фильтр
|
||||
AssetAdmin_left.ss:
|
||||
GO: Перейти
|
||||
GO: Выбрать
|
||||
AssetTableField:
|
||||
BACKLINKCOUNT: 'Используется на:'
|
||||
PAGES: страниц
|
||||
@ -137,9 +137,9 @@ ru:
|
||||
UNKNOWN: Неизвестно
|
||||
WHEN: Когда
|
||||
CMSPageSettingsController:
|
||||
MENUTITLE: 'Править страницы'
|
||||
MENUTITLE: 'Править страницу'
|
||||
CMSPagesController:
|
||||
GalleryView: 'Обзор галереи'
|
||||
GalleryView: 'В виде галереи'
|
||||
ListView: 'Обзор списка'
|
||||
MENUTITLE: Страницы
|
||||
TreeView: 'Обзор дерева'
|
||||
@ -151,7 +151,7 @@ ru:
|
||||
CMSSearch:
|
||||
FILTERDATEFROM: От
|
||||
FILTERDATEHEADING: Дата
|
||||
FILTERDATETO: Кому
|
||||
FILTERDATETO: До
|
||||
FILTERLABELTEXT: Содержимое
|
||||
CMSSettingsController:
|
||||
MENUTITLE: Настройки
|
||||
@ -323,10 +323,10 @@ ru:
|
||||
EDITORGROUPS: 'Группы редактирования'
|
||||
EDIT_ALL_DESCRIPTION: 'Редактирование любой страницы'
|
||||
EDIT_ALL_HELP: 'Возможность редактировать любую страницу на сайте независимо от настроек во вкладке "Доступ". Необходимо право доступа к разделу "Страницы".'
|
||||
Editors: 'Группы редакторов'
|
||||
Editors: 'Группы редактирования'
|
||||
HASBROKENLINKS: 'Эта страница содержит неверные ссылки.'
|
||||
HTMLEDITORTITLE: Содержимое
|
||||
INHERIT: 'Такие же как у родительской страницы'
|
||||
INHERIT: 'Перенять от родительской страницы'
|
||||
LASTUPDATED: 'Последнее обновление'
|
||||
LINKCHANGENOTE: 'Изменение ссылки на эту страницу повлияет и на ссылки всех дочерних страниц.'
|
||||
MENUTITLE: 'Метка в навигации'
|
||||
@ -373,7 +373,7 @@ ru:
|
||||
Visibility: Отображение
|
||||
has_one_Parent: 'Родительская страница'
|
||||
many_many_BackLinkTracking: 'Отслеживание обратных ссылок'
|
||||
many_many_ImageTracking: 'Отслеживание картинок'
|
||||
many_many_ImageTracking: 'Отслеживание изображений'
|
||||
many_many_LinkTracking: 'Отслеживание ссылок'
|
||||
SiteTreeURLSegmentField:
|
||||
HelpChars: 'Спецсимволы автоматически конвертируются или удаляются.'
|
||||
@ -401,7 +401,7 @@ ru:
|
||||
CANACCESS: 'Вы можете посмотреть архивную версию сайта по этой ссылке:'
|
||||
HAVEASKED: 'Вы запросили просмотр содержимого нашего сайта за'
|
||||
VirtualPage:
|
||||
CHOOSE: 'Выберите страницу, на которую ссылаетесь,'
|
||||
CHOOSE: 'Выберите страницу, на которую ссылаетесь'
|
||||
DESCRIPTION: 'Показать содержимое других страниц'
|
||||
EDITCONTENT: 'Нажмите здесь для редактирования содержимого'
|
||||
HEADER: 'Это виртуальная страница'
|
||||
|
60
lang/sk.yml
60
lang/sk.yml
@ -20,7 +20,7 @@ sk:
|
||||
Filetype: 'Typ súboru'
|
||||
ListView: 'Zobraziť zoznam'
|
||||
MENUTITLE: Súbory
|
||||
NEWFOLDER: 'Nový Adresár'
|
||||
NEWFOLDER: 'Nový priečinok'
|
||||
SIZE: Veľkosť
|
||||
THUMBSDELETED: '{count} nepoužitých miniatúr bolo smazaných'
|
||||
TreeView: 'Zobraziť strom'
|
||||
@ -30,7 +30,7 @@ sk:
|
||||
AssetAdmin_Tools:
|
||||
FILTER: Filtrovať
|
||||
AssetAdmin_left.ss:
|
||||
GO: Vykonať
|
||||
GO: Choď
|
||||
AssetTableField:
|
||||
BACKLINKCOUNT: 'Použité na:'
|
||||
PAGES: stránka(y)
|
||||
@ -56,7 +56,7 @@ sk:
|
||||
ReasonDropdownBROKENLINK: 'Porušnený odkaz'
|
||||
ReasonDropdownRPBROKENLINK: 'Presmerovacia stránka ukazuje na neexistujúcu stránku'
|
||||
ReasonDropdownVPBROKENLINK: 'Virtuálna stránka odkazuje na ne-existujúcu stránku'
|
||||
RedirectorNonExistent: 'presmerovávacia stránka odkazuje na ne-existujúcu stránku'
|
||||
RedirectorNonExistent: 'presmerovacia stránka ukazuje na neexistujúcu stránku'
|
||||
VirtualPageNonExistent: 'virtuálna stránka odkazuje na ne-existujúcu stránku'
|
||||
CMSAddPageController:
|
||||
Title: 'Pridať stránku'
|
||||
@ -64,11 +64,11 @@ sk:
|
||||
DELETED_DRAFT_PAGES: 'Smazaných %d stránok z konceptu webu, %d zlyhaní'
|
||||
DELETED_PAGES: 'Smazaných %d stránok z verejného webu, %d zlyhaní'
|
||||
DELETE_DRAFT_PAGES: 'Vymazať z návhrového webu'
|
||||
DELETE_PAGES: 'Vymazať z publikovaného webu'
|
||||
DELETE_PAGES: 'Vymazať z verejného webu'
|
||||
PUBLISHED_PAGES: 'Publikovaných %d stránok, %d zlyhaní'
|
||||
PUBLISH_PAGES: Publikovať
|
||||
UNPUBLISHED_PAGES: 'Od-publikované %d stranky'
|
||||
UNPUBLISH_PAGES: Od-publikovať
|
||||
PUBLISH_PAGES: Zverejniť
|
||||
UNPUBLISHED_PAGES: 'Ne-zverejnené %d stranky'
|
||||
UNPUBLISH_PAGES: Ne-zverejniť
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Súbory
|
||||
CMSMain:
|
||||
@ -91,7 +91,7 @@ sk:
|
||||
PAGES: Stránky
|
||||
PAGETYPEANYOPT: Akákoľvek
|
||||
PAGETYPEOPT: 'Typ stránky'
|
||||
PUBALLCONFIRM: 'Publikovať všetky stránky z úschovne'
|
||||
PUBALLCONFIRM: 'Prosím, zverejnite všetky stránky webu, zkopírovaním obsahu na verejné'
|
||||
PUBALLFUN: 'Funkcia "Publikovať všetko"'
|
||||
PUBALLFUN2: 'Stlačením tohto tlačidla vykonáte to isté ako keby ste navštívili každú stránku a stlačili "publikuj". Je určené na použite po rozsiahlych zmenách obsahu, napríklad keď bol web prvýkrát vytvorený.'
|
||||
PUBPAGES: 'Hotovo: Publikované {count} stránky'
|
||||
@ -165,7 +165,7 @@ sk:
|
||||
NOTEWONTBESHOWN: 'Poznámka: Táto správa sa nebude zobrazovať vašim návštevníkom'
|
||||
ContentController:
|
||||
ARCHIVEDSITE: 'Zobrazenie verzie'
|
||||
ARCHIVEDSITEFROM: 'Archívovaná stránka z'
|
||||
ARCHIVEDSITEFROM: 'Archivovaný web z'
|
||||
CMS: CMS
|
||||
DRAFTSITE: 'Koncept webu'
|
||||
DRAFT_SITE_ACCESS_RESTRICTION: 'Pre zobrazenie návrhov alebo archivovaného obsahu sa musíte prihlásiť so svojím CMS heslom. <a href="%s">Pre návrat na publikovaný web kliknite Tu.</a>'
|
||||
@ -178,7 +178,7 @@ sk:
|
||||
LOGIN: Prihlásiť
|
||||
LOGOUT: Odhlásiť
|
||||
NOTLOGGEDIN: Neprihlásený
|
||||
PUBLISHEDSITE: 'Publikovaný web'
|
||||
PUBLISHEDSITE: 'Verejný web'
|
||||
Password: Heslo
|
||||
PostInstallTutorialIntro: 'Tento web je zjednodušená verzia SilverStripe 3. webu. Pre rošírenie, pozrite sa na {link}, prosím.'
|
||||
StartEditing: 'Môžte začať editáciu vášho web obsahu otvorením <a href="{link}">CMS</a>.'
|
||||
@ -219,9 +219,9 @@ sk:
|
||||
505: '505 - HTTP verzia nie je podporovaná'
|
||||
Folder:
|
||||
AddFolderButton: 'Pridať priečinok'
|
||||
DELETEUNUSEDTHUMBNAILS: 'Vymazať nepoužívané náhĺady obrázkov'
|
||||
UNUSEDFILESTITLE: 'Nepoužívané súbory'
|
||||
UNUSEDTHUMBNAILSTITLE: 'Nepoužívané náhĺady obrázkov'
|
||||
DELETEUNUSEDTHUMBNAILS: 'Vymazať nepoužité miniatúry'
|
||||
UNUSEDFILESTITLE: 'Nepoužité súbory'
|
||||
UNUSEDTHUMBNAILSTITLE: 'Nepoužité miniatúry'
|
||||
UploadFilesButton: Nahrať
|
||||
LeftAndMain:
|
||||
DELETED: Smazané.
|
||||
@ -239,13 +239,13 @@ sk:
|
||||
DESCRIPTION: 'Presmeruje na inú internú stránku'
|
||||
HASBEENSETUP: 'Stránka na presmerovanie bola nastavená bez cieľa.'
|
||||
HEADER: 'Táto stránka presmeruje používateľov na inú stránku'
|
||||
OTHERURL: 'Inú webovú URL adresu.'
|
||||
OTHERURL: 'Iné webové URL.'
|
||||
PLURALNAME: 'Presmerovacie stránky'
|
||||
REDIRECTTO: 'Presmerovať na'
|
||||
REDIRECTTOEXTERNAL: 'Inú webovú stránku'
|
||||
REDIRECTTOPAGE: 'Stránku na Vašom webe'
|
||||
REDIRECTTOEXTERNAL: 'Iná webová stránka'
|
||||
REDIRECTTOPAGE: 'Stránka na vašom webe'
|
||||
SINGULARNAME: 'Presmerovacia stránka'
|
||||
YOURPAGE: 'Stránku na Vašom webe'
|
||||
YOURPAGE: 'Stránka na vašom webe'
|
||||
ReportAdmin:
|
||||
MENUTITLE: Výkazy
|
||||
ReportTitle: Titulok
|
||||
@ -260,8 +260,8 @@ sk:
|
||||
BROKENLINKS: 'Stránky z poškodenými odkazmi'
|
||||
BROKENREDIRECTORPAGES: 'Presmerovacie stránky ukazujú na smazané stránky'
|
||||
BROKENVIRTUALPAGES: 'Virtuálne stránky odkazujú na vymazané stránky'
|
||||
BrokenLinksGroupTitle: 'Správy o poškodených odkazoch'
|
||||
ContentGroupTitle: 'Správy o obsahu'
|
||||
BrokenLinksGroupTitle: 'Výkazy porušených odkazov'
|
||||
ContentGroupTitle: 'Výkazy obsahu'
|
||||
EMPTYPAGES: 'Prázdne stránky'
|
||||
LAST2WEEKS: 'Stránky upravené počaas posledných 2 týždňov'
|
||||
OtherGroupTitle: Ostatné
|
||||
@ -269,19 +269,19 @@ sk:
|
||||
REPEMPTY: '{title} výkaz je prázdny.'
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Pre zdielanie tejto stránky, skopírujte linku nižšie.'
|
||||
ShareLink: 'Zdieľať linku'
|
||||
ShareLink: 'Zdieľať odkaz'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Zavrieť
|
||||
SiteConfig:
|
||||
DEFAULTTHEME: '(Použi predvolenú tému)'
|
||||
EDITHEADER: 'Kto môže upravovať stranky na tomto webe?'
|
||||
EDIT_PERMISSION: 'Spravovať nastavenia webu'
|
||||
EDITHEADER: 'Kto môže editovať stránky na tomto webe?'
|
||||
EDIT_PERMISSION: 'Spravovať konfiguráciu webu'
|
||||
EDIT_PERMISSION_HELP: 'Možnosť meniť globálne prístupové nastavenia/právomoci pre hlavné stránky.'
|
||||
PLURALNAME: 'Konfigurácie webu'
|
||||
SINGULARNAME: 'Konfigurácia webu'
|
||||
SITENAMEDEFAULT: 'Názov vášho webu'
|
||||
SITETAGLINE: 'Slogan stránky'
|
||||
SITETITLE: 'Titulok stránky'
|
||||
SITETITLE: 'Titulok webu'
|
||||
TABACCESS: Prístup
|
||||
TABMAIN: Hlavné
|
||||
TAGLINEDEFAULT: 'váš citát sem'
|
||||
@ -290,7 +290,7 @@ sk:
|
||||
VIEWHEADER: 'Kto môže vidieť stránky na tomto webe?'
|
||||
SiteTree:
|
||||
ACCESSANYONE: Ktokoľvek
|
||||
ACCESSHEADER: 'Kto si môže prezerať túto stránku?'
|
||||
ACCESSHEADER: 'Kto môže prezerať túto stránku?'
|
||||
ACCESSLOGGEDIN: 'Prihlásení používatelia'
|
||||
ACCESSONLYTHESE: 'Iba títo ľudia (vyberte zo zoznamu)'
|
||||
ADDEDTODRAFTHELP: 'Stránka ešte nebola zverejnená'
|
||||
@ -313,7 +313,7 @@ sk:
|
||||
DEFAULTHOMETITLE: Domov
|
||||
DELETEDPAGEHELP: 'Stránka už nie je viacej zverejnená'
|
||||
DELETEDPAGESHORT: Smazané
|
||||
DEPENDENT_NOTE: 'Nasledujúce stránky sú závislé na tejto stránke. To zahŕňa virtuálne stránky, presmerovania a stránky s odkazmi.'
|
||||
DEPENDENT_NOTE: 'Nasledujúce stránky sú závislé na tejto stránke. To zahŕňa virtuálne stránky, presmerovacie stránky a stránky s odkazmi obsahu.'
|
||||
DESCRIPTION: 'Obecný obsah stránky'
|
||||
DependtPageColumnLinkType: 'Typ odkazu'
|
||||
DependtPageColumnURL: URL
|
||||
@ -328,7 +328,7 @@ sk:
|
||||
HTMLEDITORTITLE: Obsah
|
||||
INHERIT: 'Dediť od nadradenej stránky'
|
||||
LASTUPDATED: 'Posledne aktualizované'
|
||||
LINKCHANGENOTE: 'Zmenenie odkazu na tejto stránke ovplyní aj odkazy na všetkých podstránkach.'
|
||||
LINKCHANGENOTE: 'Zmenenie odkazu tejto stránky ovplyvní tiež odkazy všetkých podstránok.'
|
||||
MENUTITLE: 'Navigačná menovka'
|
||||
METADESC: 'Meta Popis'
|
||||
METADESCHELP: 'Vyhľadávače používajú tento obsah pre zobrazovanie výsledkov vyhľadávania (aj keď to nebude mať vplyv na ich hodnotenie).'
|
||||
@ -339,7 +339,7 @@ sk:
|
||||
MetadataToggle: Metaúdaje
|
||||
OBSOLETECLASS: 'Táto stránka je zastaralý typ {type}. Uloženie spôsobí stratu jeho typu a vy môžte stratiť dáta'
|
||||
PAGELOCATION: 'Pozícia stránky'
|
||||
PAGETITLE: 'Meno stránky'
|
||||
PAGETITLE: 'Názov stránky'
|
||||
PAGETYPE: 'Typ stránky'
|
||||
PARENTID: 'Nadradená stránka'
|
||||
PARENTTYPE: 'Pozícia stránky'
|
||||
@ -378,8 +378,8 @@ sk:
|
||||
SiteTreeURLSegmentField:
|
||||
HelpChars: 'Špeciálne znaky sú automaticky zkonvertované alebo ostránené.'
|
||||
StaticExporter:
|
||||
BASEURL: 'Základná URL adresa'
|
||||
EXPORTTO: 'Exportovať do tohto adresára'
|
||||
BASEURL: 'Základné URL'
|
||||
EXPORTTO: 'Exportovať do tohto priečinka'
|
||||
NAME: 'Statický export'
|
||||
TableListField:
|
||||
SELECT: 'Vyberte:'
|
||||
@ -407,4 +407,4 @@ sk:
|
||||
HEADER: 'Toto je virtuálna stránka'
|
||||
PLURALNAME: 'Virtuálne stránky'
|
||||
PageTypNotAllowedOnRoot: 'Pôvodná stránka typu "{type}" nie je povolená na najvyššej úrovni pre túto virtuálnu stránku'
|
||||
SINGULARNAME: 'Virtuálné stránka'
|
||||
SINGULARNAME: 'Virtuálna stránka'
|
||||
|
12
lang/sv.yml
12
lang/sv.yml
@ -73,14 +73,14 @@ sv:
|
||||
MENUTITLE: Filer
|
||||
CMSMain:
|
||||
ACCESS: 'Tillgång till sektionen ''{title}'''
|
||||
ACCESS_HELP: 'Tillåt visning av det avsnitt som innehåller sidträdet och dess innehåll. Visa och redigera behörigheter kan hanteras på sidans specifika dropdownmenyerna, liksom de separata "behörigheter innehåll".'
|
||||
ACCESS_HELP: 'Tillåt visning av sektionen innehållande sidträdet och dess innehåll. Rättigheter att visa och redigera sidan kan hanteras i dess rullgardinsmenyer, liksom i "Innehållsbehörigheter".'
|
||||
AddNew: 'Skapa ny sida'
|
||||
AddNewButton: 'Skapa ny'
|
||||
ChoosePageParentMode: 'Välj var du vill skapa denna sida'
|
||||
ChoosePageType: 'Välj sidtyp'
|
||||
Create: Skapa
|
||||
DELETE: 'Radera utkast'
|
||||
DELETEFP: 'Radera från den publicerade sajten'
|
||||
DELETEFP: Radera
|
||||
DESCREMOVED: 'och {count} ättlingar'
|
||||
EMAIL: E-post
|
||||
EditTree: 'Redigera trädet'
|
||||
@ -252,7 +252,7 @@ sv:
|
||||
ReportAdminForm:
|
||||
FILTERBY: 'Filtrera på'
|
||||
SearchForm:
|
||||
GO: Gå
|
||||
GO: Kör
|
||||
SEARCH: Sök
|
||||
SearchResults: Sökresultat
|
||||
SideReport:
|
||||
@ -260,7 +260,7 @@ sv:
|
||||
BROKENLINKS: 'Sidor med trasiga länkar'
|
||||
BROKENREDIRECTORPAGES: 'Omdirigeringssidor som pekar på raderade sidor'
|
||||
BROKENVIRTUALPAGES: 'Virtuella sidor som pekar på raderade sidor'
|
||||
BrokenLinksGroupTitle: 'Rapport för brutna länkar'
|
||||
BrokenLinksGroupTitle: 'Rapport för trasiga länkar'
|
||||
ContentGroupTitle: Innehållsrapport
|
||||
EMPTYPAGES: 'Tomma sidor'
|
||||
LAST2WEEKS: 'Sidor som har redigerats de senaste 2 veckorna'
|
||||
@ -314,7 +314,7 @@ sv:
|
||||
DELETEDPAGEHELP: 'Sidan är inte längre publicerad'
|
||||
DELETEDPAGESHORT: Raderad
|
||||
DEPENDENT_NOTE: 'Följande sidor berörs av den här sidan. Inklusive virtuella sidor, omdirigeringssidor, och sidor med innehållslänkar.'
|
||||
DESCRIPTION: 'Allmän innehållssida'
|
||||
DESCRIPTION: 'Generisk innehållssida'
|
||||
DependtPageColumnLinkType: Länktyp
|
||||
DependtPageColumnURL: URL
|
||||
EDITANYONE: 'Alla som kan logga in'
|
||||
@ -399,7 +399,7 @@ sv:
|
||||
DisplayLabel: 'Visa:'
|
||||
ViewArchivedEmail.ss:
|
||||
CANACCESS: 'Du kan komma åt den arkiverade sajten med denna länk:'
|
||||
HAVEASKED: 'Du har frågat efter att få se innehållet på vår sajt från'
|
||||
HAVEASKED: 'Du har efterfrågat att se innehållet på vår sajt på'
|
||||
VirtualPage:
|
||||
CHOOSE: 'Välj en sida att länka till'
|
||||
DESCRIPTION: 'Visar innehåll från en annan sida'
|
||||
|
10
lang/uk.yml
10
lang/uk.yml
@ -72,7 +72,7 @@ uk:
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Файли
|
||||
CMSMain:
|
||||
ACCESS: 'Access to ''{title}'' section'
|
||||
ACCESS: 'Доступ до секції ''{title}'' '
|
||||
ACCESS_HELP: 'Дозволити перегляд розділу, що містить дерево сторінок і зміст. Дозволами на перегляд та редагування, а також окремими дозволами на контент, можна керувати на відповідних сторінках.'
|
||||
AddNew: 'Додати нову сторінку'
|
||||
AddNewButton: 'Додати новий'
|
||||
@ -81,7 +81,7 @@ uk:
|
||||
Create: Створити
|
||||
DELETE: 'Видалити з чорнового сайту'
|
||||
DELETEFP: Видалити
|
||||
DESCREMOVED: 'and {count} descendants'
|
||||
DESCREMOVED: 'і {count} нащадків'
|
||||
EMAIL: 'Електронна пошта'
|
||||
EditTree: 'Edit Tree'
|
||||
ListFiltered: 'Filtered list.'
|
||||
@ -97,12 +97,12 @@ uk:
|
||||
PUBPAGES: 'Done: Published {count} pages'
|
||||
PageAdded: 'Сторінка успішно створена'
|
||||
REMOVED: 'Видалено ''%s''%s з публічного сайту'
|
||||
REMOVEDPAGE: 'Removed ''{title}'' from the published site'
|
||||
REMOVEDPAGE: '''{title}'' видалено з публічного сайту'
|
||||
REMOVEDPAGEFROMDRAFT: 'Видалено ''%s'' з чорнового сайту'
|
||||
RESTORE: Відновити
|
||||
RESTORED: 'Restored ''{title}'' successfully'
|
||||
ROLLBACK: 'Повернутися до цієї версії'
|
||||
ROLLEDBACKPUB: 'Rolled back to published version. New version number is #{version}'
|
||||
ROLLEDBACKPUB: 'Повернено до опублікованої версії. Нова версія #{version}'
|
||||
ROLLEDBACKVERSION: 'Повернено версію #%d. Нова версія - #%d'
|
||||
SAVE: Зберегти
|
||||
SAVEDRAFT: 'Зберегти в чорновий'
|
||||
@ -268,7 +268,7 @@ uk:
|
||||
ParameterLiveCheckbox: 'Перевірити робочий сайт'
|
||||
REPEMPTY: 'The {title} report is empty.'
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'To share a this to this page, copy and paste the link below.'
|
||||
ShareInstructions: 'Щоб поділитися цією сторінкою, скопіюйте та вставте посилання нижче.'
|
||||
ShareLink: 'Поділитися посиланням'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Закрити
|
||||
|
@ -98,23 +98,26 @@
|
||||
background: url(../images/loading.gif) no-repeat 162px 8px;
|
||||
}
|
||||
|
||||
.prefix,
|
||||
.preview {
|
||||
padding-top: 8px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.prefix {
|
||||
color: #777;
|
||||
input.text {
|
||||
width: 250px; // ensure there's enough room for buttons
|
||||
}
|
||||
|
||||
.cancel, .update, .edit {
|
||||
margin-left: 7px;
|
||||
input.text, .cancel, .update, .edit {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.help {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.edit-holder {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
#Form_EditForm #Title .update {
|
||||
|
@ -87,7 +87,7 @@ class RebuildStaticCacheTask extends Controller {
|
||||
$count = isset($_GET['count']) ? $_GET['count'] : sizeof($urls);
|
||||
if(($start + $count) > sizeof($urls)) $count = sizeof($urls) - $start;
|
||||
|
||||
$urls = array_slice($urls, $start, $count);
|
||||
$mappedUrls = array_slice($mappedUrls, $start, $count);
|
||||
|
||||
if($removeAll && !isset($_GET['urls']) && $start == 0 && file_exists("../cache")) {
|
||||
echo "Removing stale cache files... \n";
|
||||
|
@ -1,4 +1,18 @@
|
||||
<span class="prefix">$URLPrefix</span><input $AttributesHTML />
|
||||
<% if HelpText %>
|
||||
<p class="help">$HelpText</p>
|
||||
<% end_if %>
|
||||
<div class="preview-holder">
|
||||
<a class="preview" href="$URL" target="_blank">
|
||||
$URL
|
||||
</a>
|
||||
<button class="ss-ui-button ss-ui-button-small edit">
|
||||
<% _t('URLSegmentField.Edit', 'Edit') %>
|
||||
</button>
|
||||
</div>
|
||||
<div class="edit-holder">
|
||||
<input $AttributesHTML />
|
||||
<button class="update ss-ui-button-small">
|
||||
<% _t('URLSegmentField.OK', 'OK') %>
|
||||
</button>
|
||||
<button class="cancel ss-ui-button-small ss-ui-action-minor">
|
||||
<% _t('URLSegmentField.Cancel', 'Cancel') %>
|
||||
</button>
|
||||
<% if HelpText %><p class="help">$HelpText</p><% end_if %>
|
||||
</div>
|
@ -24,7 +24,10 @@ class ContentControllerPermissionsTest extends FunctionalTest {
|
||||
$response = $this->get('/testpage/?stage=Stage');
|
||||
// should redirect to login
|
||||
$this->assertEquals($response->getStatusCode(), 302, 'Redirects to login page when not logged in for draft stage');
|
||||
$this->assertContains('Security/login', $response->getHeader('Location'));
|
||||
$this->assertContains(
|
||||
Config::inst()->get('Security', 'login_url'),
|
||||
$response->getHeader('Location')
|
||||
);
|
||||
|
||||
$this->logInWithPermission('CMS_ACCESS_CMSMain');
|
||||
|
||||
|
@ -42,7 +42,10 @@ class SiteTreePermissionsTest extends FunctionalTest {
|
||||
// should be prompted for a login
|
||||
$response = $this->get($page->URLSegment . '?stage=Stage');
|
||||
$this->assertEquals($response->getStatusCode(), '302');
|
||||
$this->assertContains('Security/login', $response->getHeader('Location'));
|
||||
$this->assertContains(
|
||||
Config::inst()->get('Security', 'login_url'),
|
||||
$response->getHeader('Location')
|
||||
);
|
||||
|
||||
$this->logInWithPermission('ADMIN');
|
||||
|
||||
|
@ -10,6 +10,8 @@ class FilesystemPublisherTest extends SapphireTest {
|
||||
protected $usesDatabase = true;
|
||||
|
||||
protected $orig = array();
|
||||
|
||||
static $fixture_file = 'cms/tests/staticpublisher/FilesystemPublisherTest.yml';
|
||||
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
@ -156,5 +158,41 @@ class FilesystemPublisherTest extends SapphireTest {
|
||||
|
||||
|
||||
}
|
||||
|
||||
function testPublishPages() {
|
||||
$cacheFolder = '/assets/FilesystemPublisherTest-static-folder/';
|
||||
$cachePath = Director::baseFolder() . $cacheFolder;
|
||||
$publisher = new FilesystemPublisher($cacheFolder, 'html');
|
||||
$page1 = $this->objFromFixture('Page', 'page1');
|
||||
$page1->publish('Stage', 'Live');
|
||||
$redirector1 = $this->objFromFixture('RedirectorPage', 'redirector1');
|
||||
$redirector1->publish('Stage', 'Live');
|
||||
|
||||
$results = $publisher->publishPages(array(
|
||||
$page1->Link(),
|
||||
$redirector1->regularLink(),
|
||||
'/notfound'
|
||||
));
|
||||
|
||||
$this->assertArrayHasKey($page1->Link(), $results);
|
||||
$this->assertEquals(200, $results[$page1->Link()]['statuscode']);
|
||||
$this->assertEquals(
|
||||
realpath($results[$page1->Link()]['path']),
|
||||
realpath($cachePath . './page1.html')
|
||||
);
|
||||
|
||||
$this->assertArrayHasKey($redirector1->regularLink(), $results);
|
||||
$this->assertEquals(301, $results[$redirector1->regularLink()]['statuscode']);
|
||||
$this->assertEquals(Director::baseURL() . 'page1/', $results[$redirector1->regularLink()]['redirect']);
|
||||
$this->assertEquals(
|
||||
realpath($results[$redirector1->regularLink()]['path']),
|
||||
realpath($cachePath . './redirect-to-page1.html')
|
||||
);
|
||||
|
||||
$this->assertArrayHasKey('/notfound', $results);
|
||||
$this->assertEquals(404, $results['/notfound']['statuscode']);
|
||||
$this->assertNull($results['/notfound']['redirect']);
|
||||
$this->assertNull($results['/notfound']['path']);
|
||||
}
|
||||
|
||||
}
|
||||
|
12
tests/staticpublisher/FilesystemPublisherTest.yml
Normal file
12
tests/staticpublisher/FilesystemPublisherTest.yml
Normal file
@ -0,0 +1,12 @@
|
||||
Page:
|
||||
page1:
|
||||
URLSegment: page1
|
||||
page1a:
|
||||
URLSegment: page1a
|
||||
Parent: =>Page.page1
|
||||
page2:
|
||||
URLSegment: page2
|
||||
RedirectorPage:
|
||||
redirector1:
|
||||
URLSegment: redirect-to-page1
|
||||
LinkTo: =>Page.page1
|
@ -15,8 +15,8 @@ echo ""
|
||||
# Fetch all dependencies
|
||||
# TODO Replace with different composer.json variations
|
||||
|
||||
echo "Checking out installer@$TRAVIS_BRANCH"
|
||||
git clone --depth=100 --quiet -b $TRAVIS_BRANCH git://github.com/silverstripe/silverstripe-installer.git $BUILD_DIR
|
||||
echo "Checking out installer@3.1"
|
||||
git clone --depth=100 --quiet -b 3.1 git://github.com/silverstripe/silverstripe-installer.git $BUILD_DIR
|
||||
|
||||
echo "Checking out sqlite3@master"
|
||||
git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-sqlite3.git $BUILD_DIR/sqlite3
|
||||
@ -24,8 +24,8 @@ git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-sq
|
||||
echo "Checking out postgresql@master"
|
||||
git clone --depth=100 --quiet git://github.com/silverstripe/silverstripe-postgresql.git $BUILD_DIR/postgresql
|
||||
|
||||
echo "Checking out sapphire@$TRAVIS_BRANCH"
|
||||
git clone --depth=100 --quiet -b $TRAVIS_BRANCH git://github.com/silverstripe/sapphire.git $BUILD_DIR/framework
|
||||
echo "Checking out sapphire@3.1"
|
||||
git clone --depth=100 --quiet -b 3.1 git://github.com/silverstripe/sapphire.git $BUILD_DIR/framework
|
||||
|
||||
echo "Checking out reports@master"
|
||||
git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-reports.git $BUILD_DIR/reports
|
||||
|
Loading…
Reference in New Issue
Block a user