mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
Merge remote-tracking branch 'origin/3'
Conflicts: code/controllers/AssetAdmin.php code/controllers/CMSMain.php code/controllers/CMSSiteTreeFilter.php code/controllers/LeftAndMainPageIconsExtension.php code/controllers/ModelAsController.php code/controllers/SilverStripeNavigator.php code/model/ErrorPage.php code/model/SiteTreeFileExtension.php
This commit is contained in:
commit
18e368448a
@ -297,6 +297,7 @@ JS
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
$fields->setForm($form);
|
||||
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
|
||||
// TODO Can't merge $FormAttributes in template at the moment
|
||||
@ -338,8 +339,8 @@ JS
|
||||
$record->delete();
|
||||
$this->setCurrentPageID(null);
|
||||
|
||||
$this->response->addHeader('X-Status', rawurlencode(_t('LeftAndMain.DELETED', 'Deleted.')));
|
||||
$this->response->addHeader('X-Pjax', 'Content');
|
||||
$this->getResponse()->addHeader('X-Status', rawurlencode(_t('LeftAndMain.DELETED', 'Deleted.')));
|
||||
$this->getResponse()->addHeader('X-Pjax', 'Content');
|
||||
return $this->redirect(Controller::join_links($this->Link('show'), $parentID ? $parentID : 0));
|
||||
}
|
||||
|
||||
|
@ -422,7 +422,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
* Create serialized JSON string with site tree hints data to be injected into
|
||||
* 'data-hints' attribute of root node of jsTree.
|
||||
*
|
||||
* @return String Serialized JSON
|
||||
* @return string Serialized JSON
|
||||
*/
|
||||
public function SiteTreeHints() {
|
||||
$json = '';
|
||||
@ -591,9 +591,9 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Int $id
|
||||
* @param int $id
|
||||
* @param FieldList $fields
|
||||
* @return Form
|
||||
* @return CMSForm
|
||||
*/
|
||||
public function getEditForm($id = null, $fields = null) {
|
||||
|
||||
@ -676,7 +676,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
// if($form->Fields()->hasTabset()) $form->Fields()->findOrMakeTab('Root')->setTemplate('CMSTabSet');
|
||||
$form->setAttribute('data-pjax-fragment', 'CurrentForm');
|
||||
// Set validation exemptions for specific actions
|
||||
$form->setValidationExemptActions(array('restore', 'revert', 'deletefromlive', 'rollback'));
|
||||
$form->setValidationExemptActions(array('restore', 'revert', 'deletefromlive', 'delete', 'unpublish', 'rollback'));
|
||||
|
||||
// Announce the capability so the frontend can decide whether to allow preview or not.
|
||||
if(in_array('CMSPreviewable', class_implements($record))) {
|
||||
@ -701,7 +701,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
|
||||
/**
|
||||
* @param SS_HTTPRequest $request
|
||||
* @return String HTML
|
||||
* @return string HTML
|
||||
*/
|
||||
public function treeview($request) {
|
||||
return $this->renderWith($this->getTemplatesWithSuffix('_TreeView'));
|
||||
@ -709,7 +709,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
|
||||
/**
|
||||
* @param SS_HTTPRequest $request
|
||||
* @return String HTML
|
||||
* @return string HTML
|
||||
*/
|
||||
public function listview($request) {
|
||||
return $this->renderWith($this->getTemplatesWithSuffix('_ListView'));
|
||||
@ -743,7 +743,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
|
||||
$this->extend('updateChildFilter', $disallowedChildren, $parentID);
|
||||
return $this
|
||||
->response
|
||||
->getResponse()
|
||||
->addHeader('Content-Type', 'application/json; charset=utf-8')
|
||||
->setBody(Convert::raw2json($disallowedChildren));
|
||||
}
|
||||
@ -940,7 +940,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
if(!is_subclass_of($className, $parentClass) && strcasecmp($className, $parentClass) != 0) {
|
||||
$response = Security::permissionFailure($this);
|
||||
if (!$response) {
|
||||
$response = $this->response;
|
||||
$response = $this->getResponse();
|
||||
}
|
||||
throw new SS_HTTPResponse_Exception($response);
|
||||
}
|
||||
@ -1024,7 +1024,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
$descRemoved = '';
|
||||
}
|
||||
|
||||
$this->response->addHeader(
|
||||
$this->getResponse()->addHeader(
|
||||
'X-Status',
|
||||
rawurlencode(
|
||||
_t(
|
||||
@ -1073,7 +1073,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
|
||||
$record->doRevertToLive();
|
||||
|
||||
$this->response->addHeader(
|
||||
$this->getResponse()->addHeader(
|
||||
'X-Status',
|
||||
rawurlencode(_t(
|
||||
'CMSMain.RESTORED',
|
||||
@ -1100,7 +1100,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
// Delete record
|
||||
$record->delete();
|
||||
|
||||
$this->response->addHeader(
|
||||
$this->getResponse()->addHeader(
|
||||
'X-Status',
|
||||
rawurlencode(sprintf(_t('CMSMain.REMOVEDPAGEFROMDRAFT',"Removed '%s' from the draft site"), $record->Title))
|
||||
);
|
||||
@ -1128,7 +1128,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
// Archive record
|
||||
$record->doArchive();
|
||||
|
||||
$this->response->addHeader(
|
||||
$this->getResponse()->addHeader(
|
||||
'X-Status',
|
||||
rawurlencode(sprintf(_t('CMSMain.ARCHIVEDPAGE',"Archived page '%s'"), $record->Title))
|
||||
);
|
||||
@ -1152,7 +1152,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
|
||||
$record->doUnpublish();
|
||||
|
||||
$this->response->addHeader(
|
||||
$this->getResponse()->addHeader(
|
||||
'X-Status',
|
||||
rawurlencode(_t('CMSMain.REMOVEDPAGE',"Removed '{title}' from the published site", array('title' => $record->Title)))
|
||||
);
|
||||
@ -1201,15 +1201,15 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
);
|
||||
}
|
||||
|
||||
$this->response->addHeader('X-Status', rawurlencode($message));
|
||||
$this->getResponse()->addHeader('X-Status', rawurlencode($message));
|
||||
|
||||
// Can be used in different contexts: In normal page edit view, in which case the redirect won't have any effect.
|
||||
// Or in history view, in which case a revert causes the CMS to re-load the edit view.
|
||||
// The X-Pjax header forces a "full" content refresh on redirect.
|
||||
$url = Controller::join_links(singleton('CMSPageEditController')->Link('show'), $record->ID);
|
||||
$this->response->addHeader('X-ControllerURL', $url);
|
||||
$this->getResponse()->addHeader('X-ControllerURL', $url);
|
||||
$this->getRequest()->addHeader('X-Pjax', 'Content');
|
||||
$this->response->addHeader('X-Pjax', 'Content');
|
||||
$this->getResponse()->addHeader('X-Pjax', 'Content');
|
||||
|
||||
return $this->getResponseNegotiator()->respond($this->getRequest());
|
||||
}
|
||||
@ -1352,7 +1352,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
|
||||
$restoredPage = $restoredPage->doRestoreToStage();
|
||||
|
||||
$this->response->addHeader(
|
||||
$this->getResponse()->addHeader(
|
||||
'X-Status',
|
||||
rawurlencode(_t(
|
||||
'CMSMain.RESTORED',
|
||||
@ -1383,7 +1383,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
$newPage->write();
|
||||
}
|
||||
|
||||
$this->response->addHeader(
|
||||
$this->getResponse()->addHeader(
|
||||
'X-Status',
|
||||
rawurlencode(_t(
|
||||
'CMSMain.DUPLICATED',
|
||||
@ -1392,9 +1392,9 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
))
|
||||
);
|
||||
$url = Controller::join_links(singleton('CMSPageEditController')->Link('show'), $newPage->ID);
|
||||
$this->response->addHeader('X-ControllerURL', $url);
|
||||
$this->getResponse()->addHeader('X-ControllerURL', $url);
|
||||
$this->getRequest()->addHeader('X-Pjax', 'Content');
|
||||
$this->response->addHeader('X-Pjax', 'Content');
|
||||
$this->getResponse()->addHeader('X-Pjax', 'Content');
|
||||
|
||||
return $this->getResponseNegotiator()->respond($this->getRequest());
|
||||
} else {
|
||||
@ -1415,7 +1415,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
|
||||
$newPage = $page->duplicateWithChildren();
|
||||
|
||||
$this->response->addHeader(
|
||||
$this->getResponse()->addHeader(
|
||||
'X-Status',
|
||||
rawurlencode(_t(
|
||||
'CMSMain.DUPLICATEDWITHCHILDREN',
|
||||
@ -1424,9 +1424,9 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
))
|
||||
);
|
||||
$url = Controller::join_links(singleton('CMSPageEditController')->Link('show'), $newPage->ID);
|
||||
$this->response->addHeader('X-ControllerURL', $url);
|
||||
$this->getResponse()->addHeader('X-ControllerURL', $url);
|
||||
$this->getRequest()->addHeader('X-Pjax', 'Content');
|
||||
$this->response->addHeader('X-Pjax', 'Content');
|
||||
$this->getResponse()->addHeader('X-Pjax', 'Content');
|
||||
|
||||
return $this->getResponseNegotiator()->respond($this->getRequest());
|
||||
} else {
|
||||
|
@ -17,7 +17,7 @@ class CMSPagesController extends CMSMain {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return String
|
||||
* @return string
|
||||
*/
|
||||
public function ViewState() {
|
||||
return $this->getRequest()->getVar('view');
|
||||
|
@ -44,7 +44,7 @@ abstract class CMSSiteTreeFilter extends Object implements LeftAndMain_SearchFil
|
||||
protected $_cache_expanded = array();
|
||||
|
||||
/**
|
||||
* @var String
|
||||
* @var string
|
||||
*/
|
||||
protected $childrenMethod = null;
|
||||
|
||||
|
@ -14,8 +14,8 @@ class LeftAndMainPageIconsExtension extends Extension {
|
||||
/**
|
||||
* Include CSS for page icons. We're not using the JSTree 'types' option
|
||||
* because it causes too much performance overhead just to add some icons.
|
||||
*
|
||||
* @return String CSS
|
||||
*
|
||||
* @return string CSS
|
||||
*/
|
||||
public function generatePageIconsCss() {
|
||||
$css = '';
|
||||
|
@ -51,24 +51,21 @@ class ModelAsController extends Controller implements NestedController {
|
||||
$this->setDataModel($model);
|
||||
|
||||
$this->pushCurrent();
|
||||
|
||||
// Create a response just in case init() decides to redirect
|
||||
$this->response = new SS_HTTPResponse();
|
||||
|
||||
$this->getResponse();
|
||||
$this->init();
|
||||
|
||||
// If we had a redirection or something, halt processing.
|
||||
if($this->response->isFinished()) {
|
||||
if($this->getResponse()->isFinished()) {
|
||||
$this->popCurrent();
|
||||
return $this->response;
|
||||
return $this->getResponse();
|
||||
}
|
||||
|
||||
// If the database has not yet been created, redirect to the build page.
|
||||
if(!DB::is_active() || !ClassInfo::hasTable('SiteTree')) {
|
||||
$this->response->redirect(Director::absoluteBaseURL() . 'dev/build?returnURL=' . (isset($_GET['url']) ? urlencode($_GET['url']) : null));
|
||||
$this->getResponse()->redirect(Director::absoluteBaseURL() . 'dev/build?returnURL=' . (isset($_GET['url']) ? urlencode($_GET['url']) : null));
|
||||
$this->popCurrent();
|
||||
|
||||
return $this->response;
|
||||
return $this->getResponse();
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -119,9 +119,8 @@ class RootURLController extends Controller {
|
||||
$this->init();
|
||||
|
||||
if(!DB::is_active() || !ClassInfo::hasTable('SiteTree')) {
|
||||
$this->response = new SS_HTTPResponse();
|
||||
$this->response->redirect(Director::absoluteBaseURL() . 'dev/build?returnURL=' . (isset($_GET['url']) ? urlencode($_GET['url']) : null));
|
||||
return $this->response;
|
||||
$this->getResponse()->redirect(Director::absoluteBaseURL() . 'dev/build?returnURL=' . (isset($_GET['url']) ? urlencode($_GET['url']) : null));
|
||||
return $this->getResponse();
|
||||
}
|
||||
|
||||
$request->setUrl(self::get_homepage_link() . '/');
|
||||
|
@ -120,13 +120,13 @@ class SilverStripeNavigatorItem extends ViewableData {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return String HTML, mostly a link - but can be more complex as well.
|
||||
* @return string HTML, mostly a link - but can be more complex as well.
|
||||
* For example, a "future state" item might show a date selector.
|
||||
*/
|
||||
public function getHTML() {}
|
||||
|
||||
/**
|
||||
* @return String
|
||||
* @return string
|
||||
* Get the Title of an item
|
||||
*/
|
||||
public function getTitle() {}
|
||||
@ -143,12 +143,12 @@ class SilverStripeNavigatorItem extends ViewableData {
|
||||
* Not all items are simple links, please use {@link getHTML()}
|
||||
* to represent an item in markup unless you know what you're doing.
|
||||
*
|
||||
* @return String
|
||||
* @return string
|
||||
*/
|
||||
public function getLink() {}
|
||||
|
||||
/**
|
||||
* @return String
|
||||
* @return string
|
||||
*/
|
||||
public function getMessage() {}
|
||||
|
||||
@ -160,7 +160,7 @@ class SilverStripeNavigatorItem extends ViewableData {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Int
|
||||
* @return int
|
||||
*/
|
||||
public function getPriority() {
|
||||
return $this->stat('priority');
|
||||
|
@ -8,7 +8,7 @@ use SilverStripe\Filesystem\Storage\GeneratedAssetHandler;
|
||||
* /assets/error-<statuscode>.html.
|
||||
* This enables us to show errors even if PHP experiences a recoverable error.
|
||||
* ErrorPages
|
||||
*
|
||||
*
|
||||
* @see Debug::friendlyError()
|
||||
*
|
||||
* @property int $ErrorCode HTTP Error code
|
||||
@ -26,7 +26,7 @@ class ErrorPage extends Page {
|
||||
);
|
||||
|
||||
private static $allowed_children = array();
|
||||
|
||||
|
||||
private static $description = 'Custom content for different error cases (e.g. "Page not found")';
|
||||
|
||||
/**
|
||||
@ -37,7 +37,6 @@ class ErrorPage extends Page {
|
||||
* @var bool
|
||||
*/
|
||||
private static $enable_static_file = true;
|
||||
|
||||
/**
|
||||
* @config
|
||||
* @var string
|
||||
@ -52,7 +51,6 @@ class ErrorPage extends Page {
|
||||
* @var string
|
||||
*/
|
||||
private static $store_filepath = null;
|
||||
|
||||
/**
|
||||
* @param $member
|
||||
*
|
||||
@ -61,10 +59,10 @@ class ErrorPage extends Page {
|
||||
public function canAddChildren($member = null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get a {@link SS_HTTPResponse} to response to a HTTP error code if an
|
||||
* {@link ErrorPage} for that code is present. First tries to serve it
|
||||
* {@link ErrorPage} for that code is present. First tries to serve it
|
||||
* through the standard SilverStripe request method. Falls back to a static
|
||||
* file generated when the user hit's save and publish in the CMS
|
||||
*
|
||||
@ -110,7 +108,7 @@ class ErrorPage extends Page {
|
||||
if ($this->class === 'ErrorPage' && SiteTree::config()->create_default_pages) {
|
||||
|
||||
$defaultPages = $this->getDefaultRecords();
|
||||
|
||||
|
||||
foreach($defaultPages as $defaultData) {
|
||||
$code = $defaultData['ErrorCode'];
|
||||
$page = ErrorPage::get()->filter('ErrorCode', $code)->first();
|
||||
@ -147,9 +145,9 @@ class ErrorPage extends Page {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array of arrays, each of which defines properties for a new
|
||||
* Returns an array of arrays, each of which defines properties for a new
|
||||
* ErrorPage record.
|
||||
*
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function getDefaultRecords() {
|
||||
@ -158,7 +156,7 @@ class ErrorPage extends Page {
|
||||
'ErrorCode' => 404,
|
||||
'Title' => _t('ErrorPage.DEFAULTERRORPAGETITLE', 'Page not found'),
|
||||
'Content' => _t(
|
||||
'ErrorPage.DEFAULTERRORPAGECONTENT',
|
||||
'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>'
|
||||
)
|
||||
@ -167,7 +165,7 @@ class ErrorPage extends Page {
|
||||
'ErrorCode' => 500,
|
||||
'Title' => _t('ErrorPage.DEFAULTSERVERERRORPAGETITLE', 'Server error'),
|
||||
'Content' => _t(
|
||||
'ErrorPage.DEFAULTSERVERERRORPAGECONTENT',
|
||||
'ErrorPage.DEFAULTSERVERERRORPAGECONTENT',
|
||||
'<p>Sorry, there was a problem with handling your request.</p>'
|
||||
)
|
||||
)
|
||||
@ -183,9 +181,9 @@ class ErrorPage extends Page {
|
||||
*/
|
||||
public function getCMSFields() {
|
||||
$fields = parent::getCMSFields();
|
||||
|
||||
|
||||
$fields->addFieldToTab(
|
||||
"Root.Main",
|
||||
"Root.Main",
|
||||
new DropdownField(
|
||||
"ErrorCode",
|
||||
$this->fieldLabel('ErrorCode'),
|
||||
@ -219,10 +217,10 @@ class ErrorPage extends Page {
|
||||
),
|
||||
"Content"
|
||||
);
|
||||
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* When an error page is published, create a static HTML page with its
|
||||
* content, so the page can be shown even when SilverStripe is not
|
||||
@ -231,9 +229,8 @@ class ErrorPage extends Page {
|
||||
* @return bool True if published
|
||||
*/
|
||||
public function doPublish() {
|
||||
$result = parent::doPublish();
|
||||
$this->writeStaticPage();
|
||||
return $result;
|
||||
if (!parent::doPublish()) return false;
|
||||
return $this->writeStaticPage();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -289,22 +286,25 @@ class ErrorPage extends Page {
|
||||
// Success
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param boolean $includerelations a boolean value to indicate if the labels returned include relation fields
|
||||
*
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function fieldLabels($includerelations = true) {
|
||||
$labels = parent::fieldLabels($includerelations);
|
||||
$labels['ErrorCode'] = _t('ErrorPage.CODE', "Error code");
|
||||
|
||||
|
||||
return $labels;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get error content for the given status code. Only returns pre-cached content
|
||||
* stored either in the asset store or in the static path (if enabled).
|
||||
* Returns an absolute filesystem path to a static error file
|
||||
* which is generated through {@link publish()}.
|
||||
*
|
||||
* @param int $statusCode A HTTP Statuscode, mostly 404 or 500
|
||||
* @param string $locale A locale, e.g. 'de_DE' (Optional)
|
||||
*
|
||||
* @param int $statusCode A HTTP Statuscode, typically 404 or 500
|
||||
* @return string
|
||||
@ -372,7 +372,7 @@ class ErrorPage_Controller extends Page_Controller {
|
||||
|
||||
/**
|
||||
* Overload the provided {@link Controller::handleRequest()} to append the
|
||||
* correct status code post request since otherwise permission related error
|
||||
* correct status code post request since otherwise permission related error
|
||||
* pages such as 401 and 403 pages won't be rendered due to
|
||||
* {@link SS_HTTPResponse::isFinished() ignoring the response body.
|
||||
*
|
||||
|
@ -177,7 +177,7 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
|
||||
/**
|
||||
* @config
|
||||
* @var String Description of the class functionality, typically shown to a user
|
||||
* @var string Description of the class functionality, typically shown to a user
|
||||
* when selecting which page type to create. Translated through {@link provideI18nEntities()}.
|
||||
*/
|
||||
private static $description = 'Generic content page';
|
||||
|
@ -25,7 +25,7 @@ class SiteTreeFileExtension extends DataExtension {
|
||||
/**
|
||||
* Generate an HTML list which provides links to where a file is used.
|
||||
*
|
||||
* @return String
|
||||
* @return string
|
||||
*/
|
||||
public function BackLinkHTMLList() {
|
||||
$html = '<em>' . _t(
|
||||
@ -76,7 +76,7 @@ class SiteTreeFileExtension extends DataExtension {
|
||||
/**
|
||||
* @todo Unnecessary shortcut for AssetTableField, coupled with cms module.
|
||||
*
|
||||
* @return Integer
|
||||
* @return integer
|
||||
*/
|
||||
public function BackLinkTrackingCount() {
|
||||
$pages = $this->owner->BackLinkTracking();
|
||||
|
@ -122,6 +122,7 @@
|
||||
updateURLFromTitle = $('<button />', {
|
||||
'class': 'update ss-ui-button-small',
|
||||
'text': ss.i18n._t('URLSEGMENT.UpdateURL'),
|
||||
'type': 'button',
|
||||
'click': function(e) {
|
||||
e.preventDefault();
|
||||
self.updateURLSegment(self.val());
|
||||
@ -169,7 +170,7 @@
|
||||
// otherwise use the old value
|
||||
else this.find(':input[name=ParentID]').val(this.find('#Form_EditForm_ParentType_subpage').data('parentIdValue'));
|
||||
// toggle tree dropdown based on selection
|
||||
this.find('#ParentID').toggle(selected != 'root');
|
||||
this.find('#Form_EditForm_ParentID_Holder').toggle(selected != 'root');
|
||||
},
|
||||
|
||||
/**
|
||||
@ -196,9 +197,9 @@
|
||||
onmatch: function() {
|
||||
// TODO Decouple
|
||||
var dropdown;
|
||||
if(this.attr('id') == 'CanViewType') dropdown = $('#ViewerGroups');
|
||||
else if(this.attr('id') == 'CanEditType') dropdown = $('#EditorGroups');
|
||||
else if(this.attr('id') == 'CanCreateTopLevelType') dropdown = $('#CreateTopLevelGroups');
|
||||
if(this.attr('id') == 'CanViewType') dropdown = $('#Form_EditForm_ViewerGroups_Holder');
|
||||
else if(this.attr('id') == 'CanEditType') dropdown = $('#Form_EditForm_EditorGroups_Holder');
|
||||
else if(this.attr('id') == 'CanCreateTopLevelType') dropdown = $('#Form_EditForm_CreateTopLevelGroups_Holder');
|
||||
|
||||
this.find('.optionset :input').bind('change', function(e) {
|
||||
var wrapper = $(this).closest('.middleColumn').parent('div');
|
||||
@ -451,7 +452,7 @@
|
||||
this._super();
|
||||
},
|
||||
redraw: function() {
|
||||
var treeField = $('.cms-edit-form.CMSPageSettingsController #ParentID');
|
||||
var treeField = $('.cms-edit-form.CMSPageSettingsController #Form_EditForm_ParentID_Holder');
|
||||
if ($(this).attr('id') == 'Form_EditForm_ParentType_root') treeField.slideUp();
|
||||
else treeField.slideDown();
|
||||
},
|
||||
@ -462,7 +463,7 @@
|
||||
|
||||
//trigger an initial change event to do the initial hiding of the element, if necessary
|
||||
if ($('.cms-edit-form.CMSPageSettingsController input[name="ParentType"]:checked').attr('id') == 'Form_EditForm_ParentType_root') {
|
||||
$('.cms-edit-form.CMSPageSettingsController #ParentID').hide(); //quick hide on first run
|
||||
$('.cms-edit-form.CMSPageSettingsController #Form_EditForm_ParentID_Holder').hide(); //quick hide on first run
|
||||
}
|
||||
});
|
||||
}(jQuery));
|
||||
|
@ -36,16 +36,16 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
|
||||
"Tree.ThisPageOnly": "Nur ĉi tiu paĝo",
|
||||
"Tree.ThisPageAndSubpages": "Ĉi tiu paĝo kaj subpaĝoj",
|
||||
"Tree.ShowAsList": "Vidigi idojn kiel liston",
|
||||
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
|
||||
"CMSMain.ConfirmRestoreFromLive": "Ĉi vi vere volas malfari la malneton al kiam la paĝo estis laste publikigita?",
|
||||
"CMSMain.RollbackToVersion": "Cu vi vere volas malfare restaŭri al versio #%s de ĉi tiu paĝo?",
|
||||
"CMSMain.Archive": "Are you sure you want to archive this page and all of its children pages?\n\nThis page and all of its children will be unpublished and sent to the archive.",
|
||||
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
|
||||
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
|
||||
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
|
||||
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
|
||||
"CMSMain.Archive": "Ĉi vi estas certa ke vi volas enarkivigi tiun paĝon kaj ĉiujn ties idajn paĝojn?\n\nTiu paĝo kaj ĉiuj ties idoj malpublikiĝos kaj sendiĝos al la arkivo.",
|
||||
"CMSMain.Restore": "Ĉi vi vere volas restaŭri ĉi tiun paĝon el la arkivo?",
|
||||
"CMSMain.RestoreToRoot": "Ĉu vi vere volas restaŭri la paĝon el la arkivo?\n\nĈar la patra paĝo ne disponeblas, ĝi restaŭriĝos al la supra nivelo.",
|
||||
"CMSMain.Unpublish": "Ĉu vi vere volas forigi la paĝon el la publika retejo?\n\nTiu paĝo ankoraŭ disponeblos en la reteja arbo kiel malneto.",
|
||||
"CMSMain.DeleteFromDraft": "Ĉu vi vere volas forigi la paĝon el la malneta retejo?\n\nTiu paĝo ankoraŭ troviĝos en la publika retejo.",
|
||||
"URLSEGMENT.Edit": "Redakti",
|
||||
"URLSEGMENT.OK": "Akcepti",
|
||||
"URLSEGMENT.Cancel": "Rezigni",
|
||||
"URLSEGMENT.UpdateURL": "Update URL"
|
||||
"URLSEGMENT.UpdateURL": "Ĝisdatigi je URL"
|
||||
});
|
||||
}
|
51
javascript/lang/fa_IR.js
Normal file
51
javascript/lang/fa_IR.js
Normal file
@ -0,0 +1,51 @@
|
||||
// This file was generated by silverstripe/cow from javascript/lang/src/fa_IR.js.
|
||||
// See https://github.com/tractorcow/cow for details
|
||||
if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
|
||||
if(typeof(console) != 'undefined') console.error('Class ss.i18n not defined');
|
||||
} else {
|
||||
ss.i18n.addDictionary('fa_IR', {
|
||||
"CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "شما باید پیش از افزودن فرزندان زیر مجموعه، صفحه را ذخیره کنید",
|
||||
"CMSMAIN.CANTADDCHILDREN": "You can't add children to the selected node",
|
||||
"CMSMAIN.ERRORADDINGPAGE": "خطا در افزودن صفحات",
|
||||
"CMSMAIN.FILTEREDTREE": "پالایش لیست درختی تا تنها صفحات تغییر کرده را نمایش دهد",
|
||||
"CMSMAIN.ERRORFILTERPAGES": "ناتوان در پالایش لیست درختی تا تنها صفحات تغییر کرده را نمایش دهد <br />%s",
|
||||
"CMSMAIN.ERRORUNFILTER": "لیست درختی پالایش نشده",
|
||||
"CMSMAIN.PUBLISHINGPAGES": "انتشار صفحات",
|
||||
"CMSMAIN.SELECTONEPAGE": "لطفاً حداقل ۱ صفحه را انتخاب نمایید.",
|
||||
"CMSMAIN.ERRORPUBLISHING": "خطا در انتشار صفحات",
|
||||
"CMSMAIN.REALLYDELETEPAGES": "آیا واقعاً میخواهید %s صفحات علامتگذاری شده را حذف نمایید؟",
|
||||
"CMSMAIN.DELETINGPAGES": "حذف صفحات...",
|
||||
"CMSMAIN.ERRORDELETINGPAGES": "خطا در حذف صفحات",
|
||||
"CMSMAIN.PUBLISHING": "منتشر کردن...",
|
||||
"CMSMAIN.RESTORING": "بازنشاندن...",
|
||||
"CMSMAIN.ERRORREVERTING": "Error reverting to live content",
|
||||
"CMSMAIN.SAVING": "ذخیره سازی...",
|
||||
"CMSMAIN.SELECTMOREPAGES": "You have %s pages selected.\n\nDo you really want to perform this action?",
|
||||
"CMSMAIN.ALERTCLASSNAME": "نوع صفحه پس از ذخیره آن بهروزرسانی میشود",
|
||||
"CMSMAIN.URLSEGMENTVALIDATION": "URLها تنها میتوانند از حروف، اعداد و خط فاصله ساخته شوند.",
|
||||
"AssetAdmin.BATCHACTIONSDELETECONFIRM": "آیا واقعاً میخواهید %s پوشه را حذف نمایید؟",
|
||||
"AssetTableField.REALLYDELETE": "آیا واقعاً میخواهید فایلهای علامتگذاری شده را حذف نمایید؟",
|
||||
"AssetTableField.MOVING": "جابهجایی %s فایل(ها)",
|
||||
"CMSMAIN.AddSearchCriteria": "افزودن شاخص",
|
||||
"WidgetAreaEditor.TOOMANY": "با پوزش، شما به حداکثر تعداد ویجت مجاز برای این فضا دست یافتهاید",
|
||||
"AssetAdmin.ConfirmDelete": "Do you really want to delete this folder and all contained files?",
|
||||
"Folder.Name": "نام پوشه",
|
||||
"Tree.AddSubPage": "افزودن صفحه جدید در اینجا",
|
||||
"Tree.Duplicate": "دو نسخه کردن",
|
||||
"Tree.EditPage": "ویرایش",
|
||||
"Tree.ThisPageOnly": "فقط این صفحه",
|
||||
"Tree.ThisPageAndSubpages": "این صفحه و صفحات زیرمجموعه",
|
||||
"Tree.ShowAsList": "نمایش فرزندان به صورت لیست",
|
||||
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
|
||||
"CMSMain.RollbackToVersion": "آیا واقعاً میخواهید به نسخه #%s این صفحه بازگردید؟",
|
||||
"CMSMain.Archive": "Are you sure you want to archive this page and all of its children pages?\n\nThis page and all of its children will be unpublished and sent to the archive.",
|
||||
"CMSMain.Restore": "آیا مطمئن هستید که این صفحه از آرشیو بازنشانی شود؟",
|
||||
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
|
||||
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
|
||||
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
|
||||
"URLSEGMENT.Edit": "ویرایش",
|
||||
"URLSEGMENT.OK": "تایید",
|
||||
"URLSEGMENT.Cancel": "لغو",
|
||||
"URLSEGMENT.UpdateURL": "به روز رسانی URL"
|
||||
});
|
||||
}
|
@ -31,15 +31,15 @@
|
||||
"Tree.ThisPageOnly": "Nur ĉi tiu paĝo",
|
||||
"Tree.ThisPageAndSubpages": "Ĉi tiu paĝo kaj subpaĝoj",
|
||||
"Tree.ShowAsList": "Vidigi idojn kiel liston",
|
||||
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
|
||||
"CMSMain.ConfirmRestoreFromLive": "Ĉi vi vere volas malfari la malneton al kiam la paĝo estis laste publikigita?",
|
||||
"CMSMain.RollbackToVersion": "Cu vi vere volas malfare restaŭri al versio #%s de ĉi tiu paĝo?",
|
||||
"CMSMain.Archive": "Are you sure you want to archive this page and all of its children pages?\n\nThis page and all of its children will be unpublished and sent to the archive.",
|
||||
"CMSMain.Restore": "Are you sure you want to restore this page from archive?",
|
||||
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
|
||||
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
|
||||
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
|
||||
"CMSMain.Archive": "Ĉi vi estas certa ke vi volas enarkivigi tiun paĝon kaj ĉiujn ties idajn paĝojn?\n\nTiu paĝo kaj ĉiuj ties idoj malpublikiĝos kaj sendiĝos al la arkivo.",
|
||||
"CMSMain.Restore": "Ĉi vi vere volas restaŭri ĉi tiun paĝon el la arkivo?",
|
||||
"CMSMain.RestoreToRoot": "Ĉu vi vere volas restaŭri la paĝon el la arkivo?\n\nĈar la patra paĝo ne disponeblas, ĝi restaŭriĝos al la supra nivelo.",
|
||||
"CMSMain.Unpublish": "Ĉu vi vere volas forigi la paĝon el la publika retejo?\n\nTiu paĝo ankoraŭ disponeblos en la reteja arbo kiel malneto.",
|
||||
"CMSMain.DeleteFromDraft": "Ĉu vi vere volas forigi la paĝon el la malneta retejo?\n\nTiu paĝo ankoraŭ troviĝos en la publika retejo.",
|
||||
"URLSEGMENT.Edit": "Redakti",
|
||||
"URLSEGMENT.OK": "Akcepti",
|
||||
"URLSEGMENT.Cancel": "Rezigni",
|
||||
"URLSEGMENT.UpdateURL": "Update URL"
|
||||
"URLSEGMENT.UpdateURL": "Ĝisdatigi je URL"
|
||||
}
|
45
javascript/lang/src/fa_IR.js
Normal file
45
javascript/lang/src/fa_IR.js
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"CMSMAIN.WARNINGSAVEPAGESBEFOREADDING": "شما باید پیش از افزودن فرزندان زیر مجموعه، صفحه را ذخیره کنید",
|
||||
"CMSMAIN.CANTADDCHILDREN": "You can't add children to the selected node",
|
||||
"CMSMAIN.ERRORADDINGPAGE": "خطا در افزودن صفحات",
|
||||
"CMSMAIN.FILTEREDTREE": "پالایش لیست درختی تا تنها صفحات تغییر کرده را نمایش دهد",
|
||||
"CMSMAIN.ERRORFILTERPAGES": "ناتوان در پالایش لیست درختی تا تنها صفحات تغییر کرده را نمایش دهد <br />%s",
|
||||
"CMSMAIN.ERRORUNFILTER": "لیست درختی پالایش نشده",
|
||||
"CMSMAIN.PUBLISHINGPAGES": "انتشار صفحات",
|
||||
"CMSMAIN.SELECTONEPAGE": "لطفاً حداقل ۱ صفحه را انتخاب نمایید.",
|
||||
"CMSMAIN.ERRORPUBLISHING": "خطا در انتشار صفحات",
|
||||
"CMSMAIN.REALLYDELETEPAGES": "آیا واقعاً میخواهید %s صفحات علامتگذاری شده را حذف نمایید؟",
|
||||
"CMSMAIN.DELETINGPAGES": "حذف صفحات...",
|
||||
"CMSMAIN.ERRORDELETINGPAGES": "خطا در حذف صفحات",
|
||||
"CMSMAIN.PUBLISHING": "منتشر کردن...",
|
||||
"CMSMAIN.RESTORING": "بازنشاندن...",
|
||||
"CMSMAIN.ERRORREVERTING": "Error reverting to live content",
|
||||
"CMSMAIN.SAVING": "ذخیره سازی...",
|
||||
"CMSMAIN.SELECTMOREPAGES": "You have %s pages selected.\n\nDo you really want to perform this action?",
|
||||
"CMSMAIN.ALERTCLASSNAME": "نوع صفحه پس از ذخیره آن بهروزرسانی میشود",
|
||||
"CMSMAIN.URLSEGMENTVALIDATION": "URLها تنها میتوانند از حروف، اعداد و خط فاصله ساخته شوند.",
|
||||
"AssetAdmin.BATCHACTIONSDELETECONFIRM": "آیا واقعاً میخواهید %s پوشه را حذف نمایید؟",
|
||||
"AssetTableField.REALLYDELETE": "آیا واقعاً میخواهید فایلهای علامتگذاری شده را حذف نمایید؟",
|
||||
"AssetTableField.MOVING": "جابهجایی %s فایل(ها)",
|
||||
"CMSMAIN.AddSearchCriteria": "افزودن شاخص",
|
||||
"WidgetAreaEditor.TOOMANY": "با پوزش، شما به حداکثر تعداد ویجت مجاز برای این فضا دست یافتهاید",
|
||||
"AssetAdmin.ConfirmDelete": "Do you really want to delete this folder and all contained files?",
|
||||
"Folder.Name": "نام پوشه",
|
||||
"Tree.AddSubPage": "افزودن صفحه جدید در اینجا",
|
||||
"Tree.Duplicate": "دو نسخه کردن",
|
||||
"Tree.EditPage": "ویرایش",
|
||||
"Tree.ThisPageOnly": "فقط این صفحه",
|
||||
"Tree.ThisPageAndSubpages": "این صفحه و صفحات زیرمجموعه",
|
||||
"Tree.ShowAsList": "نمایش فرزندان به صورت لیست",
|
||||
"CMSMain.ConfirmRestoreFromLive": "Are you sure you want to revert draft to when the page was last published?",
|
||||
"CMSMain.RollbackToVersion": "آیا واقعاً میخواهید به نسخه #%s این صفحه بازگردید؟",
|
||||
"CMSMain.Archive": "Are you sure you want to archive this page and all of its children pages?\n\nThis page and all of its children will be unpublished and sent to the archive.",
|
||||
"CMSMain.Restore": "آیا مطمئن هستید که این صفحه از آرشیو بازنشانی شود؟",
|
||||
"CMSMain.RestoreToRoot": "Are you sure you want to restore this page from archive?\n\nBecause the parent page is not available this will be restored to the top level.",
|
||||
"CMSMain.Unpublish": "Are you sure you want to remove your page from the published site?\n\nThis page will still be available in the sitetree as draft.",
|
||||
"CMSMain.DeleteFromDraft": "Are you sure you want to remove your page from the draft site?\n\nThis page will remain on the published site.",
|
||||
"URLSEGMENT.Edit": "ویرایش",
|
||||
"URLSEGMENT.OK": "تایید",
|
||||
"URLSEGMENT.Cancel": "لغو",
|
||||
"URLSEGMENT.UpdateURL": "به روز رسانی URL"
|
||||
}
|
@ -268,7 +268,6 @@ ar:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: المؤرشف
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'لمشاركة هذه الصفحة، قم بنسخ ولصق الرابط أدناه.'
|
||||
ShareLink: 'رابط مشترك'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: إغلاق
|
||||
|
10
lang/cs.yml
10
lang/cs.yml
@ -109,7 +109,7 @@ cs:
|
||||
REMOVED: 'Smazáno ''{title}''{description} z webu'
|
||||
REMOVEDPAGE: 'Odstraněno ''{title}'' ze zveřejněného webu'
|
||||
REMOVEDPAGEFROMDRAFT: 'Odstraněno ''%s'' z konceptu webu'
|
||||
RESTORE: 'Obnovit koncept'
|
||||
RESTORE: Obnovit
|
||||
RESTORED: 'Obnoveno ''{title}'' úspěšně'
|
||||
RESTORE_DESC: 'Obnovit archivovanou verzi na koncept'
|
||||
RESTORE_TO_ROOT: 'Obnovit koncept do nejvyšší úrovně'
|
||||
@ -172,15 +172,15 @@ cs:
|
||||
CMSSettingsController:
|
||||
MENUTITLE: Možnosti
|
||||
CMSSiteTreeFilter_ChangedPages:
|
||||
Title: 'Upravené stránky'
|
||||
Title: 'Změnené stránky'
|
||||
CMSSiteTreeFilter_DeletedPages:
|
||||
Title: 'Všechny stránky, včetně archivovaných'
|
||||
Title: 'Všechny stránky, včetně odstraněných'
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'Všechny stránky'
|
||||
CMSSiteTreeFilter_StatusDeletedPages:
|
||||
Title: 'Archivované stránky'
|
||||
Title: 'Smazané stránky'
|
||||
CMSSiteTreeFilter_StatusDraftPages:
|
||||
Title: 'Stránky koncept'
|
||||
Title: 'Koncept nezveřejněných stránek'
|
||||
CMSSiteTreeFilter_StatusRemovedFromDraftPages:
|
||||
Title: 'Živé, ale odstraněno z konceptu'
|
||||
ContentControl:
|
||||
|
12
lang/de.yml
12
lang/de.yml
@ -71,8 +71,6 @@ de:
|
||||
PUBLISH_PAGES: Veröffentlichen
|
||||
RESTORE: Wiederherstellen
|
||||
RESTORED_PAGES: '%d Seiten wiederhergestellt'
|
||||
UNPUBLISHED_PAGES: '%d Seiten zurückgenommen'
|
||||
UNPUBLISH_PAGES: Veröffentlichung zurücknehmen
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Dateien
|
||||
CMSMain:
|
||||
@ -109,7 +107,6 @@ de:
|
||||
REMOVED: 'Lösche ''{title}''{description} von Live Umgebung'
|
||||
REMOVEDPAGE: '''{title}'' wurde von der veröffentlichten Site entfernt'
|
||||
REMOVEDPAGEFROMDRAFT: 'Lösche ''%s'' von der Entwurfs-Site'
|
||||
RESTORE: 'Entwurf wiederherstellen'
|
||||
RESTORED: '''{title}'' wurde wiederhergestellt'
|
||||
RESTORE_DESC: 'Entwurf aus archivierter Version wiederherstellen'
|
||||
RESTORE_TO_ROOT: 'Entwurf in oberster Ebene wiederherstellen'
|
||||
@ -171,16 +168,8 @@ de:
|
||||
FILTERLABELTEXT: Inhalt
|
||||
CMSSettingsController:
|
||||
MENUTITLE: Einstellungen
|
||||
CMSSiteTreeFilter_ChangedPages:
|
||||
Title: 'Geänderte Seiten'
|
||||
CMSSiteTreeFilter_DeletedPages:
|
||||
Title: 'Alle Seiten, inkl. Archiv'
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'Alle Seiten'
|
||||
CMSSiteTreeFilter_StatusDeletedPages:
|
||||
Title: 'Archivierte Seiten'
|
||||
CMSSiteTreeFilter_StatusDraftPages:
|
||||
Title: 'Entwürfe'
|
||||
CMSSiteTreeFilter_StatusRemovedFromDraftPages:
|
||||
Title: 'Veröffentlicht aber aus Entwurf entfernt'
|
||||
ContentControl:
|
||||
@ -298,7 +287,6 @@ de:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Archiviert
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Kopieren Sie den folgenden Link, um diesen jemanden mitzuteilen.'
|
||||
ShareLink: 'Link teilen'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: schließen
|
||||
|
22
lang/eo.yml
22
lang/eo.yml
@ -61,17 +61,23 @@ eo:
|
||||
CMSAddPageController:
|
||||
Title: 'Enmeti paĝon'
|
||||
CMSBatchActions:
|
||||
ARCHIVE: Arkivo
|
||||
ARCHIVED_PAGES: 'Enarkivigis %d paĝojn'
|
||||
DELETED_DRAFT_PAGES: 'Forigis %d paĝojn el malneta retejo, %d malsukcesoj'
|
||||
DELETED_PAGES: 'Forigis %d paĝojn el publikigita retejo, %d malsukcesoj'
|
||||
DELETE_DRAFT_PAGES: 'Forigi el malneta retejo'
|
||||
DELETE_PAGES: 'Forigi el publikigita retejo'
|
||||
PUBLISHED_PAGES: 'Publikigis %d paĝojn, %d malsukcesojn'
|
||||
PUBLISH_PAGES: Publikigi
|
||||
RESTORE: Restaŭri
|
||||
RESTORED_PAGES: 'Restaŭris %d paĝojn'
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Dosieroj
|
||||
CMSMain:
|
||||
ACCESS: 'Aliro al sekcio ''{title}'''
|
||||
ACCESS_HELP: 'Permesi vidigi la sekcion kiu enhavas paĝarbon kaj enhavon. Vidigaj kaj redaktaj permesoj estas trakteblaj per paĝspecifaj fallistoj, kaj ankaŭ la apartaj "Enhavaj permesoj".'
|
||||
ARCHIVE: Enarkivigi
|
||||
ARCHIVEDPAGE: 'Enarkivigis paĝon ''%s'''
|
||||
AddNew: 'Aldoni novan paĝon'
|
||||
AddNewButton: 'Aldoni novan'
|
||||
AddPageRestriction: 'Noto: iuj tipoj de paĝoj ne estas permesataj por ĉi tiu elektaĵo.'
|
||||
@ -102,6 +108,9 @@ eo:
|
||||
REMOVEDPAGE: 'Forigis je ''{title}'' el la publikigita retejo'
|
||||
REMOVEDPAGEFROMDRAFT: 'Forigis je ''%s'' el la malneta retejo'
|
||||
RESTORED: 'Sukcese restaŭris je ''{title}'''
|
||||
RESTORE_DESC: 'Restaŭri la enarkivigitan version al malneto'
|
||||
RESTORE_TO_ROOT: 'Restaŭri malneton ĉe la supra nivelo'
|
||||
RESTORE_TO_ROOT_DESC: 'Restaŭri la enarkivigitan version al malneto kiel supranivela paĝo'
|
||||
ROLLBACK: 'Malfari al ĉi tiu versio'
|
||||
ROLLEDBACKPUBv2: 'Malfaris ŝanĝojn ĝis la publikigita versio.'
|
||||
ROLLEDBACKVERSIONv2: 'Malfaris ŝanĝojn ĝis versio #%d.'
|
||||
@ -114,6 +123,7 @@ eo:
|
||||
TreeFilteredClear: 'Vakigi filtrilon'
|
||||
CMSMain_left_ss:
|
||||
APPLY_FILTER: 'Apliki filtrilon'
|
||||
CLEAR_FILTER: 'Vakigi filtrilon'
|
||||
RESET: Restartigi
|
||||
CMSPageAddController:
|
||||
MENUTITLE: 'Enmeti paĝon'
|
||||
@ -149,6 +159,8 @@ eo:
|
||||
MULTISELECT: Plurelekto
|
||||
CMSPagesController_Tools_ss:
|
||||
FILTER: Filtri
|
||||
CMSSIteTreeFilter_PublishedPages:
|
||||
Title: 'Publikigitaj paĝoj'
|
||||
CMSSearch:
|
||||
FILTERDATEFROM: De
|
||||
FILTERDATEHEADING: Dato
|
||||
@ -158,6 +170,8 @@ eo:
|
||||
MENUTITLE: Agordoj
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'Ĉiuj paĝoj'
|
||||
CMSSiteTreeFilter_StatusRemovedFromDraftPages:
|
||||
Title: 'Publikaj sed forigitaj el malneto'
|
||||
ContentControl:
|
||||
NOTEWONTBESHOWN: 'Notu: ne vidigos ĉi tiun mesaĝon al viaj vizitantoj'
|
||||
ContentController:
|
||||
@ -273,7 +287,6 @@ eo:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Enarkivigita
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Por komunigi ĉi tiun paĝon, kopiu kaj algluu la suban ligilon.'
|
||||
ShareLink: 'Komunigi ligilon'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Fermi
|
||||
@ -302,6 +315,9 @@ eo:
|
||||
ADDEDTODRAFTSHORT: Malneto
|
||||
ALLOWCOMMENTS: 'Permesi rimarkojn en ĉi tiu paĝo?'
|
||||
APPEARSVIRTUALPAGES: 'Ĉi tiu enhavo ankaŭ aperas en la virtualaj paĝoj en la sekcioj {title}.'
|
||||
ARCHIVEDPAGEHELP: 'Paĝo estas forigita el malneta kaj publika'
|
||||
ARCHIVEDPAGESHORT: Enarkivigita
|
||||
BUTTONARCHIVEDESC: 'Malpublikigi kaj sendi al arkivo'
|
||||
BUTTONCANCELDRAFT: 'Nuligi malnetajn ŝanĝojn'
|
||||
BUTTONCANCELDRAFTDESC: 'Forigi vian malneton kaj reveni al la aktuale eldonita paĝo'
|
||||
BUTTONPUBLISHED: Publikigita
|
||||
@ -315,6 +331,7 @@ eo:
|
||||
DEFAULTABOUTTITLE: 'Pri ni'
|
||||
DEFAULTCONTACTCONTENT: '<p>Vi povas plenigi ĉi tiun paĝon per via materialo, aŭ forigi ĝin kaj krei viajn proprajn paĝojn.<br /></p>'
|
||||
DEFAULTCONTACTTITLE: 'Kontakti nin'
|
||||
DEFAULTHOMECONTENT: '<p>Bonvenon al SilverStripe! Jen la apriora hejmpaĝo. Vi povas redakti la paĝon malfermante je <a href="admin/">la CMS</a>.</p><p>Vi povas nun aliri la <a href="http://docs.silverstripe.org">dokumentaron por programistoj</a>, aŭ komenci la <a href="http://www.silverstripe.org/learn/lessons">SilverStripe-lecionojn</a>.</p>'
|
||||
DEFAULTHOMETITLE: Hejmo
|
||||
DELETEDPAGEHELP: 'Paĝo ne plu estas publikigita'
|
||||
DELETEDPAGESHORT: Forigita
|
||||
@ -385,6 +402,9 @@ eo:
|
||||
many_many_BackLinkTracking: 'Spuri retroligilojn'
|
||||
many_many_ImageTracking: 'Spuri Bildojn'
|
||||
many_many_LinkTracking: 'Spuri Ligilojn'
|
||||
SiteTreeFileExtension:
|
||||
BACKLINK_LIST_DESCRIPTION: 'Ĉi tiu listo vidigas ĉiujn paĝojn kie la dosiero estas enmetita per la faksimila redaktilo.'
|
||||
EDIT: Redakti
|
||||
SiteTreeURLSegmentField:
|
||||
EMPTY: 'Bonvolu enigi URL-segmenton aŭ alklaki al Rezigni'
|
||||
HelpChars: 'Aŭtomate konvertas aŭ forigas specialajn signojn.'
|
||||
|
12
lang/es.yml
12
lang/es.yml
@ -71,8 +71,6 @@ es:
|
||||
PUBLISH_PAGES: Publicar
|
||||
RESTORE: Restaurar
|
||||
RESTORED_PAGES: '%d páginas restauradas'
|
||||
UNPUBLISHED_PAGES: 'Ocultar %d páginas'
|
||||
UNPUBLISH_PAGES: Ocultar publicación
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Archivos
|
||||
CMSMain:
|
||||
@ -109,7 +107,6 @@ es:
|
||||
REMOVED: 'Removido'
|
||||
REMOVEDPAGE: 'Eliminado ''{title}'' del sitio publicado'
|
||||
REMOVEDPAGEFROMDRAFT: 'Borrado ''%s''%s desde el sitio no publicado'
|
||||
RESTORE: 'Recuperar borrador'
|
||||
RESTORED: 'Restablecido ''{title}'' correctamente'
|
||||
RESTORE_DESC: 'Recuperar la versión archivada del borrador'
|
||||
RESTORE_TO_ROOT: 'Recuperar borrador al nivel superior'
|
||||
@ -171,16 +168,8 @@ es:
|
||||
FILTERLABELTEXT: Filtrar
|
||||
CMSSettingsController:
|
||||
MENUTITLE: Ajustes
|
||||
CMSSiteTreeFilter_ChangedPages:
|
||||
Title: 'Páginas modificadas'
|
||||
CMSSiteTreeFilter_DeletedPages:
|
||||
Title: 'Todas las páginas, incluyendo archivadas'
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'Todas las paginas'
|
||||
CMSSiteTreeFilter_StatusDeletedPages:
|
||||
Title: 'Páginas archivadas'
|
||||
CMSSiteTreeFilter_StatusDraftPages:
|
||||
Title: 'Borradores'
|
||||
CMSSiteTreeFilter_StatusRemovedFromDraftPages:
|
||||
Title: 'Publicada, pero eliminada de los borradores'
|
||||
ContentControl:
|
||||
@ -298,7 +287,6 @@ es:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Archivado
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Para compartir ésta a esta página, copiar y pegar el enlace de abajo.'
|
||||
ShareLink: 'Compartir enlace'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Cerrar
|
||||
|
219
lang/fa_IR.yml
219
lang/fa_IR.yml
@ -2,63 +2,198 @@ fa_IR:
|
||||
AssetAdmin:
|
||||
ADDFILES: 'اضافه کردن فایل'
|
||||
ActionAdd: 'اضافه کردن پوشه'
|
||||
AppCategoryArchive: بایگانی
|
||||
AppCategoryAudio: صوتی
|
||||
AppCategoryDocument: اسناد
|
||||
AppCategoryFlash: فلش
|
||||
AppCategoryImage: تصویر
|
||||
AppCategoryVideo: ویدئو
|
||||
BackToFolder: 'بازگشت به پوشه'
|
||||
CREATED: تاریخ
|
||||
CurrentFolderOnly: 'محدود به پوشهی کنونی؟'
|
||||
DetailsView: جزییات
|
||||
FILES: فایل ها
|
||||
FILES: فایلها
|
||||
FILESYSTEMSYNC: 'همگامسازی فایلها'
|
||||
FILESYSTEMSYNCTITLE: 'به روز رسانی مداخل پایگاه داده CMS از فایلهای روی فایلسیستم. مفید برای وقتی که فایلهای جدید خارج از CMS بارگذاری شدهاند، مثلاً از طریقFTP.'
|
||||
FROMTHEINTERNET: 'از اینترنت'
|
||||
FROMYOURCOMPUTER: 'از کامپیوتر شما'
|
||||
Filetype: 'نوع فایل'
|
||||
ListView: 'نمایش لیستی'
|
||||
MENUTITLE: فایلها
|
||||
NEWFOLDER: پوشه جديد
|
||||
SIZE: حجم
|
||||
TreeView: 'مشاهده درخت'
|
||||
Upload: آپلود
|
||||
THUMBSDELETED: '{count} تصویر انگشتی بلااستفاده حذف گردید'
|
||||
TreeView: 'نمایش درختی'
|
||||
Upload: بارگذاری
|
||||
AssetAdmin_DeleteBatchAction:
|
||||
TITLE: 'حذف پوشه ها'
|
||||
TITLE: 'حذف پوشهها'
|
||||
AssetAdmin_Tools:
|
||||
FILTER: پالایش
|
||||
AssetAdmin_left_ss:
|
||||
GO: برو
|
||||
AssetTableField:
|
||||
BACKLINKCOUNT: 'استفاده شده در:'
|
||||
PAGES: صفحه(ها)
|
||||
BackLink_Button_ss:
|
||||
Back: بازگشت
|
||||
BrokenLinksReport:
|
||||
Any: هر
|
||||
BROKENLINKS: 'گزارش پیوندهای معیوب'
|
||||
CheckSite: 'بررسی سایت'
|
||||
CheckSiteDropdownDraft: 'سایت پیشنویس'
|
||||
CheckSiteDropdownPublished: 'سایت منتشر شده'
|
||||
ColumnDateLastModified: 'تاریخ آخرین تغییرات'
|
||||
ColumnDateLastPublished: 'تاریخ آخرین انتشار'
|
||||
ColumnProblemType: 'نوع مشکل'
|
||||
ColumnURL: آدرس
|
||||
HasBrokenFile: 'دارای فایل معیوب'
|
||||
HasBrokenLink: 'دارای پیوند معیوب'
|
||||
HasBrokenLinkAndFile: 'دارای پیوند و فایل معیوب'
|
||||
HoverTitleEditPage: 'ویرایش صفحه'
|
||||
PageName: 'نام صفحه'
|
||||
ReasonDropdown: 'مشکل در بررسی'
|
||||
ReasonDropdownBROKENFILE: 'فایل معیوب'
|
||||
ReasonDropdownBROKENLINK: 'پیوند معیوب'
|
||||
ReasonDropdownRPBROKENLINK: 'صفحه ارجاعی به صفحه ناموجود اشاره دارد'
|
||||
ReasonDropdownVPBROKENLINK: 'صفحه مجازی به صفحه ناموجود اشاره دارد'
|
||||
RedirectorNonExistent: 'صفحه ارجاعی به صفحه ناموجود اشاره دارد'
|
||||
VirtualPageNonExistent: 'صفحه مجازی به صفحه ناموجود اشاره دارد'
|
||||
CMSAddPageController:
|
||||
Title: 'اضافه کردن صفحه'
|
||||
CMSBatchActions:
|
||||
DELETE_DRAFT_PAGES: 'حذف از پیش نویس سایت'
|
||||
ARCHIVE: بایگانی
|
||||
ARCHIVED_PAGES: 'بایگانی %d صفحه'
|
||||
DELETED_DRAFT_PAGES: 'حذف %d صفحه از سایت پیشنویس، %d عدم موفقیت'
|
||||
DELETED_PAGES: 'حذف %d صفحه از سایت منتشر شده، %d عدم موفقیت'
|
||||
DELETE_DRAFT_PAGES: 'حذف از سایت پیشنویس'
|
||||
DELETE_PAGES: 'حذف از سایت منتشر شده'
|
||||
PUBLISHED_PAGES: 'انتشار %d صفحه، %d عدم موفقیت'
|
||||
PUBLISH_PAGES: انتشار
|
||||
RESTORE: بازنشاندن
|
||||
RESTORED_PAGES: 'بازنشاندن %d صفحه'
|
||||
CMSFileAddController:
|
||||
MENUTITLE: فایلها
|
||||
CMSMain:
|
||||
ACCESS: 'دسترسی به بخش ''{title}'''
|
||||
ARCHIVE: بایگانی
|
||||
ARCHIVEDPAGE: 'صفحه بایگانی شده ''%s'''
|
||||
AddNew: 'افزودن صفحه جدید'
|
||||
AddNewButton: 'جدید'
|
||||
AddPageRestriction: 'یادداشت: برخی انواع صفحه برای این انتخاب مجاز نیستند.'
|
||||
Cancel: لغو
|
||||
ChoosePageParentMode: 'انتخاب کنید کجا این صفحه ایجاد شود'
|
||||
ChoosePageType: 'انتخاب نوع صفحه'
|
||||
Create: ایجاد
|
||||
DELETE: 'حذف کردن از پیشنویس سایت'
|
||||
DELETE: 'حذف پیشنویس'
|
||||
DELETEFP: حذف کردن از منتشر شده های سایت
|
||||
EMAIL: پست الکترونیک
|
||||
EditTree: 'ویرایش درخت'
|
||||
ListFiltered: 'لیست پالایش شده'
|
||||
MENUTITLE: 'ویرایش صفحه'
|
||||
NEWPAGE: '{pagetype} جدید'
|
||||
PAGENOTEXISTS: 'این صفحه وجود ندارد'
|
||||
PAGES: صفحات
|
||||
PAGETYPEANYOPT: هر
|
||||
PAGETYPEOPT: 'نوع صفحه'
|
||||
PUBALLFUN: 'عملکرد "انتشار همه"'
|
||||
SAVE: ذخیره
|
||||
SAVEDRAFT: 'ذخیره پیشنویس'
|
||||
TabContent: محتوا
|
||||
TabHistory: تاریخچه
|
||||
TabSettings: تنظیمات
|
||||
TreeFiltered: 'لیست درختی پالایش شده'
|
||||
TreeFilteredClear: 'پاک کردن پالایش'
|
||||
CMSMain_left_ss:
|
||||
APPLY_FILTER: 'اعمال پالایش'
|
||||
CLEAR_FILTER: 'پاک کردن پالایش'
|
||||
RESET: تنظیم مجدد
|
||||
CMSPageAddController:
|
||||
MENUTITLE: 'افزودن صفحه'
|
||||
ParentMode_child: 'زیر صفحهی دیگر'
|
||||
ParentMode_top: 'سطح بالا'
|
||||
CMSPageEditController:
|
||||
MENUTITLE: 'ویرایش صفحه'
|
||||
CMSPageHistoryController:
|
||||
COMPAREMODE: 'وضعیت مقایسه (دو مورد انتخاب کنید)'
|
||||
COMPAREVERSIONS: 'مقایسه نسخهها'
|
||||
COMPARINGVERSION: 'مقایسه نسخههای {version1} و {version2}.'
|
||||
MENUTITLE: تاریخچه
|
||||
REVERTTOTHISVERSION: 'بازگشت به این نسخه'
|
||||
SHOWUNPUBLISHED: 'نمایش نسخههای منتشر نشده'
|
||||
SHOWVERSION: 'نمایش ویرایش'
|
||||
VIEW: نمایش
|
||||
CMSPageHistoryController_versions_ss:
|
||||
AUTHOR: ناشر
|
||||
NOTPUBLISHED: 'منتشر نشده'
|
||||
PUBLISHER: منتشر کننده
|
||||
UNKNOWN: نامشخص
|
||||
WHEN: چه وقت
|
||||
CMSPageSettingsController:
|
||||
MENUTITLE: 'ویرایش صفحه'
|
||||
CMSPagesController:
|
||||
GalleryView: 'نمایش نگارخانه'
|
||||
ListView: 'نمایش لیستی'
|
||||
MENUTITLE: صفحات
|
||||
TreeView: 'نمایش درختی'
|
||||
CMSPagesController_Tools_ss:
|
||||
FILTER: پالایش
|
||||
CMSSIteTreeFilter_PublishedPages:
|
||||
Title: 'صفحات منتشر شده'
|
||||
CMSSearch:
|
||||
FILTERDATEFROM: از
|
||||
FILTERDATEHEADING: تاریخ
|
||||
FILTERDATETO: تا
|
||||
FILTERLABELTEXT: محتوا
|
||||
CMSSettingsController:
|
||||
MENUTITLE: تنظیمات
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'تمامی صفحات'
|
||||
ContentController:
|
||||
DRAFTSITE: 'تارگاه چرکنویس'
|
||||
ARCHIVEDSITE: 'نسخه پیشنمایش'
|
||||
ARCHIVEDSITEFROM: 'سایت بایگانی شده از'
|
||||
CMS: CMS
|
||||
DRAFT: پیشنویس
|
||||
DRAFTSITE: 'سایت پیشنویس'
|
||||
Email: ایمیل
|
||||
INSTALL_SUCCESS: 'نصب موفقیتآمیز!'
|
||||
LOGIN: ورود
|
||||
LOGOUT: 'خروج'
|
||||
NOTLOGGEDIN: 'وارد نشده'
|
||||
PUBLISHED: منتشر شده
|
||||
PUBLISHEDSITE: 'سایت منتشر شده'
|
||||
Password: رمز عبور
|
||||
VIEWPAGEIN: 'مشاهده صفحه در'
|
||||
ErrorPage:
|
||||
400: '400 - درخواست نادرست'
|
||||
401: '401 - بدون مجوز'
|
||||
403: '403 - ممنوع'
|
||||
404: '404 - یافت نشد'
|
||||
405: '405 - روش مجاز نیست'
|
||||
406: '406 - پذیرفتنی نیست'
|
||||
408: '408 - زمان درخواست گذشت'
|
||||
409: '409 - تضاد'
|
||||
410: '410 - از دست رفت'
|
||||
412: '412 - پیش شرط درست نبود'
|
||||
429: '429 - درخواستهای بسیار'
|
||||
502: '502 - درگاه نادرست'
|
||||
CODE: 'شماره ایراد'
|
||||
DEFAULTERRORPAGETITLE: 'برگ پیدا نشد'
|
||||
DEFAULTSERVERERRORPAGETITLE: 'خطای سرور'
|
||||
PLURALNAME: 'صفحات خطا'
|
||||
SINGULARNAME: 'صفحهی خطا'
|
||||
Folder:
|
||||
AddFolderButton: 'افزودن پوشه'
|
||||
DELETEUNUSEDTHUMBNAILS: 'حذف تصاویر انگشتی بلااستفاده'
|
||||
UNUSEDFILESTITLE: 'فایلهای بلااستفاده'
|
||||
UNUSEDTHUMBNAILSTITLE: 'تصاویر انگشتی بلااستفاده'
|
||||
UploadFilesButton: بارگذاری
|
||||
LeftAndMain:
|
||||
DELETED: حذف شده
|
||||
PreviewButton: پیشنمایش
|
||||
SAVEDUP: ذخیره شده
|
||||
SearchResults: 'نتایج جستجو'
|
||||
Permission:
|
||||
CMS_ACCESS_CATEGORY: 'دسترسی CMS'
|
||||
Permissions:
|
||||
CONTENT_CATEGORY: 'دسترسی محتوا'
|
||||
PERMISSIONS_CATEGORY: 'مجوز دسترسی ها و وظایف'
|
||||
@ -68,6 +203,9 @@ fa_IR:
|
||||
REDIRECTTOEXTERNAL: 'یک تارگاه دیگر'
|
||||
REDIRECTTOPAGE: 'یک برگ روی تارگاه شما'
|
||||
YOURPAGE: 'برگ روی تارگاه شما'
|
||||
ReportAdmin:
|
||||
MENUTITLE: گزارشات
|
||||
ReportTitle: عنوان
|
||||
ReportAdminForm:
|
||||
FILTERBY: 'فیلتر به وسیله'
|
||||
SearchForm:
|
||||
@ -75,17 +213,33 @@ fa_IR:
|
||||
SEARCH: جستجو
|
||||
SearchResults: 'نتایج جستجو'
|
||||
SideReport:
|
||||
BROKENFILES: 'صفحات دارای فایل معیوب'
|
||||
BROKENLINKS: 'صفحات دارای پیوند معیوب'
|
||||
BrokenLinksGroupTitle: 'گزارش پیوندهای معیوب'
|
||||
ContentGroupTitle: 'گزارشات محتوا'
|
||||
EMPTYPAGES: 'صفحات بدون مطلب'
|
||||
LAST2WEEKS: 'صفحات ویرایش شده در 2 هفته گذشته'
|
||||
OtherGroupTitle: سایر
|
||||
ParameterLiveCheckbox: 'بررسی سایت به صورت زنده'
|
||||
REPEMPTY: 'گزارش {title} خالی است.'
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: بایگانی شده
|
||||
SilverStripeNavigatorLink:
|
||||
ShareLink: 'پیوند اشتراکگذاری'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: بستن
|
||||
SiteConfig:
|
||||
DEFAULTTHEME: '(استفاده از پوسته پیشفرض)'
|
||||
EDITHEADER: 'چه کسی میتواند صفحات را در این سایت ویرایش کند؟'
|
||||
EDIT_PERMISSION: 'مدیریت پیکربندی سایت'
|
||||
PLURALNAME: 'تنظیمات سایت'
|
||||
SINGULARNAME: 'تنظیم سایت'
|
||||
SITENAMEDEFAULT: 'نام سایت شما'
|
||||
SITETAGLINE: 'شعار سایت'
|
||||
SITETITLE: 'عنوان سایت'
|
||||
TABACCESS: دسترسی
|
||||
TABMAIN: اصلی
|
||||
TAGLINEDEFAULT: 'شعار شما در اینجا'
|
||||
THEME: پوسته
|
||||
TOPLEVELCREATE: 'چه کسی میتواند صفحه جدیدی در ریشه(root) سایت ایجاد کند؟'
|
||||
VIEWHEADER: 'چه کسی میتواند صفحات سایت را مشاهده کند؟'
|
||||
@ -94,31 +248,78 @@ fa_IR:
|
||||
ACCESSHEADER: 'چه کسی بتواند این صفحه را مشاهده کنید ؟'
|
||||
ACCESSLOGGEDIN: 'کاربران وارد شده'
|
||||
ACCESSONLYTHESE: 'فقط این افراد (انتخاب از لیست)'
|
||||
ADDEDTODRAFTSHORT: پیشنویس
|
||||
ALLOWCOMMENTS: 'پذیرفتن نظرات در این صفحه ؟'
|
||||
ARCHIVEDPAGESHORT: بایگانی شده
|
||||
BUTTONCANCELDRAFT: 'لغو تغییرات پیشنویس'
|
||||
BUTTONPUBLISHED: منتشر شده
|
||||
BUTTONSAVED: ذخیره شده
|
||||
BUTTONSAVEPUBLISH: 'ذخیره و انتشار'
|
||||
BUTTONUNPUBLISH: عدم انتشار
|
||||
Comments: دیدگاهها
|
||||
Content: درون مایه
|
||||
DEFAULTABOUTTITLE: 'درباره ما'
|
||||
DEFAULTCONTACTTITLE: 'تماس با ما'
|
||||
DEFAULTHOMETITLE: خانه
|
||||
DELETEDPAGESHORT: حذف شده
|
||||
DEPENDENT_NOTE: 'صفحات زیر وابسته به این صفحه هستند. شامل صفحات مجازی، انتقال دهنده و صفحاتی با محتوای لینک'
|
||||
DependtPageColumnLinkType: 'نوع پیوند'
|
||||
DependtPageColumnURL: نشانی اینترنتی
|
||||
EDITANYONE: 'هر کسی بتواند به سیستم مدیریت محتوا وارد شود'
|
||||
EDITHEADER: 'چه کسی بتواند این صفحه را ویرایش کند ؟'
|
||||
EDITONLYTHESE: 'فقط این افراد (انتخاب از لیست)'
|
||||
HASBROKENLINKS: 'لینک این صفحه شکسته است.'
|
||||
EDITORGROUPS: 'گروههای ویرایشگر'
|
||||
EDIT_ALL_DESCRIPTION: 'ویرایش هر صفحهای'
|
||||
Editors: 'گروههای ویرایشگران'
|
||||
GroupPlaceholder: 'برای انتخاب گروه کلیک کنید'
|
||||
HASBROKENLINKS: 'این صفحه دارای پیوند معیوب است.'
|
||||
HTMLEDITORTITLE: درونمایه
|
||||
INHERIT: 'از صفحه والد ارث ببر'
|
||||
LASTPUBLISHED: 'آخرین انتشار'
|
||||
LASTSAVED: 'آخرین ذخیرهسازی'
|
||||
LASTUPDATED: 'آخرین به روزرسانی'
|
||||
MENUTITLE: 'برچسب ناوبری'
|
||||
METADESC: 'توضیحات'
|
||||
METAEXTRA: 'متا تگهای اختصاصی'
|
||||
MODIFIEDONDRAFTSHORT: تغییر یافته
|
||||
MetadataToggle: متاداده
|
||||
MoreOptions: 'گزینههای بیشتر'
|
||||
NOTPUBLISHED: 'منتشر نشده'
|
||||
PAGELOCATION: 'موقعیت صفحه'
|
||||
PAGETITLE: 'نام برگ'
|
||||
PAGETYPE: 'نوع برگ'
|
||||
PARENTID: 'برگ مادر'
|
||||
PARENTTYPE: 'جایگاه برگ'
|
||||
PARENTTYPE_ROOT: 'صفحهی سطح بالا'
|
||||
PLURALNAME: صفحات
|
||||
REMOVEDFROMDRAFTSHORT: 'حذف شده از پیشنویس'
|
||||
SHOWINMENUS: 'نمایش در منوها؟'
|
||||
SHOWINSEARCH: 'نمایش در جستجو ؟'
|
||||
SINGULARNAME: صفحه
|
||||
TABBEHAVIOUR: رفتار
|
||||
TABCONTENT: 'مطلب'
|
||||
TABDEPENDENT: 'صفحات وابسته'
|
||||
TOPLEVEL: 'محتوای سایت (سطح بالا)'
|
||||
URLSegment: 'بخش آدرس URL'
|
||||
VIEW_DRAFT_CONTENT: 'مشاهده محتوای پیشنویس'
|
||||
VIEWERGROUPS: 'گروههای مشاهدهکنندگان'
|
||||
VIEW_ALL_DESCRIPTION: 'مشاهده هر صفحهای'
|
||||
VIEW_DRAFT_CONTENT: 'مشاهده محتوای پیشنویس'
|
||||
Viewers: 'گروههای مشاهدهکنندگان'
|
||||
Visibility: پدیداری
|
||||
has_one_Parent: 'برگ مادر'
|
||||
many_many_BackLinkTracking: 'ردیابی بکلینک'
|
||||
many_many_LinkTracking: 'ردیابی پیوند'
|
||||
SiteTreeFileExtension:
|
||||
EDIT: ویرایش
|
||||
URLSegmentField:
|
||||
Cancel: لغو
|
||||
Edit: ویرایش
|
||||
OK: تایید
|
||||
ViewArchivedEmail_ss:
|
||||
HAVEASKED: 'شما خواسته اید که درونمایه تارگاه ما را ببینید در'
|
||||
VirtualPage:
|
||||
CHOOSE: 'صفحه ارجاعی'
|
||||
EditLink: ویرایش
|
||||
HEADER: 'این یک صفحه مجازی است'
|
||||
PLURALNAME: 'صفحات مجازی'
|
||||
SINGULARNAME: 'صفحه مجازی'
|
||||
|
@ -273,7 +273,6 @@ fi:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Arkistoitu
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Jakaaksesi tämä sivu, kopioi ja liitä alla oleva linkki.'
|
||||
ShareLink: 'Jaa linkki'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Sulje
|
||||
|
25
lang/fr.yml
25
lang/fr.yml
@ -61,20 +61,27 @@ fr:
|
||||
CMSAddPageController:
|
||||
Title: 'Ajouter page'
|
||||
CMSBatchActions:
|
||||
ARCHIVE: Archive
|
||||
ARCHIVED_PAGES: '%d pages archivées'
|
||||
DELETED_DRAFT_PAGES: '%d pages supprimées du site brouillon, %d échecs'
|
||||
DELETED_PAGES: '%d pages supprimées du site, %d échecs'
|
||||
DELETE_DRAFT_PAGES: 'Supprimer du site brouillion'
|
||||
DELETE_PAGES: 'Supprimer du site publié'
|
||||
PUBLISHED_PAGES: '%d pages publiées, %d échecs'
|
||||
PUBLISH_PAGES: Publier
|
||||
RESTORE: Restaurer
|
||||
RESTORED_PAGES: '%d pages restaurées'
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Fichiers
|
||||
CMSMain:
|
||||
ACCESS: 'Droits d’accès à la section « {title} »'
|
||||
ACCESS_HELP: 'Permettre l''affichage de la section contenant l''arborescence et le contenu. La gestion des permissions de visualisation et d''édition peut se faire à travers des liste spécifiques à chaque page. Et aussi la "Permission de contenu" séparé.'
|
||||
ARCHIVE: Archive
|
||||
ARCHIVEDPAGE: 'Page ''%s'' archivée'
|
||||
AddNew: 'Ajouter page'
|
||||
AddNewButton: 'Ajouter'
|
||||
AddPageRestriction: 'Note : certains types de page ne sont pas autorisés pour cette sélection'
|
||||
Cancel: Annuler
|
||||
ChoosePageParentMode: 'Choisissez où créer cette page'
|
||||
ChoosePageType: 'Choisir le type de page'
|
||||
Create: Créer
|
||||
@ -85,7 +92,7 @@ fr:
|
||||
DUPLICATEDWITHCHILDREN: '''{title}'' et ses enfants dupliqués avec succès'
|
||||
EMAIL: Email
|
||||
EditTree: 'Editer l''arbre'
|
||||
ListFiltered: 'Filtrelenmiş liste.'
|
||||
ListFiltered: 'Liste filtrée.'
|
||||
MENUTITLE: 'Éditer la page'
|
||||
NEWPAGE: 'Nouveau {pagetype}'
|
||||
PAGENOTEXISTS: 'Cette page n''existe pas'
|
||||
@ -109,10 +116,11 @@ fr:
|
||||
TabContent: Contenu
|
||||
TabHistory: Historique
|
||||
TabSettings: Paramètres
|
||||
TreeFiltered: 'Filtrelenmiş ağaç liste.'
|
||||
TreeFilteredClear: 'Filtreyi temizle'
|
||||
TreeFiltered: 'Arbre filtré.'
|
||||
TreeFilteredClear: 'Réinitialiser le filtre.'
|
||||
CMSMain_left_ss:
|
||||
APPLY_FILTER: 'Appliquer le filtre'
|
||||
CLEAR_FILTER: 'Réinitialiser le filtre.'
|
||||
RESET: Réinitialiser
|
||||
CMSPageAddController:
|
||||
MENUTITLE: 'Ajouter page'
|
||||
@ -148,6 +156,8 @@ fr:
|
||||
MULTISELECT: Choix multiple
|
||||
CMSPagesController_Tools_ss:
|
||||
FILTER: Filtrer
|
||||
CMSSIteTreeFilter_PublishedPages:
|
||||
Title: 'Pages publiées'
|
||||
CMSSearch:
|
||||
FILTERDATEFROM: De
|
||||
FILTERDATEHEADING: Date
|
||||
@ -213,6 +223,7 @@ fr:
|
||||
DEFAULTSERVERERRORPAGETITLE: 'Erreur du serveur'
|
||||
DESCRIPTION: 'Contenu personnalisé pour diverses erreurs (p. ex. « Page introuvable »)'
|
||||
ERRORFILEPROBLEM: ' L’ouverture du fichier « {filename} » afin de le modifier a provoqué une erreur ; vérifiez les droits d’accès au fichier. '
|
||||
PLURALNAME: 'Pages d’erreur'
|
||||
SINGULARNAME: 'Page d’erreur'
|
||||
Folder:
|
||||
AddFolderButton: 'Ajouter un dossier'
|
||||
@ -235,6 +246,7 @@ fr:
|
||||
HASBEENSETUP: 'Une page de redirection sans adresse de redirection a été créée.'
|
||||
HEADER: 'Cette page va rediriger les utilisateurs vers une autre page'
|
||||
OTHERURL: 'Autre URL de site web'
|
||||
PLURALNAME: 'Pages de redirection'
|
||||
REDIRECTTO: 'Rediriger vers'
|
||||
REDIRECTTOEXTERNAL: 'Autre site web'
|
||||
REDIRECTTOPAGE: 'Une page de votre site web'
|
||||
@ -268,7 +280,6 @@ fr:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Archivé
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Pour partager cette page, copiez et collez le lien ci-dessous.'
|
||||
ShareLink: 'Partager le lien'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Fermer
|
||||
@ -297,6 +308,7 @@ fr:
|
||||
ADDEDTODRAFTSHORT: Brouillon
|
||||
ALLOWCOMMENTS: 'Autoriser les commentaires sur cette page ?'
|
||||
APPEARSVIRTUALPAGES: 'Ce contenu apparaît aussi dans les sections {title} des pages virtuelles.'
|
||||
ARCHIVEDPAGESHORT: Archivé
|
||||
BUTTONCANCELDRAFT: 'Annuler les changements brouillons'
|
||||
BUTTONCANCELDRAFTDESC: 'Supprimer votre brouillon et revenir à la page actuellement publiée'
|
||||
BUTTONPUBLISHED: Publié
|
||||
@ -310,6 +322,7 @@ fr:
|
||||
DEFAULTABOUTTITLE: 'Qui sommes nous ?'
|
||||
DEFAULTCONTACTCONTENT: '<p>Vous pouvez éditer cette page avec votre propre contenu ou supprimer celle-ci et créer vos propres pages.<br></p>'
|
||||
DEFAULTCONTACTTITLE: 'Contactez-nous'
|
||||
DEFAULTHOMECONTENT: '<p>Bienvenue dans SilverStripe! Ceci est la page d''accueil par défaut. Vous pouvez éditer cette page en ouvrant <a href="admin/">le CMS</a>.</p><p>Vous pouvez maintenant accéder à la <a href="http://docs.silverstripe.org">documentation développeur</a>, ou commencer les <a href="http://www.silverstripe.org/learn/lessons">leçons SilverStripe</a>.</p>'
|
||||
DEFAULTHOMETITLE: Accueil
|
||||
DELETEDPAGEHELP: 'La page n’est plus publique '
|
||||
DELETEDPAGESHORT: Supprimée
|
||||
@ -380,6 +393,9 @@ fr:
|
||||
many_many_BackLinkTracking: 'Suivi des liens retour'
|
||||
many_many_ImageTracking: 'Suivi des images'
|
||||
many_many_LinkTracking: 'Suivi des Liens'
|
||||
SiteTreeFileExtension:
|
||||
BACKLINK_LIST_DESCRIPTION: 'Cette liste affiche toutes les pages où le fichier a été ajouté via l''éditeur WYSIWYG.'
|
||||
EDIT: Éditer
|
||||
SiteTreeURLSegmentField:
|
||||
EMPTY: 'Merci d''entrer une URL ou cliquez sur Annuler'
|
||||
HelpChars: 'Les caractères spéciaux sont automatiquement convertis ou supprimés.'
|
||||
@ -396,5 +412,6 @@ fr:
|
||||
EditLink: éditer
|
||||
HEADER: 'Cette page est virtuelle'
|
||||
HEADERWITHLINK: 'Ceci est une page virtuelle copiant le contenu de "{title}" ({link})'
|
||||
PLURALNAME: 'Pages virtuelles'
|
||||
PageTypNotAllowedOnRoot: 'Le type de page d’origine « {type} » n’est pas autorisé au niveau racine pour cette page virtuelle'
|
||||
SINGULARNAME: 'Page virtuelle'
|
||||
|
@ -235,7 +235,6 @@ hu:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Archiválva
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Az oldal megosztásához másolja ki az alábbi linket'
|
||||
ShareLink: 'Hivatkozás megosztása'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Bezár
|
||||
|
@ -71,8 +71,6 @@ id:
|
||||
PUBLISH_PAGES: Terbitkan
|
||||
RESTORE: Pulihkan
|
||||
RESTORED_PAGES: 'Pulihkan %d halaman'
|
||||
UNPUBLISHED_PAGES: 'Batal Terbit %d halaman'
|
||||
UNPUBLISH_PAGES: Batal Terbit
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Berkas
|
||||
CMSMain:
|
||||
@ -107,7 +105,6 @@ id:
|
||||
REMOVED: 'Dihapus ''{title}''{description} dari situs langsung'
|
||||
REMOVEDPAGE: 'Menghapus ''{title}'' dari situs terbit'
|
||||
REMOVEDPAGEFROMDRAFT: 'Menghapus ''%s'' dari draf situs'
|
||||
RESTORE: 'Pulihkan Draf'
|
||||
RESTORED: 'Pemulihan ''{title}'' sukses'
|
||||
RESTORE_DESC: 'Pulihkan versi arsip ke draf'
|
||||
RESTORE_TO_ROOT: 'Pulihkan draf pada level teratas'
|
||||
@ -283,7 +280,6 @@ id:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Terarsip
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Untuk membagi laman ini, salin dan tempel pada tautan berikut.'
|
||||
ShareLink: 'Bagi tautan'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Tutup
|
||||
|
12
lang/it.yml
12
lang/it.yml
@ -71,8 +71,6 @@ it:
|
||||
PUBLISH_PAGES: Pubblica
|
||||
RESTORE: Ripristina
|
||||
RESTORED_PAGES: '%d pagine ripristinate'
|
||||
UNPUBLISHED_PAGES: '%d pagine nascoste'
|
||||
UNPUBLISH_PAGES: Nascondere
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Files
|
||||
CMSMain:
|
||||
@ -109,7 +107,6 @@ it:
|
||||
REMOVED: '''{title}'' {description} rimosso dal sito pubblico'
|
||||
REMOVEDPAGE: 'Eliminata ''{title}'' dal sito pubblicato'
|
||||
REMOVEDPAGEFROMDRAFT: 'Eliminata ''%s'' dal sito bozza'
|
||||
RESTORE: 'Ripristinare bozza'
|
||||
RESTORED: 'Ripristinata ''{title}'' con successo'
|
||||
RESTORE_DESC: 'Ripristinare la versione archiviata nella bozza'
|
||||
RESTORE_TO_ROOT: 'Ripristinare bozza al primo livello'
|
||||
@ -171,16 +168,8 @@ it:
|
||||
FILTERLABELTEXT: Contenuto
|
||||
CMSSettingsController:
|
||||
MENUTITLE: Impostazioni
|
||||
CMSSiteTreeFilter_ChangedPages:
|
||||
Title: 'Pagine modificate'
|
||||
CMSSiteTreeFilter_DeletedPages:
|
||||
Title: 'Tutte le pagine, comprese quelle archiviate'
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'Tutte le pagine'
|
||||
CMSSiteTreeFilter_StatusDeletedPages:
|
||||
Title: 'Pagine archiviate'
|
||||
CMSSiteTreeFilter_StatusDraftPages:
|
||||
Title: 'Pagine bozza'
|
||||
CMSSiteTreeFilter_StatusRemovedFromDraftPages:
|
||||
Title: 'Live ma rimosse dalla bozza'
|
||||
ContentControl:
|
||||
@ -298,7 +287,6 @@ it:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Archiviato
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Per condividere questa pagina, copia e incolla il link qui sotto.'
|
||||
ShareLink: 'Link di condivisione'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Chiudi
|
||||
|
@ -268,7 +268,6 @@ ja:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: アーカイブされた
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'このページをシェアするには、下のリンクをコピーして貼り付けてください。'
|
||||
ShareLink: '共有リンク'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: 閉じる
|
||||
|
@ -271,7 +271,6 @@ ko:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: 보관됨
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: '이 페이지를 공유하려면 아래 링크를 복사하여 붙여 넣기하세요.'
|
||||
ShareLink: '공유 링크'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: 닫기
|
||||
|
10
lang/lt.yml
10
lang/lt.yml
@ -72,7 +72,7 @@ lt:
|
||||
RESTORE: Atstatyti
|
||||
RESTORED_PAGES: 'Atstatyti %d puslapiai'
|
||||
UNPUBLISHED_PAGES: 'Nebepublikuojami %d puslapiai'
|
||||
UNPUBLISH_PAGES: Nebepublikuoti
|
||||
UNPUBLISH_PAGES: Nepublikuoti
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Bylos
|
||||
CMSMain:
|
||||
@ -109,7 +109,7 @@ lt:
|
||||
REMOVED: 'Iš publikuojamos svetainės ištrintas ''{title}''{description}'
|
||||
REMOVEDPAGE: 'Iš publikuojamos svetainės pašalintas ''{title}'''
|
||||
REMOVEDPAGEFROMDRAFT: '''%s'' pašalintas iš juodraštinės svetainės'
|
||||
RESTORE: 'Atstatyti juodraštį'
|
||||
RESTORE: Atstatyti
|
||||
RESTORED: '''{title}'' atstatytas sėkmingai'
|
||||
RESTORE_DESC: 'Atstatyti suarchyvuotą versiją kaip juodraštinį puslapį'
|
||||
RESTORE_TO_ROOT: 'Atstatyti juodraštį aukščiausiame lygyje'
|
||||
@ -172,15 +172,15 @@ lt:
|
||||
CMSSettingsController:
|
||||
MENUTITLE: Nustatymai
|
||||
CMSSiteTreeFilter_ChangedPages:
|
||||
Title: 'Pakeisti puslapiai'
|
||||
Title: 'Ištrinti puslapiai'
|
||||
CMSSiteTreeFilter_DeletedPages:
|
||||
Title: 'Visi puslapiai, kartu su suarchyvuotais'
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'Visi puslapiai'
|
||||
CMSSiteTreeFilter_StatusDeletedPages:
|
||||
Title: 'Suarchyvuoti puslapiai'
|
||||
Title: 'Ištrinti puslapiai'
|
||||
CMSSiteTreeFilter_StatusDraftPages:
|
||||
Title: 'Juyodraštiniai puslapiai'
|
||||
Title: 'Juodraštiniai nepublikuoti puslapiai'
|
||||
CMSSiteTreeFilter_StatusRemovedFromDraftPages:
|
||||
Title: 'Publikuotas, bet pašalintas iš juodraščių'
|
||||
ContentControl:
|
||||
|
@ -268,7 +268,6 @@ mi:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: I putumōhiotia
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Hei tiritiri i tēnei whārangi, tāruatia ka whakapiri i te hono kei raro.'
|
||||
ShareLink: 'Tiritiri hono'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Kati
|
||||
|
28
lang/nb.yml
28
lang/nb.yml
@ -61,20 +61,27 @@ nb:
|
||||
CMSAddPageController:
|
||||
Title: 'Legg til side'
|
||||
CMSBatchActions:
|
||||
ARCHIVE: Arkiv
|
||||
ARCHIVED_PAGES: 'Arkiverte %d sider'
|
||||
DELETED_DRAFT_PAGES: 'Slettet %d sider fra utkastnettstedet, %d feilet.'
|
||||
DELETED_PAGES: 'Slettet %d sider fra det publiserte nettstedet, %d feilet.'
|
||||
DELETE_DRAFT_PAGES: 'Slett fra utkastnettsted.'
|
||||
DELETE_PAGES: 'Slett fra publisert side'
|
||||
PUBLISHED_PAGES: 'Publiserte %d sider, %d feilet.'
|
||||
PUBLISH_PAGES: Publiser
|
||||
RESTORE: Gjenopprett
|
||||
RESTORED_PAGES: 'Gjenopprettet %d sider'
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Filer
|
||||
CMSMain:
|
||||
ACCESS: 'Adgang til seksjon for ''{title}'''
|
||||
ACCESS_HELP: 'Lar deg se seksjonen som inneholder sidetreet og annet innhold. Tillatelser for å vise og redigere kan behandles gjennom sidespesifikke nedtrekkslister, så vel som separate "Innholdstillatelser".'
|
||||
ARCHIVE: Arkiver
|
||||
ARCHIVEDPAGE: 'Arkiverte side ''%s'''
|
||||
AddNew: 'Opprett ny side'
|
||||
AddNewButton: 'Opprett ny'
|
||||
AddPageRestriction: 'Merk: Noen sidetyper er ikke tillatt for dette valget.'
|
||||
Cancel: Avbryt
|
||||
ChoosePageParentMode: 'Velg hvor du vil opprette siden'
|
||||
ChoosePageType: 'Velg sidetype'
|
||||
Create: Opprett
|
||||
@ -101,6 +108,9 @@ nb:
|
||||
REMOVEDPAGE: 'Fjernet "{title}" fra det publiserte nettstedet'
|
||||
REMOVEDPAGEFROMDRAFT: 'Fjernet ''%s'' fra utkastnettstedet'
|
||||
RESTORED: 'Vellykket gjenoppretting av "{title}".'
|
||||
RESTORE_DESC: 'Gjenopprett arkivert versjon som utkast'
|
||||
RESTORE_TO_ROOT: 'Gjenopprett utkast på toppnivå'
|
||||
RESTORE_TO_ROOT_DESC: 'Gjenopprett arkivert versjon som utkast på toppnivå'
|
||||
ROLLBACK: 'Tilbakestill til denne versjonen'
|
||||
ROLLEDBACKPUBv2: 'Tilbakestilte til den publiserte versjonen.'
|
||||
ROLLEDBACKVERSIONv2: 'Tilbakestile til versjon #%d.'
|
||||
@ -113,6 +123,7 @@ nb:
|
||||
TreeFilteredClear: 'Fjern filtrering'
|
||||
CMSMain_left_ss:
|
||||
APPLY_FILTER: 'Aktiver filter'
|
||||
CLEAR_FILTER: 'Fjern filter'
|
||||
RESET: Tilbakestill
|
||||
CMSPageAddController:
|
||||
MENUTITLE: 'Legg til side'
|
||||
@ -148,6 +159,8 @@ nb:
|
||||
MULTISELECT: Flervalg
|
||||
CMSPagesController_Tools_ss:
|
||||
FILTER: Filter
|
||||
CMSSIteTreeFilter_PublishedPages:
|
||||
Title: 'Publiserte sider'
|
||||
CMSSearch:
|
||||
FILTERDATEFROM: Fra
|
||||
FILTERDATEHEADING: Dato
|
||||
@ -157,6 +170,8 @@ nb:
|
||||
MENUTITLE: Innstillinger
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'Alle sider'
|
||||
CMSSiteTreeFilter_StatusRemovedFromDraftPages:
|
||||
Title: 'Publisert men fjernet fra utkast'
|
||||
ContentControl:
|
||||
NOTEWONTBESHOWN: 'Merk: denne beskjeden vil ikke være synlig for besøkende'
|
||||
ContentController:
|
||||
@ -200,6 +215,8 @@ nb:
|
||||
415: '415 - Mediatype ikke støttet'
|
||||
416: '416 - Spørringsspenne kan ikke tilfredstilles'
|
||||
417: '417 - Forventning feilet'
|
||||
422: '422 - Enheten kan ikke prosesseres'
|
||||
429: '429 - for mange sideforespørsler'
|
||||
500: '500 - Intern serverfeil'
|
||||
501: '501 - Ikke implementert'
|
||||
502: '502 - Dårlig gateway'
|
||||
@ -213,6 +230,7 @@ nb:
|
||||
DEFAULTSERVERERRORPAGETITLE: 'Serverfeil'
|
||||
DESCRIPTION: 'Egendefinert innhold for forskjellige feilsituasjoner (f.eks "Siden ble ikke funnet")'
|
||||
ERRORFILEPROBLEM: 'Feil ved åpning av filen "{filename}". Vennligst sjekk filtillatelser.'
|
||||
PLURALNAME: 'Feilsider'
|
||||
SINGULARNAME: 'Feilside'
|
||||
Folder:
|
||||
AddFolderButton: 'Legg til mappe'
|
||||
@ -235,6 +253,7 @@ nb:
|
||||
HASBEENSETUP: 'En omdirigeringssside har blitt satt opp uten et mål å omdirigere til.'
|
||||
HEADER: 'Denne siden vil omdirigere brukere til en annen side'
|
||||
OTHERURL: 'Nettadresse til et annet nettsted'
|
||||
PLURALNAME: 'Omdirigeringssider'
|
||||
REDIRECTTO: 'Omdiriger til'
|
||||
REDIRECTTOEXTERNAL: 'Et annet nettsted'
|
||||
REDIRECTTOPAGE: 'En side på nettstedet'
|
||||
@ -268,7 +287,6 @@ nb:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Arkivert
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'For å dele en lenke til denne siden, kopier og lim inn lenken nedenfor.'
|
||||
ShareLink: 'Del lenke'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Lukk
|
||||
@ -297,6 +315,9 @@ nb:
|
||||
ADDEDTODRAFTSHORT: Utkast
|
||||
ALLOWCOMMENTS: 'Tillat kommentarer på denne siden?'
|
||||
APPEARSVIRTUALPAGES: 'Dette innholdet opptrer også i {title}-seksjonene til de virtuelle sidene.'
|
||||
ARCHIVEDPAGEHELP: 'Siden er publisert og fjernet fra utkast'
|
||||
ARCHIVEDPAGESHORT: Arkivert
|
||||
BUTTONARCHIVEDESC: 'Avpubliser og arkiver'
|
||||
BUTTONCANCELDRAFT: 'Avbryt endringer i utkast'
|
||||
BUTTONCANCELDRAFTDESC: 'Slett utkast og gå tilbake til publisert versjon av denne siden'
|
||||
BUTTONPUBLISHED: Publisert
|
||||
@ -310,6 +331,7 @@ nb:
|
||||
DEFAULTABOUTTITLE: 'Om oss'
|
||||
DEFAULTCONTACTCONTENT: '<p>Du kan fylle denne siden med ditt innhold, eller du kan slette siden og lage dine egne sider.<br /></p>'
|
||||
DEFAULTCONTACTTITLE: 'Kontakt oss'
|
||||
DEFAULTHOMECONTENT: '<p>Velkommen til SilverStripe! Dette er standard-forsiden. Du kan redigere denne ved å gå til <a href="admin/">publiseringssystemet</a>.</p><p>Du kan nå gå til <a href="http://docs.silverstripe.org">dokumentasjonen for utviklere</a>, eller begynne med <a href="http://www.silverstripe.org/learn/lessons">SilverStripe-leksjoner</a>.</p>'
|
||||
DEFAULTHOMETITLE: Hjem
|
||||
DELETEDPAGEHELP: 'Siden er ikke lenger publisert.'
|
||||
DELETEDPAGESHORT: Slettet
|
||||
@ -380,6 +402,9 @@ nb:
|
||||
many_many_BackLinkTracking: 'Referansesporing'
|
||||
many_many_ImageTracking: 'Bildesporing'
|
||||
many_many_LinkTracking: 'Lenkesporing'
|
||||
SiteTreeFileExtension:
|
||||
BACKLINK_LIST_DESCRIPTION: 'Denne liste viser alle sider med filer lastet opp gjennom en WYSIWYG-editor.'
|
||||
EDIT: Rediger
|
||||
SiteTreeURLSegmentField:
|
||||
EMPTY: 'Vennligst skriv inn adressesegment eller trykk avbryt.'
|
||||
HelpChars: 'Spesialtegn blir automatisk konvertert eller fjernet.'
|
||||
@ -396,5 +421,6 @@ nb:
|
||||
EditLink: rediger
|
||||
HEADER: 'Dette er en virituell side'
|
||||
HEADERWITHLINK: 'Dette er en virtuell side som kopierer innhold fra "{title}" ({link})'
|
||||
PLURALNAME: 'Virtuelle sider'
|
||||
PageTypNotAllowedOnRoot: 'Originaltypen "{type}" er ikke tillatt på toppnivået for denne virtuelle siden.'
|
||||
SINGULARNAME: 'Virtuell side'
|
||||
|
@ -271,7 +271,6 @@ nl:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Gearchiveerd
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Kopieer en plak de link hieronder, om deze pagina te delen.'
|
||||
ShareLink: 'Deel een link'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Sluiten
|
||||
|
@ -271,7 +271,6 @@ pl:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Zarchiwizowane
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Aby podzielić się tą stroną, skopiuj i wklej poniższy link.'
|
||||
ShareLink: 'Podziel się linkiem'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Zamknij
|
||||
|
@ -268,7 +268,6 @@ ro:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Arhivă
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Pentru a distribuii pagina, copiază si lipește link-ul de mai jos'
|
||||
ShareLink: 'Distribuie link'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Închide
|
||||
|
@ -271,7 +271,6 @@ ru:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Архивные
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Чтобы поделиться ссылкой на эту страницу, скопируйте URL ниже.'
|
||||
ShareLink: 'Поделиться ссылкой'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Закрыть
|
||||
|
@ -109,7 +109,7 @@ sk:
|
||||
REMOVED: 'Smazané ''{title}''{description} z webu'
|
||||
REMOVEDPAGE: 'Smazané ''{title}'' z verejného webu'
|
||||
REMOVEDPAGEFROMDRAFT: 'Odstránené ''%s'' z konceptu webu'
|
||||
RESTORE: 'Obnoviť koncept'
|
||||
RESTORE: Obnoviť
|
||||
RESTORED: 'Obnovené ''{title}'' úspešne'
|
||||
RESTORE_DESC: 'Obnoviť archivovanú verziu na koncept'
|
||||
RESTORE_TO_ROOT: 'Obnoviť koncept na najvyšiu úroveň'
|
||||
@ -174,13 +174,13 @@ sk:
|
||||
CMSSiteTreeFilter_ChangedPages:
|
||||
Title: 'Zmenené stránky'
|
||||
CMSSiteTreeFilter_DeletedPages:
|
||||
Title: 'Všetky stránky, vrátane archivovaných'
|
||||
Title: 'Všetky stránky, vrátane vymazaných'
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'Všechny stránky'
|
||||
CMSSiteTreeFilter_StatusDeletedPages:
|
||||
Title: 'Archivované stranky'
|
||||
Title: 'Zmazané stránky'
|
||||
CMSSiteTreeFilter_StatusDraftPages:
|
||||
Title: 'Stránky konceptu'
|
||||
Title: 'Koncept nezverejnených stránok'
|
||||
CMSSiteTreeFilter_StatusRemovedFromDraftPages:
|
||||
Title: 'Živé, ale odstránené z konceptu'
|
||||
ContentControl:
|
||||
|
@ -268,7 +268,6 @@ sr:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Архивирано
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Да би сте поделили ову страницу копирајте и налепите линк испод.'
|
||||
ShareLink: 'Подели линк'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Затвори
|
||||
|
@ -268,7 +268,6 @@ sr_RS@latin:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Arhivirano
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Da bi ste podelili ovu stranicu kopirajte i nalepite link ispod.'
|
||||
ShareLink: 'Podeli link'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Zatvori
|
||||
|
12
lang/sv.yml
12
lang/sv.yml
@ -71,8 +71,6 @@ sv:
|
||||
PUBLISH_PAGES: Publicera
|
||||
RESTORE: Återskapa
|
||||
RESTORED_PAGES: 'Återskapade %d sidor'
|
||||
UNPUBLISHED_PAGES: 'Avpublicerade %d sidor'
|
||||
UNPUBLISH_PAGES: Avpublicera
|
||||
CMSFileAddController:
|
||||
MENUTITLE: Filer
|
||||
CMSMain:
|
||||
@ -109,7 +107,6 @@ sv:
|
||||
REMOVED: 'Tog bort ''{title}''{description} från den publicerade sajten'
|
||||
REMOVEDPAGE: 'Tog bort ''{title}'' från den publicerade sajten'
|
||||
REMOVEDPAGEFROMDRAFT: 'Raderade ''%s'' från utkast'
|
||||
RESTORE: 'Återställ utkast'
|
||||
RESTORED: 'Återskapandet av ''{title}'' lyckades'
|
||||
RESTORE_DESC: 'Återställ den arkiverade versionen av sidan som ett utkast'
|
||||
RESTORE_TO_ROOT: 'Återskapa utkast på top nivå'
|
||||
@ -171,16 +168,8 @@ sv:
|
||||
FILTERLABELTEXT: Innehåll
|
||||
CMSSettingsController:
|
||||
MENUTITLE: Inställningar
|
||||
CMSSiteTreeFilter_ChangedPages:
|
||||
Title: 'Ändrade sidor'
|
||||
CMSSiteTreeFilter_DeletedPages:
|
||||
Title: 'Alla sidor, inklusive arkiverade sidor'
|
||||
CMSSiteTreeFilter_Search:
|
||||
Title: 'Alla sidor'
|
||||
CMSSiteTreeFilter_StatusDeletedPages:
|
||||
Title: 'Arkiverade sidor'
|
||||
CMSSiteTreeFilter_StatusDraftPages:
|
||||
Title: 'Ej publicerade sidor'
|
||||
CMSSiteTreeFilter_StatusRemovedFromDraftPages:
|
||||
Title: 'Live men borttagen från utkast'
|
||||
ContentControl:
|
||||
@ -298,7 +287,6 @@ sv:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: Arkiverad
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: 'Kopiera och klistra in länken nedan för att dela den här sidan.'
|
||||
ShareLink: 'Dela länk'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: Stäng
|
||||
|
@ -268,7 +268,6 @@ zh:
|
||||
SilverStripeNavigator:
|
||||
ARCHIVED: 已存档
|
||||
SilverStripeNavigatorLink:
|
||||
ShareInstructions: '复制并粘贴下方链接分享该页面。'
|
||||
ShareLink: '分享链接'
|
||||
SilverStripeNavigatorLinkl:
|
||||
CloseLink: 关闭
|
||||
|
@ -3,7 +3,7 @@
|
||||
<a class="ss-ui-button cms-content-addpage-button tool-button font-icon-plus" href="$LinkPageAdd" data-url-addpage="{$LinkPageAdd('', 'ParentID=%s')}"><% _t('CMSMain.AddNewButton', 'Add new') %></a>
|
||||
|
||||
<% if $View == 'Tree' %>
|
||||
<button class="cms-content-batchactions-button tool-button font-icon-check-mark-2" data-toolid="batch-actions">
|
||||
<button type="button" class="cms-content-batchactions-button tool-button font-icon-check-mark-2" data-toolid="batch-actions">
|
||||
<% _t("CMSPagesController_ContentToolbar_ss.MULTISELECT","Batch actions") %>
|
||||
</button>
|
||||
<% end_if %>
|
||||
|
@ -2,16 +2,16 @@
|
||||
<a class="preview" href="$URL" target="_blank">
|
||||
$URL
|
||||
</a>
|
||||
<button class="ss-ui-button ss-ui-button-small edit">
|
||||
<button type="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">
|
||||
<button type="button" class="update ss-ui-button-small">
|
||||
<% _t('URLSegmentField.OK', 'OK') %>
|
||||
</button>
|
||||
<button class="cancel ss-ui-button-small ss-ui-action-minor">
|
||||
<button type="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 %>
|
||||
|
@ -26,7 +26,7 @@ class FeatureContext extends \SilverStripe\Framework\Test\Behaviour\FeatureConte
|
||||
* Initializes context.
|
||||
* Every scenario gets it's own context object.
|
||||
*
|
||||
* @param array $parameters context parameters (set them up through behat.yml)
|
||||
* @param array $parameters context parameters (set them up through behat.yml)
|
||||
*/
|
||||
public function __construct(array $parameters) {
|
||||
parent::__construct($parameters);
|
||||
|
@ -6,9 +6,9 @@
|
||||
class CMSMainTest extends FunctionalTest {
|
||||
|
||||
protected static $fixture_file = 'CMSMainTest.yml';
|
||||
|
||||
|
||||
static protected $orig = array();
|
||||
|
||||
|
||||
function testSiteTreeHints() {
|
||||
$cache = SS_Cache::factory('CMSMain_SiteTreeHints');
|
||||
// Login as user with root creation privileges
|
||||
@ -27,60 +27,60 @@ class CMSMainTest extends FunctionalTest {
|
||||
$this->assertArrayHasKey('All', $hints);
|
||||
|
||||
$this->assertArrayHasKey(
|
||||
'CMSMainTest_ClassA',
|
||||
$hints['All'],
|
||||
'Global list shows allowed classes'
|
||||
'CMSMainTest_ClassA',
|
||||
$hints['All'],
|
||||
'Global list shows allowed classes'
|
||||
);
|
||||
|
||||
$this->assertArrayNotHasKey(
|
||||
'CMSMainTest_HiddenClass',
|
||||
$hints['All'],
|
||||
'Global list does not list hidden classes'
|
||||
'CMSMainTest_HiddenClass',
|
||||
$hints['All'],
|
||||
'Global list does not list hidden classes'
|
||||
);
|
||||
|
||||
$this->assertNotContains(
|
||||
'CMSMainTest_ClassA',
|
||||
$hints['Root']['disallowedChildren'],
|
||||
'Limits root classes'
|
||||
'CMSMainTest_ClassA',
|
||||
$hints['Root']['disallowedChildren'],
|
||||
'Limits root classes'
|
||||
);
|
||||
|
||||
$this->assertContains(
|
||||
'CMSMainTest_NotRoot',
|
||||
$hints['Root']['disallowedChildren'],
|
||||
'Limits root classes'
|
||||
'CMSMainTest_NotRoot',
|
||||
$hints['Root']['disallowedChildren'],
|
||||
'Limits root classes'
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function testChildFilter() {
|
||||
$this->logInWithPermission('ADMIN');
|
||||
|
||||
|
||||
// Check page A
|
||||
$pageA = new CMSMainTest_ClassA();
|
||||
$pageA->write();
|
||||
$pageB = new CMSMainTest_ClassB();
|
||||
$pageB->write();
|
||||
|
||||
|
||||
// Check query
|
||||
$response = $this->get('CMSMain/childfilter?ParentID='.$pageA->ID);
|
||||
$response = $this->get('CMSMain/childfilter?ParentID=' . $pageA->ID);
|
||||
$children = json_decode($response->getBody());
|
||||
$this->assertFalse($response->isError());
|
||||
|
||||
// Page A can't have unrelated children
|
||||
$this->assertContains(
|
||||
'Page',
|
||||
$children,
|
||||
'Limited parent lists disallowed classes'
|
||||
'Page',
|
||||
$children,
|
||||
'Limited parent lists disallowed classes'
|
||||
);
|
||||
|
||||
// But it can create a ClassB
|
||||
$this->assertNotContains(
|
||||
'CMSMainTest_ClassB',
|
||||
$children,
|
||||
'Limited parent omits explicitly allowed classes in disallowedChildren'
|
||||
'CMSMainTest_ClassB',
|
||||
$children,
|
||||
'Limited parent omits explicitly allowed classes in disallowedChildren'
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @todo Test the results of a publication better
|
||||
*/
|
||||
@ -88,18 +88,18 @@ class CMSMainTest extends FunctionalTest {
|
||||
$page1 = $this->objFromFixture('Page', "page1");
|
||||
$page2 = $this->objFromFixture('Page', "page2");
|
||||
$this->session()->inst_set('loggedInAs', $this->idFromFixture('Member', 'admin'));
|
||||
|
||||
|
||||
$response = $this->get('admin/pages/publishall?confirm=1');
|
||||
$this->assertContains(
|
||||
'Done: Published 30 pages',
|
||||
$response->getBody()
|
||||
'Done: Published 30 pages',
|
||||
$response->getBody()
|
||||
);
|
||||
|
||||
$actions = CMSBatchActionHandler::config()->batch_actions;
|
||||
|
||||
|
||||
// Some modules (e.g., cmsworkflow) will remove this action
|
||||
$actions = CMSBatchActionHandler::config()->batch_actions;
|
||||
if(isset($actions['publish'])) {
|
||||
if (isset($actions['publish'])) {
|
||||
$response = $this->get('admin/pages/batchactions/publish?ajax=1&csvIDs=' . implode(',', array($page1->ID, $page2->ID)));
|
||||
$responseData = Convert::json2array($response->getBody());
|
||||
$this->assertArrayHasKey($page1->ID, $responseData['modified']);
|
||||
@ -111,11 +111,11 @@ class CMSMainTest extends FunctionalTest {
|
||||
$latestID = DB::prepared_query('select max("Version") from "RedirectorPage_versions" where "RecordID" = ?', array($pageID))->value();
|
||||
$dsCount = DB::prepared_query('select count("Version") from "RedirectorPage_versions" where "RecordID" = ? and "Version"= ?', array($pageID, $latestID))->value();
|
||||
$this->assertEquals(1, $dsCount, "Published page has no duplicate version records: it has " . $dsCount . " for version " . $latestID);
|
||||
|
||||
|
||||
$this->session()->clear('loggedInAs');
|
||||
|
||||
|
||||
//$this->assertRegexp('/Done: Published 4 pages/', $response->getBody())
|
||||
|
||||
|
||||
/*
|
||||
$response = Director::test("admin/pages/publishitems", array(
|
||||
'ID' => ''
|
||||
@ -125,7 +125,7 @@ class CMSMainTest extends FunctionalTest {
|
||||
$this->assertRegexp('/Done: Published 4 pages/', $response->getBody())
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test publication of one of every page type
|
||||
*/
|
||||
@ -134,24 +134,24 @@ class CMSMainTest extends FunctionalTest {
|
||||
|
||||
// $classes = ClassInfo::subclassesFor("SiteTree");
|
||||
// array_shift($classes);
|
||||
|
||||
|
||||
// foreach($classes as $class) {
|
||||
// $page = new $class();
|
||||
// if($class instanceof TestOnly) continue;
|
||||
|
||||
|
||||
// $page->Title = "Test $class page";
|
||||
|
||||
|
||||
// $page->write();
|
||||
// $this->assertEquals("Test $class page", DB::query("SELECT \"Title\" FROM \"SiteTree\" WHERE \"ID\" = $page->ID")->value());
|
||||
|
||||
|
||||
// $page->doPublish();
|
||||
// $this->assertEquals("Test $class page", DB::query("SELECT \"Title\" FROM \"SiteTree_Live\" WHERE \"ID\" = $page->ID")->value());
|
||||
|
||||
|
||||
// // Check that you can visit the page
|
||||
// $this->get($page->URLSegment);
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test that getCMSFields works on each page type.
|
||||
* Mostly, this is just checking that the method doesn't return an error
|
||||
@ -159,99 +159,99 @@ class CMSMainTest extends FunctionalTest {
|
||||
public function testThatGetCMSFieldsWorksOnEveryPageType() {
|
||||
$classes = ClassInfo::subclassesFor("SiteTree");
|
||||
array_shift($classes);
|
||||
|
||||
foreach($classes as $class) {
|
||||
|
||||
foreach ($classes as $class) {
|
||||
$page = new $class();
|
||||
if($page instanceof TestOnly) continue;
|
||||
if(!$page->stat('can_be_root')) continue;
|
||||
|
||||
if ($page instanceof TestOnly) continue;
|
||||
if (!$page->stat('can_be_root')) continue;
|
||||
|
||||
$page->Title = "Test $class page";
|
||||
$page->write();
|
||||
$page->flushCache();
|
||||
$page = DataObject::get_by_id("SiteTree", $page->ID);
|
||||
|
||||
|
||||
$this->assertTrue($page->getCMSFields() instanceof FieldList);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function testCanPublishPageWithUnpublishedParentWithStrictHierarchyOff() {
|
||||
$this->logInWithPermission('ADMIN');
|
||||
|
||||
|
||||
Config::inst()->update('SiteTree', 'enforce_strict_hierarchy', true);
|
||||
$parentPage = $this->objFromFixture('Page','page3');
|
||||
$childPage = $this->objFromFixture('Page','page1');
|
||||
|
||||
$parentPage = $this->objFromFixture('Page', 'page3');
|
||||
$childPage = $this->objFromFixture('Page', 'page1');
|
||||
|
||||
$parentPage->doUnpublish();
|
||||
$childPage->doUnpublish();
|
||||
|
||||
$actions = $childPage->getCMSActions()->dataFields();
|
||||
$this->assertArrayHasKey(
|
||||
'action_publish',
|
||||
$actions,
|
||||
'Can publish a page with an unpublished parent with strict hierarchy off'
|
||||
'action_publish',
|
||||
$actions,
|
||||
'Can publish a page with an unpublished parent with strict hierarchy off'
|
||||
);
|
||||
Config::inst()->update('SiteTree', 'enforce_strict_hierarchy', false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that a draft-deleted page can still be opened in the CMS
|
||||
*/
|
||||
public function testDraftDeletedPageCanBeOpenedInCMS() {
|
||||
$this->session()->inst_set('loggedInAs', $this->idFromFixture('Member', 'admin'));
|
||||
|
||||
|
||||
// Set up a page that is delete from live
|
||||
$page = $this->objFromFixture('Page','page1');
|
||||
$page = $this->objFromFixture('Page', 'page1');
|
||||
$pageID = $page->ID;
|
||||
$page->doPublish();
|
||||
$page->delete();
|
||||
|
||||
|
||||
$response = $this->get('admin/pages/edit/show/' . $pageID);
|
||||
|
||||
|
||||
$livePage = Versioned::get_one_by_stage("SiteTree", "Live", array(
|
||||
'"SiteTree"."ID"' => $pageID
|
||||
'"SiteTree"."ID"' => $pageID
|
||||
));
|
||||
$this->assertInstanceOf('SiteTree', $livePage);
|
||||
$this->assertTrue($livePage->canDelete());
|
||||
|
||||
|
||||
// Check that the 'restore' button exists as a simple way of checking that the correct page is returned.
|
||||
$this->assertRegExp('/<button[^>]+name="action_(restore|revert)"/i', $response->getBody());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test CMSMain::getRecord()
|
||||
*/
|
||||
public function testGetRecord() {
|
||||
// Set up a page that is delete from live
|
||||
$page1 = $this->objFromFixture('Page','page1');
|
||||
$page1 = $this->objFromFixture('Page', 'page1');
|
||||
$page1ID = $page1->ID;
|
||||
$page1->doPublish();
|
||||
$page1->delete();
|
||||
|
||||
|
||||
$cmsMain = new CMSMain();
|
||||
|
||||
|
||||
// Bad calls
|
||||
$this->assertNull($cmsMain->getRecord('0'));
|
||||
$this->assertNull($cmsMain->getRecord('asdf'));
|
||||
|
||||
|
||||
// Pages that are on draft and aren't on draft should both work
|
||||
$this->assertInstanceOf('Page', $cmsMain->getRecord($page1ID));
|
||||
$this->assertInstanceOf('Page', $cmsMain->getRecord($this->idFromFixture('Page','page2')));
|
||||
|
||||
$this->assertInstanceOf('Page', $cmsMain->getRecord($this->idFromFixture('Page', 'page2')));
|
||||
|
||||
// This functionality isn't actually used any more.
|
||||
$newPage = $cmsMain->getRecord('new-Page-5');
|
||||
$this->assertInstanceOf('Page', $newPage);
|
||||
$this->assertEquals('5', $newPage->ParentID);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function testDeletedPagesSiteTreeFilter() {
|
||||
$id = $this->idFromFixture('Page', 'page3');
|
||||
$this->logInWithPermission('ADMIN');
|
||||
$result = $this->get('admin/pages/getsubtree?filter=CMSSiteTreeFilter_DeletedPages&ajax=1&ID=' . $id);
|
||||
$this->assertEquals(200, $result->getStatusCode());
|
||||
}
|
||||
|
||||
public function testCreationOfTopLevelPage(){
|
||||
|
||||
public function testCreationOfTopLevelPage() {
|
||||
$origFollow = $this->autoFollowRedirection;
|
||||
$this->autoFollowRedirection = false;
|
||||
|
||||
@ -262,16 +262,16 @@ class CMSMainTest extends FunctionalTest {
|
||||
$cmsUser->logIn();
|
||||
$this->get('admin/pages/add');
|
||||
$response = $this->post(
|
||||
'admin/pages/add/AddForm',
|
||||
array(
|
||||
'ParentID' => '0',
|
||||
'PageType' => 'Page',
|
||||
'Locale' => 'en_US',
|
||||
'action_doAdd' => 1,
|
||||
'ajax' => 1,
|
||||
), array(
|
||||
'X-Pjax' => 'CurrentForm,Breadcrumbs',
|
||||
)
|
||||
'admin/pages/add/AddForm',
|
||||
array(
|
||||
'ParentID' => '0',
|
||||
'PageType' => 'Page',
|
||||
'Locale' => 'en_US',
|
||||
'action_doAdd' => 1,
|
||||
'ajax' => 1,
|
||||
), array(
|
||||
'X-Pjax' => 'CurrentForm,Breadcrumbs',
|
||||
)
|
||||
);
|
||||
// should redirect, which is a permission error
|
||||
$this->assertEquals(403, $response->getStatusCode(), 'Add TopLevel page must fail for normal user');
|
||||
@ -281,28 +281,28 @@ class CMSMainTest extends FunctionalTest {
|
||||
$response = $this->get('admin/pages/add');
|
||||
|
||||
$response = $this->post(
|
||||
'admin/pages/add/AddForm',
|
||||
array(
|
||||
'ParentID' => '0',
|
||||
'PageType' => 'Page',
|
||||
'Locale' => 'en_US',
|
||||
'action_doAdd' => 1,
|
||||
'ajax' => 1,
|
||||
), array(
|
||||
'X-Pjax' => 'CurrentForm,Breadcrumbs',
|
||||
)
|
||||
'admin/pages/add/AddForm',
|
||||
array(
|
||||
'ParentID' => '0',
|
||||
'PageType' => 'Page',
|
||||
'Locale' => 'en_US',
|
||||
'action_doAdd' => 1,
|
||||
'ajax' => 1,
|
||||
), array(
|
||||
'X-Pjax' => 'CurrentForm,Breadcrumbs',
|
||||
)
|
||||
);
|
||||
|
||||
$location = $response->getHeader('X-ControllerURL');
|
||||
$this->assertNotEmpty($location, 'Must be a redirect on success');
|
||||
$this->assertContains('/show/',$location, 'Must redirect to /show/ the new page');
|
||||
$this->assertContains('/show/', $location, 'Must redirect to /show/ the new page');
|
||||
// TODO Logout
|
||||
$this->session()->inst_set('loggedInAs', NULL);
|
||||
|
||||
$this->autoFollowRedirection = $origFollow;
|
||||
}
|
||||
|
||||
public function testCreationOfRestrictedPage(){
|
||||
public function testCreationOfRestrictedPage() {
|
||||
$origFollow = $this->autoFollowRedirection;
|
||||
$this->autoFollowRedirection = false;
|
||||
|
||||
@ -312,8 +312,8 @@ class CMSMainTest extends FunctionalTest {
|
||||
// Create toplevel page
|
||||
$this->get('admin/pages/add');
|
||||
$response = $this->post(
|
||||
'admin/pages/add/AddForm',
|
||||
array('ParentID' => '0', 'PageType' => 'CMSMainTest_ClassA', 'Locale' => 'en_US', 'action_doAdd' => 1)
|
||||
'admin/pages/add/AddForm',
|
||||
array('ParentID' => '0', 'PageType' => 'CMSMainTest_ClassA', 'Locale' => 'en_US', 'action_doAdd' => 1)
|
||||
);
|
||||
$this->assertFalse($response->isError());
|
||||
preg_match('/edit\/show\/(\d*)/', $response->getHeader('Location'), $matches);
|
||||
@ -322,8 +322,8 @@ class CMSMainTest extends FunctionalTest {
|
||||
// Create allowed child
|
||||
$this->get('admin/pages/add');
|
||||
$response = $this->post(
|
||||
'admin/pages/add/AddForm',
|
||||
array('ParentID' => $newPageId, 'PageType' => 'CMSMainTest_ClassB', 'Locale' => 'en_US', 'action_doAdd' => 1)
|
||||
'admin/pages/add/AddForm',
|
||||
array('ParentID' => $newPageId, 'PageType' => 'CMSMainTest_ClassB', 'Locale' => 'en_US', 'action_doAdd' => 1)
|
||||
);
|
||||
$this->assertFalse($response->isError());
|
||||
$this->assertNull($response->getBody());
|
||||
@ -331,8 +331,8 @@ class CMSMainTest extends FunctionalTest {
|
||||
// Create disallowed child
|
||||
$this->get('admin/pages/add');
|
||||
$response = $this->post(
|
||||
'admin/pages/add/AddForm',
|
||||
array('ParentID' => $newPageId, 'PageType' => 'Page', 'Locale' => 'en_US', 'action_doAdd' => 1)
|
||||
'admin/pages/add/AddForm',
|
||||
array('ParentID' => $newPageId, 'PageType' => 'Page', 'Locale' => 'en_US', 'action_doAdd' => 1)
|
||||
);
|
||||
$this->assertEquals(403, $response->getStatusCode(), 'Add disallowed child should fail');
|
||||
|
||||
@ -375,11 +375,11 @@ class CMSMainTest extends FunctionalTest {
|
||||
$id = 'new-Member-0';
|
||||
$member = $controller->getNewItem($id, false);
|
||||
$this->fail('Should not be able to create a Member object');
|
||||
} catch(SS_HTTPResponse_Exception $e) {
|
||||
} catch (SS_HTTPResponse_Exception $e) {
|
||||
$this->assertEquals($controller->getResponse()->getStatusCode(), 302);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests filtering in {@see CMSMain::getList()}
|
||||
*/
|
||||
@ -390,8 +390,8 @@ class CMSMainTest extends FunctionalTest {
|
||||
$pages = $controller->getList()->sort('Title');
|
||||
$this->assertEquals(28, $pages->count());
|
||||
$this->assertEquals(
|
||||
array('Home', 'Page 1', 'Page 10', 'Page 11', 'Page 12'),
|
||||
$pages->Limit(5)->column('Title')
|
||||
array('Home', 'Page 1', 'Page 10', 'Page 11', 'Page 12'),
|
||||
$pages->Limit(5)->column('Title')
|
||||
);
|
||||
|
||||
// Change state of tree
|
||||
@ -412,59 +412,78 @@ class CMSMainTest extends FunctionalTest {
|
||||
$pages = $controller->getList()->sort('Title');
|
||||
$this->assertEquals(26, $pages->count());
|
||||
$this->assertEquals(
|
||||
array('Home', 'Page 10', 'Page 11', 'Page 13', 'Page 14'),
|
||||
$pages->Limit(5)->column('Title')
|
||||
array('Home', 'Page 10', 'Page 11', 'Page 13', 'Page 14'),
|
||||
$pages->Limit(5)->column('Title')
|
||||
);
|
||||
|
||||
// Test deleted page filter
|
||||
$params = array(
|
||||
'FilterClass' => 'CMSSiteTreeFilter_StatusDeletedPages'
|
||||
'FilterClass' => 'CMSSiteTreeFilter_StatusDeletedPages'
|
||||
);
|
||||
$pages = $controller->getList($params);
|
||||
$this->assertEquals(1, $pages->count());
|
||||
$this->assertEquals(
|
||||
array('Page 1'),
|
||||
$pages->column('Title')
|
||||
array('Page 1'),
|
||||
$pages->column('Title')
|
||||
);
|
||||
|
||||
// Test live, but not on draft filter
|
||||
$params = array(
|
||||
'FilterClass' => 'CMSSiteTreeFilter_StatusRemovedFromDraftPages'
|
||||
'FilterClass' => 'CMSSiteTreeFilter_StatusRemovedFromDraftPages'
|
||||
);
|
||||
$pages = $controller->getList($params);
|
||||
$this->assertEquals(1, $pages->count());
|
||||
$this->assertEquals(
|
||||
array('Page 12'),
|
||||
$pages->column('Title')
|
||||
array('Page 12'),
|
||||
$pages->column('Title')
|
||||
);
|
||||
|
||||
// Test live pages filter
|
||||
$params = array(
|
||||
'FilterClass' => 'CMSSIteTreeFilter_PublishedPages'
|
||||
'FilterClass' => 'CMSSIteTreeFilter_PublishedPages'
|
||||
);
|
||||
$pages = $controller->getList($params);
|
||||
$this->assertEquals(2, $pages->count());
|
||||
$this->assertEquals(
|
||||
array('Page 11', 'Page 12'),
|
||||
$pages->column('Title')
|
||||
array('Page 11', 'Page 12'),
|
||||
$pages->column('Title')
|
||||
);
|
||||
|
||||
// Test that parentID is ignored when filtering
|
||||
$pages = $controller->getList($params, $page3->ID);
|
||||
$this->assertEquals(2, $pages->count());
|
||||
$this->assertEquals(
|
||||
array('Page 11', 'Page 12'),
|
||||
$pages->column('Title')
|
||||
array('Page 11', 'Page 12'),
|
||||
$pages->column('Title')
|
||||
);
|
||||
|
||||
// Test that parentID is respected when not filtering
|
||||
$pages = $controller->getList(array(), $page3->ID);
|
||||
$this->assertEquals(2, $pages->count());
|
||||
$this->assertEquals(
|
||||
array('Page 3.1', 'Page 3.2'),
|
||||
$pages->column('Title')
|
||||
array('Page 3.1', 'Page 3.2'),
|
||||
$pages->column('Title')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Testing retrieval and type of CMS edit form.
|
||||
*/
|
||||
public function testGetEditForm() {
|
||||
// Login is required prior to accessing a CMS form.
|
||||
$this->loginWithPermission('ADMIN');
|
||||
|
||||
// Get a associated with a fixture page.
|
||||
$page = $this->objFromFixture('Page', 'page1');
|
||||
$controller = new CMSMain();
|
||||
$form = $controller->getEditForm($page->ID);
|
||||
$this->assertInstanceOf("CMSForm", $form);
|
||||
|
||||
// Ensure that the form will not "validate" on delete or "unpublish" actions.
|
||||
$exemptActions = $form->getValidationExemptActions();
|
||||
$this->assertContains("delete", $exemptActions);
|
||||
$this->assertContains("unpublish", $exemptActions);
|
||||
}
|
||||
}
|
||||
|
||||
class CMSMainTest_ClassA extends Page implements TestOnly {
|
||||
|
@ -21,6 +21,7 @@ class ErrorPageTest extends FunctionalTest {
|
||||
Config::inst()->update('ErrorPage', 'static_filepath', AssetStoreTest_SpyStore::base_path());
|
||||
Config::inst()->update('ErrorPage', 'enable_static_file', true);
|
||||
Config::inst()->update('Director', 'environment_type', 'live');
|
||||
$this->logInWithPermission('ADMIN');
|
||||
}
|
||||
|
||||
public function tearDown() {
|
||||
|
Loading…
Reference in New Issue
Block a user