Merge branch '3'

Conflicts:
	.travis.yml
	composer.json
	docs/en/changelogs/4.0.0.md
	forms/gridfield/GridFieldExportButton.php
This commit is contained in:
Daniel Hensby 2015-08-17 13:12:41 +01:00
commit 0b36082564
95 changed files with 653 additions and 391 deletions

View File

@ -247,14 +247,20 @@ class LeftAndMain extends Controller implements PermissionProvider {
// if no alternate menu items have matched, return a permission error
$messageSet = array(
'default' => _t('LeftAndMain.PERMDEFAULT',
"Please choose an authentication method and enter your credentials to access the CMS."),
'alreadyLoggedIn' => _t('LeftAndMain.PERMALREADY',
'default' => _t(
'LeftAndMain.PERMDEFAULT',
"You must be logged in to access the administration area; please enter your credentials below."
),
'alreadyLoggedIn' => _t(
'LeftAndMain.PERMALREADY',
"I'm sorry, but you can't access that part of the CMS. If you want to log in as someone else, do"
. " so below"),
'logInAgain' => _t('LeftAndMain.PERMAGAIN',
. " so below."
),
'logInAgain' => _t(
'LeftAndMain.PERMAGAIN',
"You have been logged out of the CMS. If you would like to log in again, enter a username and"
. " password below."),
. " password below."
),
);
return Security::permissionFailure($this, $messageSet);
@ -556,7 +562,7 @@ class LeftAndMain extends Controller implements PermissionProvider {
$icon = Config::inst()->get($class, 'menu_icon', Config::FIRST_SET);
if (!empty($icon)) {
$class = strtolower(Convert::raw2htmlname(str_replace('\\', '-', $class)));
return ".icon.icon-16.icon-{$class} { background: url('{$icon}'); } ";
return ".icon.icon-16.icon-{$class} { background-image: url('{$icon}'); } ";
}
return '';
}

View File

@ -354,6 +354,7 @@ abstract class ModelAdmin extends LeftAndMain {
$specRelations->push(new ArrayData(array('Name' => $name, 'Description' => $desc)));
}
$specHTML = $this->customise(array(
'ClassName' => str_replace('\\', '_', $className),
'ModelName' => Convert::raw2att($modelName),
'Fields' => $specFields,
'Relations' => $specRelations,

View File

@ -1,7 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["../scss/_ieShared.scss","../scss/themes/_default.scss","../../../../../../../../Library/Ruby/Gems/2.0.0/gems/compass-core-1.0.3/stylesheets/compass/utilities/sprites/_base.scss","../scss/_sprites.scss","../scss/ie7.scss"],
"sources": ["../scss/_ieShared.scss","../scss/themes/_default.scss","../../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/utilities/sprites/_base.scss","../scss/_sprites.scss","../scss/ie7.scss"],
"names": [],
"file": "ie7.css"
}

View File

@ -801,9 +801,6 @@ body.cms-dialog { overflow: auto; background: url("../images/textures/bg_cms_mai
.htmleditorfield-linkform .ss-uploadfield .middleColumn { width: auto; }
.htmleditorfield-mediaform .ss-gridfield .gridfield-button-delete { display: none; }
.htmleditorfield-mediaform .ss-gridfield table.ss-gridfield-table tbody td:first-child { padding: 0; text-align: center; }
.htmleditorfield-mediaform .ss-gridfield table.ss-gridfield-table tbody td:first-child img { max-height: 30px; }
.htmleditorfield-mediaform .ss-gridfield table.ss-gridfield-table tr td { padding: 4px; }
.htmleditorfield-mediaform .htmleditorfield-from-web .ss-uploadfield .middleColumn, .htmleditorfield-mediaform .htmleditorfield-from-cms .ss-uploadfield .middleColumn { width: auto; background: none; border: none; margin-top: 13px; }
.htmleditorfield-mediaform .htmleditorfield-from-cms .ss-uploadfield h4 { float: left; margin-top: 4px; margin-bottom: 0; }
.htmleditorfield-mediaform .htmleditorfield-from-cms .ss-uploadfield .middleColumn { margin-top: 16px; margin-left: 184px; min-width: 0; clear: none; }
@ -967,17 +964,11 @@ form.import-form label.left { width: 250px; }
.jstree-default a .jstree-icon, .jstree-default-rtl a .jstree-icon, .jstree-classic a .jstree-icon, .jstree-apple a .jstree-icon { background-position: -60px -19px; }
<<<<<<< HEAD
/** DEPRECATED: .cms-content-tools will be removed in 4.0 Use .cms-content-filters instead. Ensure status is visible in sidebar */
.cms-content-tools .cms-tree.jstree li { min-width: 159px; }
.cms-content-tools .cms-tree.jstree a { overflow: hidden; display: block; position: relative; }
=======
.jstree-apple a { border-radius: 3px; }
/* ensure status is visible in sidebar */
/** DEPRECATED: .cms-content-tools will be removed in 4.0 Use .cms-content-filters instead. Ensure status is visible in sidebar */
.cms-content-tools .cms-tree.jstree li { min-width: 187px; }
.cms-content-tools .cms-tree.jstree a { overflow: hidden; text-overflow: ellipsis; display: block; position: relative; }
>>>>>>> origin/3.2
.cms-content-tools .cms-tree.jstree span.badge { position: absolute; top: 0; right: 0; padding: 7px 9px 6px 5px; margin: 0; max-width: 40%; -moz-transition: max-width 0.75s linear; -o-transition: max-width 0.75s linear; -webkit-transition: max-width 0.75s linear; transition: max-width 0.75s linear; }
.cms-content-tools .cms-tree.jstree span.badge:hover { max-width: 150px; }
@ -1254,8 +1245,8 @@ visible. Added and removed with js in TabSet.js */ /***************************
.cms .ss-ui-action-tabset.multi .ss-ui-action-tab.ui-tabs-panel.first { left: 0; width: 203px; }
.cms .ss-ui-action-tabset.multi .ss-ui-action-tab.ui-tabs-panel .ui-icon { padding-right: 0; }
.cms .ss-ui-action-tabset.multi .ss-ui-action-tab.ui-tabs-panel .tab-nav-link, .cms .ss-ui-action-tabset.multi .ss-ui-action-tab.ui-tabs-panel .ss-ui-button { font-size: 12px; }
.cms .ss-ui-action-tabset.multi .ss-ui-action-tab.ui-tabs-panel #Form_AddForm_PageType_Holder ul { padding: 0; }
.cms .ss-ui-action-tabset.multi .ss-ui-action-tab.ui-tabs-panel #Form_AddForm_PageType_Holder ul li { padding: 4px 5px; }
.cms .ss-ui-action-tabset.multi .ss-ui-action-tab.ui-tabs-panel #Form_AddForm_PageType ul { padding: 0; }
.cms .ss-ui-action-tabset.multi .ss-ui-action-tab.ui-tabs-panel #Form_AddForm_PageType ul li { padding: 4px 5px; }
.cms .ss-ui-action-tabset.tabset-open ul.ui-tabs-nav, .cms .ss-ui-action-tabset.tabset-open ul.ui-tabs-nav li.first { -moz-border-radius-bottomleft: 0; -webkit-border-bottom-left-radius: 0; border-bottom-left-radius: 0; }
.cms .ss-ui-action-tabset.tabset-open-last ul.ui-tabs-nav li.last { -moz-border-radius-bottomright: 0; -webkit-border-bottom-right-radius: 0; border-bottom-right-radius: 0; }
.cms .ss-ui-action-tabset .batch-check, .cms .ss-ui-action-tabset .ui-icon { display: inline-block; float: left; margin-left: -2px; padding-right: 6px; }

File diff suppressed because one or more lines are too long

View File

@ -93,7 +93,21 @@
ss.i18n.inject(
ss.i18n._t(
"CMSMAIN.BATCH_ARCHIVE_PROMPT",
"You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history."
"You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive."
),
{'num': ids.length}
)
);
return (confirmed) ? ids : false;
});
// Restore selected archived pages
this.register('admin/pages/batchactions/restore', function(ids) {
var confirmed = confirm(
ss.i18n.inject(
ss.i18n._t(
"CMSMAIN.BATCH_RESTORE_PROMPT",
"You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored."
),
{'num': ids.length}
)

View File

@ -129,13 +129,23 @@
* Doesn't cancel any unload or form removal events, you'll need to implement this based on the return
* value of this message.
*
* If changes are confirmed for discard, the 'changed' flag is reset.
*
* Returns:
* (Boolean) FALSE if the user wants to abort with changes present, TRUE if no changes are detected
* or the user wants to discard them.
*/
confirmUnsavedChanges: function() {
this.trigger('beforesubmitform');
return (this.is('.changed')) ? confirm(ss.i18n._t('LeftAndMain.CONFIRMUNSAVED')) : true;
if(!this.is('.changed')) {
return true;
}
var confirmed = confirm(ss.i18n._t('LeftAndMain.CONFIRMUNSAVED'));
if(confirmed) {
// confirm discard changes
this.removeClass('changed');
}
return confirmed;
},
/**

View File

@ -253,12 +253,13 @@ jQuery.noConflict();
$('body').removeClass('loading');
$(window).unbind('resize', positionLoadingSpinner);
this.restoreTabState();
this._super();
},
fromWindow: {
onstatechange: function(){ this.handleStateChange(); }
onstatechange: function(e){
this.handleStateChange(e);
}
},
'onwindowresize': function() {
@ -359,6 +360,34 @@ jQuery.noConflict();
this.find('.cms-content').redraw();
},
/**
* Confirm whether the current user can navigate away from this page
*
* @param {array} selectors Optional list of selectors
* @returns {boolean} True if the navigation can proceed
*/
checkCanNavigate: function(selectors) {
// Check change tracking (can't use events as we need a way to cancel the current state change)
var contentEls = this._findFragments(selectors || ['Content']),
trackedEls = contentEls
.find(':data(changetracker)')
.add(contentEls.filter(':data(changetracker)')),
safe = true;
if(!trackedEls.length) {
return true;
}
trackedEls.each(function() {
// See LeftAndMain.EditForm.js
if(!$(this).confirmUnsavedChanges()) {
safe = false;
}
});
return safe;
},
/**
* Proxy around History.pushState() which handles non-HTML5 fallbacks,
* as well as global change tracking. Change tracking needs to be synchronous rather than event/callback
@ -377,18 +406,9 @@ jQuery.noConflict();
if(!title) title = "";
if (!forceReferer) forceReferer = History.getState().url;
// Check change tracking (can't use events as we need a way to cancel the current state change)
var contentEls = this._findFragments(data.pjax ? data.pjax.split(',') : ['Content']);
var trackedEls = contentEls.find(':data(changetracker)').add(contentEls.filter(':data(changetracker)'));
if(trackedEls.length) {
var abort = false;
trackedEls.each(function() {
if(!$(this).confirmUnsavedChanges()) abort = true;
});
if(abort) return;
// Check for unsaved changes
if(!this.checkCanNavigate(data.pjax ? data.pjax.split(',') : ['Content'])) {
return;
}
// Save tab selections so we can restore them later
@ -494,6 +514,16 @@ jQuery.noConflict();
return false;
},
/**
* Last html5 history state
*/
LastState: null,
/**
* Flag to pause handleStateChange
*/
PauseState: false,
/**
* Handles ajax loading of new panels through the window.History object.
* To trigger loading, pass a new URL to window.History.pushState().
@ -517,6 +547,10 @@ jQuery.noConflict();
* if the URL is loaded without ajax.
*/
handleStateChange: function() {
if(this.getPauseState()) {
return;
}
// Don't allow parallel loading to avoid edge cases
if(this.getStateChangeXHR()) this.getStateChangeXHR().abort();
@ -534,6 +568,30 @@ jQuery.noConflict();
return;
}
if(!this.checkCanNavigate()) {
// If history is emulated (ie8 or below) disable attempting to restore
if(h.emulated.pushState) {
return;
}
var lastState = this.getLastState();
// Suppress panel loading while resetting state
this.setPauseState(true);
// Restore best last state
if(lastState) {
h.pushState(lastState.id, lastState.title, lastState.url);
} else {
h.back();
}
this.setPauseState(false);
// Abort loading of this panel
return;
}
this.setLastState(state);
// If any of the requested Pjax fragments don't exist in the current view,
// fetch the "Content" view instead, which is the "outermost" fragment
// that can be reloaded without reloading the whole window.

View File

@ -8,7 +8,8 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Are you sure you want to navigate away from this page?\n\nWARNING: Your changes have not been saved.\n\nPress OK to continue, or Cancel to stay on the current page.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",

View File

@ -1,10 +1,10 @@
{
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"CMSMAIN.SELECTONEPAGE": "Prosím, vyberte nejméně 1 stránku",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcete nezveřejnit?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcete zveřejnit?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcete vymazat?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně je chcte archivovat?\n\nTyto stránky budou odstraněny z obou koncept a zveřejněné weby bez vyřazení historie.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Máte vybráno {num} stránek.\n\nSkutečně chcete vymazat tyto stránky z webu?",
"LeftAndMain.CONFIRMUNSAVED": "Určitě chcete opustit navigaci z této stránky?\n\nUPOZORNĚNÍ: Vaše změny nebyly uloženy.\n\nStlačte OK pro pokračovat, nebo Cancel, zůstanete na této stránce.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORNĚNÍ: Vaše změny nebyly uloženy.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Skutečně chcete smazat %s skupiny?",

View File

@ -1,5 +1,5 @@
{
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.SELECTONEPAGE": "Bitte mindestens eine Seite auswählen",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",

View File

@ -3,7 +3,8 @@
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
"CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"LeftAndMain.CONFIRMUNSAVED": "Are you sure you want to navigate away from this page?\n\nWARNING: Your changes have not been saved.\n\nPress OK to continue, or Cancel to stay on the current page.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",

View File

@ -1,16 +1,16 @@
{
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"CMSMAIN.SELECTONEPAGE": "Per favore selezionare almeno una pagina",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente nasconderle?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente pubblicarle?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente eliminarle?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente archiviare?\n\nQueste pagine verranno rimosse sia dal sito bozza che dal sito pubblico lasciando intatta la cronologia.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Hai {num} pagine selezionate.\n\nVuoi veramente eliminare queste pagine dal sito live?",
"LeftAndMain.CONFIRMUNSAVED": "Siete sicuri di voler uscire da questa pagina?\n\nATTENZIONE: I vostri cambiamenti non sono stati salvati.\n\nCliccare OK per continuare, o su Annulla per rimanere sulla pagina corrente.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "WARNING: Your changes have not been saved.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Do you really want to delete %s groups?",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ATTENZIONE: le tue modifiche non sono state salvate.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Vuoi veramente eliminare %s gruppi?",
"ModelAdmin.SAVED": "Salvato",
"ModelAdmin.REALLYDELETE": "Si è sicuri di voler eliminare?",
"ModelAdmin.DELETED": "Eliminato",
"ModelAdmin.VALIDATIONERROR": "Validation Error",
"ModelAdmin.VALIDATIONERROR": "Errore di validazione",
"LeftAndMain.PAGEWASDELETED": "Questa pagina è stata eliminata. Per modificare questa pagine, selezionarla a sinistra."
}

View File

@ -1,10 +1,10 @@
{
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"CMSMAIN.SELECTONEPAGE": "Prašome pasirinkti bent vieną puslapį",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite nebepublikuoti?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite publikuoti?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite ištrinti?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite suarchyvuoti?\n\nŠie puslapiai bus pašalinti iš juodraščių ir publikuotų puslapių sąrašo, tačiau bus palikta visa pakeitimų istorija.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Pažymėjote {num} puslapius(-į).\n\nAr tikrai norite ištrinti iš publikuotų puslapių?",
"LeftAndMain.CONFIRMUNSAVED": "Ar tikrai norite išeiti iš šio puslapio?\n\nDĖMESIO: Jūsų pakeitimai neišsaugoti.\n\nNorėdami tęsti, spauskite OK, jeigu norite likti, spauskite Cancel.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "DĖMESIO: Jūsų pakeitimai neišsaugoti.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Ar tikrai norite ištrinti %s grupes?",

View File

@ -1,10 +1,10 @@
{
"CMSMAIN.SELECTONEPAGE": "Please select at least one page",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
"CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to archive?\n\nThese pages will be removed from both the draft and published sites without discarding the history.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
"CMSMAIN.SELECTONEPAGE": "Prosím, vyberte najmenej 1 stránku",
"CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete nezverejniť?",
"CMSMAIN.BATCH_PUBLISH_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete zverejniť?",
"CMSMAIN.BATCH_DELETE_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete vymazať?",
"CMSMAIN.BATCH_ARCHIVE_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne ich chcete archívovať?\n\nTieto stránky budú odstránené z oboch koncept a zverejnené weby bez vyradenia histórie.",
"CMSMAIN.BATCH_DELETELIVE_PROMPT": "Máte vybratých {num} stránok.\n\nSkutočne chcete tieto stránky vymazať z webu?",
"LeftAndMain.CONFIRMUNSAVED": "Určite chcete opustiť navigáciu z tejto stránky?\n\nUPOZORNENIE: Vaše zmeny neboli uložené.\n\nStlačte OK pre pokračovať, alebo Cancel, ostanete na teto stránke.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORNENIE: Vaše zmeny neboli uložené.",
"SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Skutočne chcete zmazať % skupiny?",

View File

@ -1858,18 +1858,6 @@ body.cms-dialog {
// TODO Remove from PHP instead of hiding
display: none; // delete action shouldn't be allowed here
}
table.ss-gridfield-table {
tbody td:first-child {
padding: 0;
text-align: center;
img {
max-height: 30px; // same thumbnail size as uploadfield rows
}
}
tr td {
padding: $grid-x/2; // more compressed space
}
}
}
.htmleditorfield-from-web, .htmleditorfield-from-cms {

View File

@ -1,8 +1,8 @@
<div class="importSpec" id="SpecFor{$ModelName}">
<a href="#SpecDetailsFor{$ModelName}" class="detailsLink"><%t ModelAdmin_ImportSpec_ss.IMPORTSPECLINK 'Show Specification for %s' s=$ModelName %></a>
<div class="details" id="SpecDetailsFor{$ModelName}">
<h4><%t ModelAdmin_ImportSpec_ss.IMPORTSPECTITLE 'Specification for %s' s=$ModelName %></h4>
<h5><%t ModelAdmin_ImportSpec_ss.IMPORTSPECFIELDS 'Database columns' %></h5>
<div class="importSpec" id="SpecFor{$ClassName}">
<a href="#SpecDetailsFor{$ClassName}" class="detailsLink"><% sprintf(_t('ModelAdmin_ImportSpec_ss.IMPORTSPECLINK', 'Show Specification for %s'),$ModelName) %></a>
<div class="details" id="SpecDetailsFor{$ClassName}">
<h4><% sprintf(_t('ModelAdmin_ImportSpec_ss.IMPORTSPECTITLE', 'Specification for %s'),$ModelName) %></h4>
<h5><% _t('ModelAdmin_ImportSpec_ss.IMPORTSPECFIELDS', 'Database columns') %></h5>
<% loop $Fields %>
<dl>
<dt><em>$Name</em></dt>

View File

@ -61,6 +61,8 @@ class ClassInfo {
* @return array List of subclasses
*/
public static function getValidSubClasses($class = 'SiteTree', $includeUnbacked = false) {
if(is_string($class) && !class_exists($class)) return null;
$class = self::class_name($class);
$classes = DB::get_schema()->enumValuesForField($class, 'ClassName');
if (!$includeUnbacked) $classes = array_filter($classes, array('ClassInfo', 'exists'));
@ -76,6 +78,8 @@ class ClassInfo {
* @return array
*/
public static function dataClassesFor($class) {
if(is_string($class) && !class_exists($class)) return null;
$result = array();
$class = self::class_name($class);
@ -100,6 +104,8 @@ class ClassInfo {
* @return string
*/
public static function baseDataClass($class) {
if(is_string($class) && !class_exists($class)) return null;
$class = self::class_name($class);
if (!is_subclass_of($class, 'DataObject')) {
@ -134,6 +140,8 @@ class ClassInfo {
* @return array Names of all subclasses as an associative array.
*/
public static function subclassesFor($class) {
if(is_string($class) && !class_exists($class)) return null;
//normalise class case
$className = self::class_name($class);
$descendants = SS_ClassLoader::instance()->getManifest()->getDescendantsOf($class);
@ -158,7 +166,15 @@ class ClassInfo {
public static function class_name($nameOrObject) {
if (is_object($nameOrObject)) {
return get_class($nameOrObject);
} elseif (!self::exists($nameOrObject)) {
Deprecation::notice(
'4.0',
"ClassInfo::class_name() passed a class that doesn't exist. Support for this will be removed in 4.0",
Deprecation::SCOPE_GLOBAL
);
return $nameOrObject;
}
$reflection = new ReflectionClass($nameOrObject);
return $reflection->getName();
}
@ -172,6 +188,8 @@ class ClassInfo {
* @return array
*/
public static function ancestry($class, $tablesOnly = false) {
if(is_string($class) && !class_exists($class)) return null;
$class = self::class_name($class);
$lClass = strtolower($class);

View File

@ -290,8 +290,8 @@ class Convert {
/**
* Create a link if the string is a valid URL
*
* @param string The string to linkify
* @return A link to the URL if string is a URL
* @param string $string The string to linkify
* @return string A link to the URL if string is a URL
*/
public static function linkIfMatch($string) {
if( preg_match( '/^[a-z+]+\:\/\/[a-zA-Z0-9$-_.+?&=!*\'()%]+$/', $string ) )
@ -305,7 +305,9 @@ class Convert {
*
* @param string $data Input data
* @param bool $preserveLinks
* @param int $wordwrap
* @param int $wordWrap
* @param array $config
* @return string
*/
public static function html2raw($data, $preserveLinks = false, $wordWrap = 0, $config = null) {
$defaultConfig = array(
@ -414,8 +416,33 @@ class Convert {
* sequences including \r, \r\n, \n, or unicode newline characters
* @param string $nl The newline sequence to normalise to. Defaults to that
* specified by the current OS
* @return string
*/
public static function nl2os($data, $nl = PHP_EOL) {
return preg_replace('~\R~u', $nl, $data);
}
/**
* Encode a value into a string that can be used as part of a filename.
* All string data must be UTF-8 encoded.
*
* @param mixed $val Value to be encoded
* @return string
*/
public static function base64url_encode($val) {
return rtrim(strtr(base64_encode(json_encode($val)), '+/', '~_'), '=');
}
/**
* Decode a value that was encoded with Convert::base64url_encode.
*
* @param string $val Value to be decoded
* @return mixed Original value
*/
public static function base64url_decode($val) {
return json_decode(
base64_decode(str_pad(strtr($val, '~_', '+/'), strlen($val) % 4, '=', STR_PAD_RIGHT)),
true
);
}
}

View File

@ -41,7 +41,7 @@ body.cms.ss-uploadfield-edit-iframe .fieldholder-small label, .composite.ss-asse
.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info { background-color: #c11f1d; padding-right: 130px; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2MxMWYxZCIvPjxzdG9wIG9mZnNldD0iNCUiIHN0b3AtY29sb3I9IiNiZjFkMWIiLz48c3RvcCBvZmZzZXQ9IjglIiBzdG9wLWNvbG9yPSIjYjcxYjFjIi8+PHN0b3Agb2Zmc2V0PSIxNSUiIHN0b3AtY29sb3I9IiNiNjFlMWQiLz48c3RvcCBvZmZzZXQ9IjI3JSIgc3RvcC1jb2xvcj0iI2IxMWQxZCIvPjxzdG9wIG9mZnNldD0iMzElIiBzdG9wLWNvbG9yPSIjYWIxZDFjIi8+PHN0b3Agb2Zmc2V0PSI0MiUiIHN0b3AtY29sb3I9IiNhNTFiMWIiLz48c3RvcCBvZmZzZXQ9IjQ2JSIgc3RvcC1jb2xvcj0iIzlmMWIxOSIvPjxzdG9wIG9mZnNldD0iNTAlIiBzdG9wLWNvbG9yPSIjOWYxYjE5Ii8+PHN0b3Agb2Zmc2V0PSI1NCUiIHN0b3AtY29sb3I9IiM5OTFjMWEiLz48c3RvcCBvZmZzZXQ9IjU4JSIgc3RvcC1jb2xvcj0iIzk3MWExOCIvPjxzdG9wIG9mZnNldD0iNjIlIiBzdG9wLWNvbG9yPSIjOTExYjFiIi8+PHN0b3Agb2Zmc2V0PSI2NSUiIHN0b3AtY29sb3I9IiM5MTFiMWIiLz48c3RvcCBvZmZzZXQ9Ijg4JSIgc3RvcC1jb2xvcj0iIzdlMTgxNiIvPjxzdG9wIG9mZnNldD0iOTIlIiBzdG9wLWNvbG9yPSIjNzcxOTE5Ii8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjNzMxODE3Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g'); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c11f1d), color-stop(4%, #bf1d1b), color-stop(8%, #b71b1c), color-stop(15%, #b61e1d), color-stop(27%, #b11d1d), color-stop(31%, #ab1d1c), color-stop(42%, #a51b1b), color-stop(46%, #9f1b19), color-stop(50%, #9f1b19), color-stop(54%, #991c1a), color-stop(58%, #971a18), color-stop(62%, #911b1b), color-stop(65%, #911b1b), color-stop(88%, #7e1816), color-stop(92%, #771919), color-stop(100%, #731817)); background-image: -moz-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); background-image: -webkit-linear-gradient(top, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); background-image: linear-gradient(to bottom, #c11f1d 0%, #bf1d1b 4%, #b71b1c 8%, #b61e1d 15%, #b11d1d 27%, #ab1d1c 31%, #a51b1b 42%, #9f1b19 46%, #9f1b19 50%, #991c1a 54%, #971a18 58%, #911b1b 62%, #911b1b 65%, #7e1816 88%, #771919 92%, #731817 100%); }
.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name { width: 100%; cursor: default; background: #bcb9b9; background: rgba(201, 198, 198, 0.9); }
.ss-assetuploadfield .ss-uploadfield-files .ui-state-error .ss-uploadfield-item-info .ss-uploadfield-item-name .name { text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.7); }
.ss-assetuploadfield .ss-uploadfield-files .ui-state-warning .ss-uploadfield-item-info { background-color: #E9D104; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZDMzYiIvPjxzdG9wIG9mZnNldD0iOCUiIHN0b3AtY29sb3I9IiNlMmNlMjQiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2QxYmUxYyIvPjxzdG9wIG9mZnNldD0iNTQlIiBzdG9wLWNvbG9yPSIjZDFiZDFjIi8+PHN0b3Agb2Zmc2V0PSI5NiUiIHN0b3AtY29sb3I9IiNkMDlhMWEiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjZjg3MWEiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e5d33b), color-stop(8%, #e2ce24), color-stop(50%, #d1be1c), color-stop(54%, #d1bd1c), color-stop(96%, #d09a1a), color-stop(100%, #cf871a)); background-image: -moz-linear-gradient(top, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bd1c 54%, #d09a1a 96%, #cf871a 100%); background-image: -webkit-linear-gradient(top, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bd1c 54%, #d09a1a 96%, #cf871a 100%); background-image: linear-gradient(to bottom, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bd1c 54%, #d09a1a 96%, #cf871a 100%); }
.ss-assetuploadfield .ss-uploadfield-files .ui-state-warning .ss-uploadfield-item-info { background-color: #E9D104; background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2U1ZDMzYiIvPjxzdG9wIG9mZnNldD0iOCUiIHN0b3AtY29sb3I9IiNlMmNlMjQiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2QxYmUxYyIvPjxzdG9wIG9mZnNldD0iNTQlIiBzdG9wLWNvbG9yPSIjZDFiYzFiIi8+PHN0b3Agb2Zmc2V0PSI5NiUiIHN0b3AtY29sb3I9IiNkMDlhMWEiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjZTg3MTkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA='); background-size: 100%; background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e5d33b), color-stop(8%, #e2ce24), color-stop(50%, #d1be1c), color-stop(54%, #d1bc1b), color-stop(96%, #d09a1a), color-stop(100%, #ce8719)); background-image: -moz-linear-gradient(top, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bc1b 54%, #d09a1a 96%, #ce8719 100%); background-image: -webkit-linear-gradient(top, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bc1b 54%, #d09a1a 96%, #ce8719 100%); background-image: linear-gradient(to bottom, #e5d33b 0%, #e2ce24 8%, #d1be1c 50%, #d1bc1b 54%, #d09a1a 96%, #ce8719 100%); }
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name { position: relative; z-index: 1; margin: 3px 0 3px 50px; width: 50%; color: #7f8c97; background: #eeeded; background: rgba(255, 255, 255, 0.8); -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; line-height: 24px; height: 22px; padding: 0 5px; text-align: left; cursor: pointer; display: table; table-layout: fixed; }
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .name { text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5); display: inline; float: left; max-width: 50%; font-weight: normal; padding: 0 5px 0 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; }
.ss-assetuploadfield .ss-uploadfield-files .ss-uploadfield-item-name .ss-uploadfield-item-status { position: relative; float: right; padding: 0 0 0 5px; max-width: 30%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5); }

View File

@ -134,5 +134,7 @@ Used in side panels and action tabs
.cms table.ss-gridfield-table tr.last td { border-bottom: 0 none; }
.cms table.ss-gridfield-table td:first-child { border-left: 1px solid rgba(0, 0, 0, 0.1); }
.cms table.ss-gridfield-table td:last-child { border-right: 1px solid rgba(0, 0, 0, 0.1); }
.cms table.ss-gridfield-table td.col-StripThumbnail { padding: 2px 4px; width: 32px; height: 32px; }
.cms table.ss-gridfield-table td.col-StripThumbnail img { width: 32px; height: 32px; display: block; }
/*# sourceMappingURL=GridField.css.map */

View File

@ -1,6 +1,6 @@
{
"version": 3,
"mappings": "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",
"mappings": "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",
"sources": ["../scss/GridField.scss","../admin/scss/themes/_default.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/css3/_text-shadow.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/css3/_inline-block.scss","../admin/scss/_mixins.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/_support.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/css3/_border-radius.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/css3/_images.scss","../scss/_elementMixins.scss"],
"names": [],
"file": "GridField.css"

View File

@ -1,7 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["../scss/TreeDropdownField.scss","../admin/scss/_mixins.scss","../../../../lib/gems/1.9.1/gems/compass-core-1.0.3/stylesheets/compass/css3/_images.scss","../../../../lib/gems/1.9.1/gems/compass-core-1.0.3/stylesheets/compass/_support.scss","../../../../lib/gems/1.9.1/gems/compass-core-1.0.3/stylesheets/compass/css3/_box-sizing.scss"],
"sources": ["../scss/TreeDropdownField.scss","../admin/scss/_mixins.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/css3/_images.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/_support.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/css3/_box-sizing.scss"],
"names": [],
"file": "TreeDropdownField.css"
}

View File

@ -1,7 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["../scss/debug.scss","../../../../lib/gems/1.9.1/gems/compass-core-1.0.3/stylesheets/compass/css3/_images.scss","../../../../lib/gems/1.9.1/gems/compass-core-1.0.3/stylesheets/compass/_support.scss","../../../../lib/gems/1.9.1/gems/compass-core-1.0.3/stylesheets/compass/css3/_border-radius.scss","../../../../lib/gems/1.9.1/gems/compass-core-1.0.3/stylesheets/compass/css3/_box-shadow.scss"],
"sources": ["../scss/debug.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/css3/_images.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/_support.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/css3/_border-radius.scss","../../../../usr/local/share/gems/gems/compass-core-1.0.3/stylesheets/compass/css3/_box-shadow.scss"],
"names": [],
"file": "debug.css"
}

View File

@ -1,5 +1,5 @@
title: Caching
summary: Reduce rending time with cached templates and understand the limitations of the ViewableData object caching.
summary: Reduce rendering time with cached templates and understand the limitations of the ViewableData object caching.
# Caching

View File

@ -31,7 +31,7 @@ The benefit of constructing objects through this syntax is `ClassName` can be sw
MyClassName:
class: MyBetterClassName
Repeated calls to `create()` create a new class each time.
Repeated calls to `create()` create a new object each time.
:::php
$object = Injector::inst()->create('MyClassName');

View File

@ -0,0 +1,41 @@
# 3.2.0 beta2
See [3.2.0 beta 1](3.2.0-beta1) changelog for more information on what is new in 3.2
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### API Changes
* 2015-08-03 [f2c39aa](https://github.com/silverstripe/silverstripe-framework/commit/f2c39aac200f50157d9163b825ea7a7dd1f7aa18) batch restore action (Damian Mooyman)
* 2015-08-03 [e22b653](https://github.com/silverstripe/silverstripe-cms/commit/e22b653e06207bfdc0b36ac7a9e6be250e10bde8) batch restore action (Damian Mooyman)
* 2015-07-10 [a6677b1](https://github.com/silverstripe/silverstripe-cms/commit/a6677b1653cf338d66b8b6d1e4d5b14d66250c0e) respect custom attributes on OptionsetField and CheckboxSetField (Damian Mooyman)
* 2015-07-10 [560f9a6](https://github.com/silverstripe/silverstripe-framework/commit/560f9a6e39df4f09dfe4bed5978f6dcddc0bb299) respect custom attributes on OptionsetField and CheckboxSetField (Damian Mooyman)
* 2015-06-09 [914d734](https://github.com/silverstripe/silverstripe-framework/commit/914d734df004947eb869de2abb6fb2fc463be574) Disable deprecation notices by default (Damian Mooyman)
* 2015-01-28 [782c4cb](https://github.com/silverstripe/silverstripe-framework/commit/782c4cbf6f5cde2fa4d45cdbd17552773a67f88f) Enable single-column fulltext filter search as fallback (Damian Mooyman)
### Bugfixes
* 2015-07-30 [66ca540](https://github.com/silverstripe/silverstripe-framework/commit/66ca5405d0cb8116e5cdf5f886b96d321b20477c) Fix change detection on browser back button (Damian Mooyman)
* 2015-07-30 [97b226a](https://github.com/silverstripe/silverstripe-framework/commit/97b226abe023bbc059633cd944ff04c281a675a8) Fix semver violation in create_table_options (Damian Mooyman)
* 2015-07-27 [aa286ef](https://github.com/silverstripe/silverstripe-framework/commit/aa286ef7d77d78cde1aaedb2eca5b3c07803366b) Missing thumbnails and inconsistencies (Jonathon Menz)
* 2015-07-26 [5f5ce8a](https://github.com/silverstripe/silverstripe-framework/commit/5f5ce8a82c2bb1a29f9f8b7011d5cd990c34f128) Disable cache to prevent caching of build target (Damian Mooyman)
* 2015-07-23 [10b2fdc](https://github.com/silverstripe/silverstripe-cms/commit/10b2fdc3181310ec3ca75361852deca57ccbbe4c) ContentController::getViewer() not returning all found templates (fixes #1244) (Loz Calver)
* 2015-07-22 [b7480b9](https://github.com/silverstripe/silverstripe-framework/commit/b7480b92a9c734058135a3259a1c4432c6bb474d) Hide 'Logged Passwords' tab in member CMS fields (fixes #4422) (Loz Calver)
* 2015-07-16 [a3201d6](https://github.com/silverstripe/silverstripe-framework/commit/a3201d6ed9967179aa020802e6fb88d2a6a0e37e) $callerClass is undefined (Christopher Darling)
* 2015-07-08 [c7bd504](https://github.com/silverstripe/silverstripe-framework/commit/c7bd50427a4e0ad446502547b81648d78d354062) Fix cookie errors when running in CLI (Damian Mooyman)
* 2015-07-07 [5ace490](https://github.com/silverstripe/silverstripe-framework/commit/5ace4905c90be1373f49dbb0e1a579b279786a1c) Fix issue when SS_ALLOWED_HOSTS is run in CLI (Damian Mooyman)
* 2015-07-05 [a556b48](https://github.com/silverstripe/silverstripe-framework/commit/a556b4854a44b9dfe86c40140ec03d781d354d19) Fix of multiple i18nTextCollector issues: #3797, #3798, #3417 (Damian Mooyman)
* 2015-07-05 [a5b3083](https://github.com/silverstripe/silverstripe-framework/commit/a5b3083dccaedf6a78a5bfd5ecfc5d12ca7cdfba) memory exhaustion in MySQLStatement-&gt;bind() (micmania1)
* 2015-07-01 [6fabd01](https://github.com/silverstripe/silverstripe-framework/commit/6fabd0122be37faa671923b534a74e5684d58220) Fix potential XSS injection (Damian Mooyman)
* 2015-07-01 [3b90fef](https://github.com/silverstripe/silverstripe-cms/commit/3b90fef04f914aa6d4a43322771ea1d6b3329af2) fix behat tests (Damian Mooyman)
* 2015-06-26 [d78d325](https://github.com/silverstripe/silverstripe-cms/commit/d78d3250736c5d2f48c5cfc1690fba8b98cc222b) RedirectorPage_Controller shouldn't attempt redirection if the response is finished (fixes #1230) (Loz Calver)
* 2015-06-24 [3507ddb](https://github.com/silverstripe/silverstripe-framework/commit/3507ddb0e8f85cb2a2cb20595590b1c89cc27c67) MemberPassword history removed with with Members (Daniel Hensby)
* 2015-06-19 [a58e595](https://github.com/silverstripe/silverstripe-framework/commit/a58e59565b7b092451b084643d58ddb6ccfbee31) docs not included in composer package installs (through export-ignore git attribute) (Sam Minnee)
* 2015-05-04 [1cca37c](https://github.com/silverstripe/silverstripe-framework/commit/1cca37c9082ef53f02633d1bdac27f4a815d4208) File::getFileType() was case sensitive (fixes #3631) (Loz Calver)
* 2015-04-02 [dd0e2dc](https://github.com/silverstripe/silverstripe-framework/commit/dd0e2dc36200e3931923693c2b9dc978aea99825) Image_Cached exists method doesnt check for positive ID (Daniel Hensby)
* 2015-04-01 [7ff131d](https://github.com/silverstripe/silverstripe-framework/commit/7ff131daa76d345cff90410469accdcca9049cf1) Fix default casted (boolean)false evaluating to true in templates (Damian Mooyman)
* 2015-02-13 [66391ab](https://github.com/silverstripe/silverstripe-framework/commit/66391ab57ad49c2a40bad59fc1fc9e1f12e39d97) Imported namespaces now correctly used to determine class inheritance (Daniel Hensby)
* 2014-12-31 [71a14c3](https://github.com/silverstripe/silverstripe-framework/commit/71a14c30352e69e4c0ac59e5ea72e1da0c79009b) Prevent url= querystring argument override (Damian Mooyman)
* 2014-05-25 [40c5b8b](https://github.com/silverstripe/silverstripe-framework/commit/40c5b8b6758676a3e2a5daf3c438a7720c49baaf) FulltextFilter did not work and was not usable (micmania1)
* 2014-03-24 [fd755a7](https://github.com/silverstripe/silverstripe-framework/commit/fd755a7ff9de69802f04763570f69e4c3b68c08c) ChangePasswordForm validation message should render HTML correctly. (Sean Harvey)

View File

@ -850,9 +850,6 @@ class Form extends RequestHandler {
public function getAttributesHTML($attrs = null) {
$exclude = (is_string($attrs)) ? func_get_args() : null;
if(!$attrs || is_string($attrs)) $attrs = $this->getAttributes();
// Figure out if we can cache this form
// - forms with validation shouldn't be cached, cos their error messages won't be shown
// - forms with security tokens shouldn't be cached because security tokens expire

View File

@ -311,7 +311,7 @@ class HtmlEditorField_Toolbar extends RequestHandler {
new GridFieldFilterHeader(),
new GridFieldSortableHeader(),
new GridFieldDataColumns(),
new GridFieldPaginator(5),
new GridFieldPaginator(7),
// TODO Shouldn't allow delete here, its too confusing with a "remove from editor view" action.
// Remove once we can fit the search button in the last actual title column
new GridFieldDeleteAction(),
@ -323,8 +323,12 @@ class HtmlEditorField_Toolbar extends RequestHandler {
$fileField->setAttribute('data-multiselect', true);
$columns = $fileField->getConfig()->getComponentByType('GridFieldDataColumns');
$columns->setDisplayFields(array(
'CMSThumbnail' => false,
'Name' => _t('File.Name'),
'StripThumbnail' => false,
'Title' => _t('File.Title'),
'Created' => singleton('File')->fieldLabel('Created'),
));
$columns->setFieldCasting(array(
'Created' => 'SS_Datetime->Nice'
));
$numericLabelTmpl = '<span class="step-label"><span class="flyout">%d</span><span class="arrow"></span>'

View File

@ -1566,16 +1566,21 @@ class UploadField_SelectHandler extends RequestHandler {
$config->addComponent(new GridFieldFilterHeader());
$config->addComponent($colsComponent = new GridFieldDataColumns());
$colsComponent->setDisplayFields(array(
'Title' => singleton('File')->fieldLabel('Name'),
'Filename' => singleton('File')->fieldLabel('Filename'),
'StripThumbnail' => '',
'Title' => singleton('File')->fieldLabel('Title'),
'Created' => singleton('File')->fieldLabel('Created'),
'Size' => singleton('File')->fieldLabel('Size')
));
$colsComponent->setFieldCasting(array(
'Created' => 'SS_Datetime->Nice'
));
$config->addComponent(new GridFieldPaginator(11));
// If relation is to be autoset, we need to make sure we only list compatible objects.
$baseClass = $this->parent->getRelationAutosetClass();
// Create the data source for the list of files within the current directory.
$files = DataList::create($baseClass);
$files = DataList::create($baseClass)->exclude('ClassName', 'Folder');
if($folderID) $files = $files->filter('ParentID', $folderID);
$fileField = new GridField('Files', false, $files, $config);

View File

@ -111,7 +111,7 @@ class GridFieldSortableHeader implements GridField_HTMLProvider, GridField_DataM
if($tmpItem instanceof SS_List) {
// It's impossible to sort on a HasManyList/ManyManyList
break;
} elseif($tmpItem->hasMethod($methodName)) {
} elseif(method_exists($tmpItem, 'hasMethod') && $tmpItem->hasMethod($methodName)) {
// The part is a relation name, so get the object/list from it
$tmpItem = $tmpItem->$methodName();
} elseif($tmpItem instanceof DataObject && $tmpItem->hasField($methodName)) {

View File

@ -43,6 +43,5 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"TreeDropdownField.OpenLink": "Open",
"TreeDropdownField.FieldTitle": "Choose",
"TreeDropdownField.SearchFieldTitle": "Choose or Search"
}
);
});
}

View File

@ -13,35 +13,35 @@ if(typeof(ss) == 'undefined' || typeof(ss.i18n) == 'undefined') {
"UNIQUEFIELD.CANNOTLEAVEEMPTY": "Questo campo non può essere lasciato vuoto",
"RESTRICTEDTEXTFIELD.CHARCANTBEUSED": "Il carattere '%s' non può essere utilizzato in questo campo",
"UPDATEURL.CONFIRM": "Volete cambiare l'URL in:\n\n%s/\n\nClicca OK per cambiare l'URL, clicca Annuler per lasciarla a:\n\n%s",
"UPDATEURL.CONFIRMURLCHANGED": "The URL has been changed to\n'%s'",
"FILEIFRAMEFIELD.DELETEFILE": "Delete File",
"FILEIFRAMEFIELD.UNATTACHFILE": "Un-Attach File",
"FILEIFRAMEFIELD.DELETEIMAGE": "Delete Image",
"FILEIFRAMEFIELD.CONFIRMDELETE": "Are you sure you want to delete this file?",
"LeftAndMain.IncompatBrowserWarning": "Your browser is not compatible with the CMS interface. Please use Internet Explorer 7+, Google Chrome 10+ or Mozilla Firefox 3.5+.",
"GRIDFIELD.ERRORINTRANSACTION": "An error occured while fetching data from the server\n Please try again later.",
"HtmlEditorField.SelectAnchor": "Select an anchor",
"UploadField.ConfirmDelete": "Are you sure you want to remove this file from the server filesystem?",
"UploadField.PHP_MAXFILESIZE": "File exceeds upload_max_filesize (php.ini directive)",
"UploadField.HTML_MAXFILESIZE": "File exceeds MAX_FILE_SIZE (HTML form directive)",
"UploadField.ONLYPARTIALUPLOADED": "File was only partially uploaded",
"UploadField.NOFILEUPLOADED": "No File was uploaded",
"UploadField.NOTMPFOLDER": "Missing a temporary folder",
"UploadField.WRITEFAILED": "Failed to write file to disk",
"UploadField.STOPEDBYEXTENSION": "File upload stopped by extension",
"UploadField.TOOLARGE": "Filesize is too large",
"UploadField.TOOSMALL": "Filesize is too small",
"UploadField.INVALIDEXTENSION": "Extension is not allowed",
"UploadField.MAXNUMBEROFFILESSIMPLE": "Max number of files exceeded",
"UploadField.UPLOADEDBYTES": "Uploaded bytes exceed file size",
"UploadField.EMPTYRESULT": "Empty file upload result",
"UploadField.LOADING": "Loading ...",
"UploadField.Editing": "Editing ...",
"UploadField.Uploaded": "Uploaded",
"UploadField.OVERWRITEWARNING": "File with the same name already exists",
"TreeDropdownField.ENTERTOSEARCH": "Press enter to search",
"TreeDropdownField.OpenLink": "Open",
"TreeDropdownField.FieldTitle": "Choose",
"TreeDropdownField.SearchFieldTitle": "Choose or Search"
"UPDATEURL.CONFIRMURLCHANGED": "L'URL è stato cambiato in\n'%s'",
"FILEIFRAMEFIELD.DELETEFILE": "Eliminare file",
"FILEIFRAMEFIELD.UNATTACHFILE": "Scollegare file",
"FILEIFRAMEFIELD.DELETEIMAGE": "Eliminare immagine",
"FILEIFRAMEFIELD.CONFIRMDELETE": "Si è sicuri di voler eliminare questo file?",
"LeftAndMain.IncompatBrowserWarning": "Il tuo browser non è compatibile con l'interfaccia del CMS. Per favore, usare Internet Explorer 7+, Google Chrome 10+ o Mozilla Firefox 3.5+.",
"GRIDFIELD.ERRORINTRANSACTION": "Errore durante la lettura dei dati dal server.\nPer favore riprovare più tardi.",
"HtmlEditorField.SelectAnchor": "Selezionare un riferimento",
"UploadField.ConfirmDelete": "Si è sicuri di voler eliminare questo file dal filesystem del server?",
"UploadField.PHP_MAXFILESIZE": "Il file supera upload_max_filesize (direttiva php.ini)",
"UploadField.HTML_MAXFILESIZE": "Il file supera MAX_FILE_SIZE (direttiva moduli HTML)",
"UploadField.ONLYPARTIALUPLOADED": "Il file è stato caricato solo parzialmente",
"UploadField.NOFILEUPLOADED": "Nessun file caricato",
"UploadField.NOTMPFOLDER": "Cartella temporanea assente",
"UploadField.WRITEFAILED": "Scrittura del file su disco fallita",
"UploadField.STOPEDBYEXTENSION": "Caricamento del file interrotto dall'estensione",
"UploadField.TOOLARGE": "La dimensione del file è troppo grande",
"UploadField.TOOSMALL": "La dimensione del file è troppo piccola",
"UploadField.INVALIDEXTENSION": "Estensione non consentita",
"UploadField.MAXNUMBEROFFILESSIMPLE": "Numero massimo di file superato",
"UploadField.UPLOADEDBYTES": "Il numero di byte caricati supera la dimensione del file",
"UploadField.EMPTYRESULT": "File caricato vuoto",
"UploadField.LOADING": "Caricamento ...",
"UploadField.Editing": "Modifica ...",
"UploadField.Uploaded": "Caricato",
"UploadField.OVERWRITEWARNING": "Un file con lo stesso nome esiste già",
"TreeDropdownField.ENTERTOSEARCH": "Premere INVIO per cercare",
"TreeDropdownField.OpenLink": "Aprire",
"TreeDropdownField.FieldTitle": "Scegliere",
"TreeDropdownField.SearchFieldTitle": "Scegliere o Cercare"
});
}

View File

@ -8,34 +8,34 @@
"UNIQUEFIELD.CANNOTLEAVEEMPTY": "Questo campo non può essere lasciato vuoto",
"RESTRICTEDTEXTFIELD.CHARCANTBEUSED": "Il carattere '%s' non può essere utilizzato in questo campo",
"UPDATEURL.CONFIRM": "Volete cambiare l'URL in:\n\n%s/\n\nClicca OK per cambiare l'URL, clicca Annuler per lasciarla a:\n\n%s",
"UPDATEURL.CONFIRMURLCHANGED": "The URL has been changed to\n'%s'",
"FILEIFRAMEFIELD.DELETEFILE": "Delete File",
"FILEIFRAMEFIELD.UNATTACHFILE": "Un-Attach File",
"FILEIFRAMEFIELD.DELETEIMAGE": "Delete Image",
"FILEIFRAMEFIELD.CONFIRMDELETE": "Are you sure you want to delete this file?",
"LeftAndMain.IncompatBrowserWarning": "Your browser is not compatible with the CMS interface. Please use Internet Explorer 7+, Google Chrome 10+ or Mozilla Firefox 3.5+.",
"GRIDFIELD.ERRORINTRANSACTION": "An error occured while fetching data from the server\n Please try again later.",
"HtmlEditorField.SelectAnchor": "Select an anchor",
"UploadField.ConfirmDelete": "Are you sure you want to remove this file from the server filesystem?",
"UploadField.PHP_MAXFILESIZE": "File exceeds upload_max_filesize (php.ini directive)",
"UploadField.HTML_MAXFILESIZE": "File exceeds MAX_FILE_SIZE (HTML form directive)",
"UploadField.ONLYPARTIALUPLOADED": "File was only partially uploaded",
"UploadField.NOFILEUPLOADED": "No File was uploaded",
"UploadField.NOTMPFOLDER": "Missing a temporary folder",
"UploadField.WRITEFAILED": "Failed to write file to disk",
"UploadField.STOPEDBYEXTENSION": "File upload stopped by extension",
"UploadField.TOOLARGE": "Filesize is too large",
"UploadField.TOOSMALL": "Filesize is too small",
"UploadField.INVALIDEXTENSION": "Extension is not allowed",
"UploadField.MAXNUMBEROFFILESSIMPLE": "Max number of files exceeded",
"UploadField.UPLOADEDBYTES": "Uploaded bytes exceed file size",
"UploadField.EMPTYRESULT": "Empty file upload result",
"UploadField.LOADING": "Loading ...",
"UploadField.Editing": "Editing ...",
"UploadField.Uploaded": "Uploaded",
"UploadField.OVERWRITEWARNING": "File with the same name already exists",
"TreeDropdownField.ENTERTOSEARCH": "Press enter to search",
"TreeDropdownField.OpenLink": "Open",
"TreeDropdownField.FieldTitle": "Choose",
"TreeDropdownField.SearchFieldTitle": "Choose or Search"
"UPDATEURL.CONFIRMURLCHANGED": "L'URL è stato cambiato in\n'%s'",
"FILEIFRAMEFIELD.DELETEFILE": "Eliminare file",
"FILEIFRAMEFIELD.UNATTACHFILE": "Scollegare file",
"FILEIFRAMEFIELD.DELETEIMAGE": "Eliminare immagine",
"FILEIFRAMEFIELD.CONFIRMDELETE": "Si è sicuri di voler eliminare questo file?",
"LeftAndMain.IncompatBrowserWarning": "Il tuo browser non è compatibile con l'interfaccia del CMS. Per favore, usare Internet Explorer 7+, Google Chrome 10+ o Mozilla Firefox 3.5+.",
"GRIDFIELD.ERRORINTRANSACTION": "Errore durante la lettura dei dati dal server.\nPer favore riprovare più tardi.",
"HtmlEditorField.SelectAnchor": "Selezionare un riferimento",
"UploadField.ConfirmDelete": "Si è sicuri di voler eliminare questo file dal filesystem del server?",
"UploadField.PHP_MAXFILESIZE": "Il file supera upload_max_filesize (direttiva php.ini)",
"UploadField.HTML_MAXFILESIZE": "Il file supera MAX_FILE_SIZE (direttiva moduli HTML)",
"UploadField.ONLYPARTIALUPLOADED": "Il file è stato caricato solo parzialmente",
"UploadField.NOFILEUPLOADED": "Nessun file caricato",
"UploadField.NOTMPFOLDER": "Cartella temporanea assente",
"UploadField.WRITEFAILED": "Scrittura del file su disco fallita",
"UploadField.STOPEDBYEXTENSION": "Caricamento del file interrotto dall'estensione",
"UploadField.TOOLARGE": "La dimensione del file è troppo grande",
"UploadField.TOOSMALL": "La dimensione del file è troppo piccola",
"UploadField.INVALIDEXTENSION": "Estensione non consentita",
"UploadField.MAXNUMBEROFFILESSIMPLE": "Numero massimo di file superato",
"UploadField.UPLOADEDBYTES": "Il numero di byte caricati supera la dimensione del file",
"UploadField.EMPTYRESULT": "File caricato vuoto",
"UploadField.LOADING": "Caricamento ...",
"UploadField.Editing": "Modifica ...",
"UploadField.Uploaded": "Caricato",
"UploadField.OVERWRITEWARNING": "Un file con lo stesso nome esiste già",
"TreeDropdownField.ENTERTOSEARCH": "Premere INVIO per cercare",
"TreeDropdownField.OpenLink": "Aprire",
"TreeDropdownField.FieldTitle": "Scegliere",
"TreeDropdownField.SearchFieldTitle": "Scegliere o Cercare"
}

View File

@ -169,7 +169,6 @@ ar:
TEXT2: 'رابط إعادة تعيين كلمة المرور'
TEXT3: لـ
Form:
CSRF_FAILED_MESSAGE: "هناك على ما يبدو مشكلة فنية. الرجاء الضغط على الزر مرة أخرى، و تحديث المتصفح الخاص بك، ثم حاول مرة أخرى."
FIELDISREQUIRED: '{الاسم} مطلوب'
SubmitBtnLabel: اذهب
VALIDATIONCREDITNUMBER: 'يرجى التأكد من أنك قد قمت بإدخال {رقم} رقم بطاقة الائتمان بشكل صحيح'
@ -235,7 +234,6 @@ ar:
many_many_Members: الأعضاء
GroupImportForm:
Help1: '<p>استيراد واحد أو أكثر من المجموعات في <em>CSV</em>تهيئة (قيم مفصولة بفواصل) <small><ahref="#" class="toggle-advanced">إظهار استخدام المتقدم</a></small></p>'
Help2: "<div class=\"advanced\"><h4> الاستخدام المتقدم </h4><ul><li> الأعمدة المسموح بها: <em>%s</em></li><li>تتم مطابقة المجموعات الموجودة بقيمتها الفريدة من نوعها <em> رمز </em> و تحديثها مع أي قيم جديدة من الملف المستورد</li><li>يمكن إنشاء مجموعة التسلسلات الهرمية باستخدام <em>الرمز الرئيسي </em> عمود</li>.<li>يمكن تعيين رموز التصريح من قبل <em>رمز التصريح </em> .العمود. لا يتم مسح رموز إذن موجود</li>.</ul></div>"
ResultCreated: 'تم إنشاء {عدد} مجموعات'
ResultDeleted: 'حذف مجموعات %d'
ResultUpdated: 'تحديث مجموعات %d '
@ -304,7 +302,6 @@ ar:
PERMAGAIN: 'تم خروجك من النظام بنجاح. للدخول مرة أخرى أدحل البريد الإلكتروني و الرقم السري بالأسفل'
PERMALREADY: 'عذراً , لكن لا يمكنك الوصول لهذا القسم من النظام. يتوجب عليك الدخول بصلاحية أخرى'
PERMDEFAULT: 'أدخل البريد الإلكتروني و الرقم السري للوصول إلى نظام إدارة المحتوى'
PLEASESAVE: 'فضلاً احفظ الصفحة: هذه الصفحة لا يمكن تحديثها لأنها لم تحفظ بعد'
PreviewButton: استعراض
REORGANISATIONSUCCESSFUL: 'تم إعادة تنظيم خريطة الموقع بنجاح'
SAVEDUP: تم الحفظ.
@ -453,7 +450,6 @@ ar:
SINGULARNAME: دور
Title: عنوان
PermissionRoleCode:
PLURALNAME: 'رموز دور الأذن'
PermsError: 'لا يمكن تعيين كود "s%" مع سماحيات مميزة (يتطلب دخول اعن طريق المشرف)'
SINGULARNAME: 'رمز دور الأذن'
Permissions:

View File

@ -220,7 +220,6 @@ bg:
PERMAGAIN: 'Вие излязохте от CMS. Ако искате да влезете отново, моля, въведете потребителско име и парола.'
PERMALREADY: 'Съжалявам, но нямате достъп до тази част от CMS. Ако искате да влезете с друго потребителско име, моля, направете го по-долу'
PERMDEFAULT: 'Въведете имейл адреса и паролата си, за да влезете в CMS.'
PLEASESAVE: 'Съхрани страницата: Тази страница не може да бъде обновена, защото още не е записана.'
PreviewButton: Преглед
REORGANISATIONSUCCESSFUL: 'Реорганизацията на дървото на сайта беше успешна.'
SAVEDUP: Записано

View File

@ -104,7 +104,6 @@ bs:
PERMAGAIN: 'Odjavljeni ste sa CMS-a. Ukoliko se želite ponovo prijaviti, unesite korisničko ime i šifru ispod.'
PERMALREADY: 'Žao nam je ali ne možete pristupiti ovom dijelu CMS-a. Ako se želite prijaviti sa drugim korisnikom uradite to ispod'
PERMDEFAULT: 'Unesite vašu e-mail adresu i šifru kako biste pristupili CMS-u.'
PLEASESAVE: 'Molimo snimite stranicu: Ova stranica ne može biti ažurirana ako nije prethodno snimljena.'
Member:
BUTTONCHANGEPASSWORD: 'Promijeni šifru'
BUTTONLOGIN: 'Prijava'

View File

@ -123,7 +123,6 @@ ca:
PERMAGAIN: 'Heu estat desconnectat del SGC. Si voleu entrar de nou, introduïu un nom d''usuari i contrasenya a sota'
PERMALREADY: 'Lamentant-ho molt, no podeu accedir a aquesta part del SGC. Si voleu entrar com a algú altre, feu-ho a sota'
PERMDEFAULT: 'Introduïu la vostra adreça de correu electrònic i la contrasenya per a entrar al SGC.'
PLEASESAVE: 'Si us plau, deseu la pàgina: aquesta pàgina no s''ha pogut actualitzar perquè encara no s''ha desat.'
LoginAttempt:
Email: 'Adreça de correu'
IP: 'Adreça IP'

View File

@ -342,7 +342,7 @@ cs:
Hello: Ahoj
LOGOUT: 'Odhlásit se'
ListboxField:
SOURCE_VALIDATION: 'Prosím vyberte hodnotu v seznamu. {value} není platná volba'
SOURCE_VALIDATION: 'Prosím vyberte hodnotu v nabídnutém seznamu. %s není platná volba'
LoginAttempt:
Email: 'Emailové adresy'
IP: 'IP adresy'
@ -548,6 +548,8 @@ cs:
Print: Tisk
TableListField_PageControls_ss:
OF: z
TextField:
VALIDATEMAXLENGTH: 'Hodnota pro {name} nesmí překročit {maxLength} v délce znaků'
TimeField:
VALIDATEFORMAT: 'Prosím zadejte platný formát času ({format})'
ToggleField:

View File

@ -20,7 +20,6 @@ da:
PERMAGAIN: 'Du er blevet logget ud af CMS, hvis du vil logge ind igen, indtast brugernavn og kodeord nedenfor.'
PERMALREADY: 'Beklager, men du kan ikke få adgang til denne del af CMS, hvis du vil logge ind som en anden, kan du gøre det nedenfor'
PERMDEFAULT: 'Indtast din email adresse og kodeord for at få adgang til CMS systemet'
PLEASESAVE: 'Gem siden: Denne side kunne ikke blive opdateret, fordi den endnu ikke er gemt.'
ModelAdmin:
DELETE: Slet
IMPORT: 'Importer fra CSV'

View File

@ -100,7 +100,7 @@ de:
ConfirmedPasswordField:
ATLEAST: 'Passwörter müssen mindestens {min} Zeichen lang sein.'
BETWEEN: 'Passwörter müssen zwischen {min} und {max} Zeichen lang sein.'
MAXIMUM: 'Passwörter dürfen maxinal {max} Zeichen lang sein.'
MAXIMUM: 'Passwörter dürfen maximal {max} Zeichen lang sein.'
SHOWONCLICKTITLE: 'Passwort ändern'
ContentController:
NOTLOGGEDIN: 'Nicht eingeloggt'
@ -342,7 +342,7 @@ de:
Hello: Hallo
LOGOUT: 'Abmelden'
ListboxField:
SOURCE_VALIDATION: 'Bitte wählen Sie aus der Liste. {value} ist kein gültiger Wert'
SOURCE_VALIDATION: 'Bitte wählen Sie aus der Liste. %s ist kein gültiger Wert'
LoginAttempt:
Email: 'E-Mail-Adresse'
IP: 'IP-Adresse'
@ -548,6 +548,8 @@ de:
Print: Drucken
TableListField_PageControls_ss:
OF: von
TextField:
VALIDATEMAXLENGTH: 'Der für {name} eingegebene Wert darf nicht mehr als {maxLength} Zeichen lang sein'
TimeField:
VALIDATEFORMAT: 'Bitte geben Sie die Uhrzeit im korrekten Format ein ({format})'
ToggleField:

View File

@ -1,5 +1,22 @@
el:
AssetTableField:
DIM: Διαστάσεις
FILENAME: Όνομα αρχείου
FOLDER: Φάκελος
OWNER: Ιδιοκτήτης
TITLE: Τίτλος
AssetUploadField:
FILES: Αρχεία
TOTAL: Σύνολο
UPLOADOR: Ή
BBCodeParser:
IMAGE: Εικόνα
Boolean:
NOANSWER: 'Όχι'
YESANSWER: 'Ναί'
CMSMain:
SAVE: Αποθήκευση
CMSProfileController:
MENUTITLE: 'Το προφίλ μου'
LeftAndMain:
HELP: Βοήθεια

View File

@ -70,10 +70,22 @@ en:
ACCESSALLINTERFACES: 'Access to all CMS sections'
ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.'
SAVE: Save
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Forgot password?'
BUTTONLOGIN: 'Log back in'
BUTTONLOGOUT: 'Log out'
PASSWORDEXPIRED: '<p>Your password has expired. <a target="_top" href="{link}">Please choose a new one.</a></p>'
CMSPageHistoryController_versions_ss:
PREVIEW: 'Website preview'
CMSProfileController:
MENUTITLE: 'My Profile'
CMSSecurity:
INVALIDUSER: '<p>Invalid user. <a target="_top" href="{link}">Please re-authenticate here</a> to continue.</p>'
LoginMessage: '<p>If you have any unsaved work you can return to where you left off by logging back in below.</p>'
SUCCESS: Success
SUCCESSCONTENT: '<p>Login success. If you are not automatically redirected <a target="_top" href="{link}">click here</a></p>'
TimedOutTitleAnonymous: 'Your session has timed out.'
TimedOutTitleMember: 'Hey {name}!<br />Your session has timed out.'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'You changed your password for'
CHANGEPASSWORDTEXT2: 'You can now use the following credentials to log in:'
@ -85,18 +97,8 @@ en:
YESANSWER: 'Yes'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Please select a value within the list provided. {value} is not a valid option'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Forgot password?'
BUTTONLOGIN: 'Log back in'
BUTTONLOGOUT: 'Log out'
PASSWORDEXPIRED: '<p>Your password has expired. <a target="_top" href="{link}">Please choose a new one.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Invalid user. <a target="_top" href="{link}">Please re-authenticate here</a> to continue.</p>'
LoginMessage: '<p>If you have any unsaved work you can return to where you left off by logging back in below.</p>'
SUCCESS: Success
SUCCESSCONTENT: '<p>Login success. If you are not automatically redirected <a target="_top" href="{link}">click here</a></p>'
TimedOutTitleAnonymous: 'Your session has timed out.'
TimedOutTitleMember: 'Hey {name}!<br />Your session has timed out.'
CheckboxSetField:
SOURCE_VALIDATION: 'Please select a value within the list provided. ''{value}'' is not a valid option'
ConfirmedPasswordField:
ATLEAST: 'Passwords must be at least {min} characters long.'
BETWEEN: 'Passwords must be {min} to {max} characters long.'
@ -202,7 +204,6 @@ en:
VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character'
VALIDATOR: Validator
VALIDCURRENCY: 'Please enter a valid currency'
CSRF_EXPIRED_MESSAGE: 'Your session has expired. Please re-submit the form.'
FormField:
Example: 'e.g. %s'
NONE: none
@ -310,10 +311,10 @@ en:
LINKOPENNEWWIN: 'Open link in a new window?'
LINKTO: 'Link to'
PAGE: Page
SUBJECT: 'Email subject'
URL: URL
URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.'
UpdateMEDIA: 'Update Media'
SUBJECT: 'Email subject'
Image:
PLURALNAME: Files
SINGULARNAME: File
@ -327,7 +328,7 @@ en:
DELETED: Deleted.
DropdownBatchActionsDefault: Actions
HELP: Help
PAGETYPE: 'Page type: '
PAGETYPE: 'Page type'
PERMAGAIN: 'You have been logged out of the CMS. If you would like to log in again, enter a username and password below.'
PERMALREADY: 'I''m sorry, but you can''t access that part of the CMS. If you want to log in as someone else, do so below'
PERMDEFAULT: 'Please choose an authentication method and enter your credentials to access the CMS.'
@ -338,7 +339,7 @@ en:
ShowAsList: 'show as list'
TooManyPages: 'Too many pages'
ValidationError: 'Validation error'
VersionUnknown: Unknown
VersionUnknown: unknown
LeftAndMain_Menu_ss:
Hello: Hi
LOGOUT: 'Log out'
@ -483,8 +484,8 @@ en:
SINGULARNAME: Role
Title: Title
PermissionRoleCode:
PermsError: 'Can''t assign code "%s" with privileged permissions (requires ADMIN access)'
PLURALNAME: 'Permission Role Codes'
PermsError: 'Can''t assign code "%s" with privileged permissions (requires ADMIN access)'
SINGULARNAME: 'Permission Role Code'
Permissions:
PERMISSIONS_CATEGORY: 'Roles and access permissions'
@ -586,5 +587,3 @@ en:
UPLOADSINTO: 'saves into /{path}'
Versioned:
has_many_Versions: Versions
CheckboxSetField:
SOURCE_VALIDATION: 'Please select a value within the list provided. ''{value}'' is not a valid option'

View File

@ -341,8 +341,6 @@ eo:
LeftAndMain_Menu_ss:
Hello: Saluton
LOGOUT: 'Elsaluti'
ListboxField:
SOURCE_VALIDATION: 'Bonvolu elekti valoron el la listo donita. {value} ne estas valida agordo'
LoginAttempt:
Email: 'Retadreso'
IP: 'IP-Adreso'

View File

@ -171,7 +171,6 @@ es:
TEXT2: 'enlace para restablecer contraseña'
TEXT3: para
Form:
CSRF_FAILED_MESSAGE: "Parece que hay un problema técnico. Por favor presionar el botón volver \n\n⇥⇥⇥⇥⇥refresca tu navegador e intenta nuevamente"
FIELDISREQUIRED: 'Se requiere este campo'
SubmitBtnLabel: Ir
VALIDATIONCREDITNUMBER: 'Por favor, asegúrese de que ha introducido el número de tarjeta de crédito correctamente {number}'
@ -238,7 +237,6 @@ es:
many_many_Members: Miembros
GroupImportForm:
Help1: '<p>Importar uno o más grupos en formato <em>CSV</em> (valores separados por coma). <small><a href="#" class="toggle-advanced">Mostrar uso avanzado</a></small></p>'
Help2: "<div class=\"advanced\">\\n<h4>Uso avanzado</h4>\\n<ul>\\n<li>Columnas permitidas: <em>%s</em></li>\\n<li>Grupos existentes son relacionados por su valor <em>Code</em>, y actualizados con nuevos valores desde el archivo importado</li>\\n<li>Jerarquías de grupos pueden ser creadas usando una columna <em>ParentCode</em>.</li>\\n<li>Códigos de permiso pueden ser asignados por la columna <em>PermissionCode</em>. Códigos de permisos existentes no son borrados.</li>\\n</ul>\\n</div>"
ResultCreated: 'Creados {count} grupos'
ResultDeleted: 'Se eliminaron %d grupos'
ResultUpdated: 'Actualizados grupos %d'
@ -307,7 +305,6 @@ es:
PERMAGAIN: 'Ha sido desconectado del CMS. Si quiere volver a entrar, introduzca su nombre de usuario y contraseña a continuación.'
PERMALREADY: 'Lamentablemente no puede acceder a esta parte del CMS. Si quiere entrar como alguien distinto, hágalo a continuación'
PERMDEFAULT: 'Introduzca su correo electrónico y su contraseña para acceder al CMS.'
PLEASESAVE: 'Por favor guardar la página: Esta página no puede ser actualizada porque no ha sido guardada aún.'
PreviewButton: Vista previa
REORGANISATIONSUCCESSFUL: 'Reorganizado el árbol del sitio con éxito.'
SAVEDUP: Guardado
@ -368,7 +365,6 @@ es:
db_NumVisit: 'Número de Visitas'
db_Password: Contraseña
db_PasswordExpiry: 'Fecha de vencimiento de la contraseña'
NoPassword: 'No hay contraseña para este usuario'
MemberAuthenticator:
TITLE: 'E-mail &amp; Contraseña'
MemberDatetimeOptionsetField:
@ -457,7 +453,6 @@ es:
SINGULARNAME: Regla
Title: Título
PermissionRoleCode:
PLURALNAME: 'Códigos de las reglas de permisos'
PermsError: 'No se puede asignar permisos privilegiados al código "% s" (requiere acceso de administrador)'
SINGULARNAME: 'Códigos de las regla de permisos'
Permissions:
@ -467,7 +462,6 @@ es:
VALIDATION: 'Por favor introduzca un número de teléfono válido'
Security:
ALREADYLOGGEDIN: 'No tiene acceso a esta página. Si posee otra cuenta con los privilegios para acceder a esta página, puede iniciar sesión a continuación.'
LOSTPASSWORDHEADER: 'Contraseña perdida'
BUTTONSEND: 'Envíenme el enlace para restaurar la contraseña'
CHANGEPASSWORDBELOW: 'Puede cambiar su contraseña a continuación.'
CHANGEPASSWORDHEADER: 'Modifique su contraseña'

View File

@ -136,7 +136,6 @@ es_AR:
PERMAGAIN: 'Haz sido desconectado del CMS. Si quieres volver a entrar, a continuación introduce tu nombre de usuario y contraseña.'
PERMALREADY: 'Lamentablemente no puedes ingresar a esta parte del CMS. Si quieres entrar como alguien distinto, haz eso a continuación'
PERMDEFAULT: 'Por favor elegir un método de autenticación e ingresar sus credenciales para acceder al CMS.'
PLEASESAVE: 'Por favor Guarda la Página: No se puede actualizar esta página porque aún no se ha guardado.'
LoginAttempt:
Email: 'Dirección Email'
IP: 'Dirección IP'

View File

@ -187,7 +187,6 @@ es_MX:
PERMAGAIN: 'Usted ha sido desconectado del CMS. Si quiere volver a entrar, introduzca su nombre de usuario y contraseña.'
PERMALREADY: 'Lamentablemente no puedes ingresar a esta parte del CMS. Si quieres entrar como alguien distinto, hazlo a continuación'
PERMDEFAULT: 'Por favor, elija un método de autenticación e introduzca sus credenciales para acceder al CMS.'
PLEASESAVE: 'Por favor Guarda la Página: No se puede actualizar esta página porque aún no se ha guardado.'
VersionUnknown: desconocido
LoginAttempt:
Email: 'Dirección de Correo Electrónico'

View File

@ -56,8 +56,6 @@ et_EE:
ERRORNOTREC: 'See kasutajanimi / parool ei ole tunnustatud'
Boolean:
ANY: Kõik
NOANSWER: "Ei"
YESANSWER: "Jah"
CMSLoadingScreen_ss:
LOADING: Laadimine...
REQUIREJS: 'Sisuhaldussüsteem nõuab, et JavaScript oleks lubatud.'
@ -280,7 +278,6 @@ et_EE:
PERMAGAIN: 'Oled Sisuhaldusest välja logitud. Kui soovite uuesti sisse logida sisestage kasutajanimi ja parool.'
PERMALREADY: 'Vabandust, aga sul pole lubatud sisuhaldussüsteemi selle osa juurde pääseda. Kui soovid kellegi teisena sisse logida, tee seda allpool.'
PERMDEFAULT: 'Sisesta oma e-posti aadress ja parool sisuhaldussüsteemi ligipääsemiseks.'
PLEASESAVE: 'Palun Salvesta Lehekülg: Antud lehekülge ei uuendatud, kuna seda ei ole veel salvestatud.'
PreviewButton: Eelvaade
REORGANISATIONSUCCESSFUL: 'Saidipuu korraldati edukalt ümber.'
SAVEDUP: Salvestatud.

View File

@ -99,7 +99,6 @@ fa_IR:
PAGETYPE: 'نوع صفحه'
PERMAGAIN: 'شما از سیستم مدیریت محتوا خارج شده اید.اگر میخواهید دوباره وارد شوید نام کاربری و رمز عبور خود را در قسمت زیر وارد کنید'
PERMALREADY: 'من متاسفم، شما نمی توانید به آن قسمت از سیستم مدیریت محتوا دسترسی پیدا کنید. اگر میخواهید به عنوان شخص دیگری وارد شوید از قسمت زیر تلاش کنید'
PLEASESAVE: 'لطفاً صفحه را ذخیره کنید : این صفحه نمی تواند بروز شود چراکه هنوز ذخیره نشده است.'
LoginAttempt:
Email: 'آدرس های ایمیل'
Member:

View File

@ -341,8 +341,6 @@ fi:
LeftAndMain_Menu_ss:
Hello: Hei
LOGOUT: 'Kirjaudu ulos'
ListboxField:
SOURCE_VALIDATION: 'Valitse arvo annetuista vaihtoehdoista. {value} ei kelpaa.'
LoginAttempt:
Email: 'Sähköpostiosoite'
IP: 'IP-osoite'

View File

@ -92,7 +92,6 @@ fo:
PERMAGAIN: 'Tú ert blivin útritaður av CMS skipanini. Um tú ynskir at innrita aftur, inntøppa so títt brúkaranavn og loyniorð niðanfyri:'
PERMALREADY: 'Tíanverri, tú hevur ikki atgongd til handan partin av CMS skipanini. Um tú ynskir at innrita sum onkur annar, so kann tú gera tað niðanfyri.'
PERMDEFAULT: 'Inntøppa tygara teldupost og loyniorð fyri at fáa atgongd til CMS skipanina.'
PLEASESAVE: 'Vinarliga goym síðuna: Hendan síðan kundi ikki blíva dagført, tí at hon er ikki goymd enn.'
LoginAttempt:
Email: 'Teldupostur'
IP: 'IP adressa'

View File

@ -170,7 +170,6 @@ fr:
TEXT2: 'lien de réinitialisation de mot de passe'
TEXT3: pour
Form:
CSRF_FAILED_MESSAGE: "Il semble qu'il y ait eu un problème technique. Veuillez cliquez sur le bouton Retour, raffraîchir votre navigateur, et essayer à nouveau"
FIELDISREQUIRED: '{name} requis'
SubmitBtnLabel: Envoyer
VALIDATIONCREDITNUMBER: 'Vérifiez que vous avez bien saisi votre numéro de carte bleue {number}.'
@ -235,7 +234,6 @@ fr:
many_many_Members: Membres
GroupImportForm:
Help1: '<p>Importer un ou plusieurs groupe(s) au format <em>CSV</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Montrer l''usage avancé</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Utilisation avancée</h4>\n<ul>\n<li>Colonnes autorisées&nbsp;: <em>%s</em></li>\n<li>Les utilisateurs existants sont retrouvés avec leur <em>Code</em> unique et les registres sont mis à jour avec les nouvelles valeurs du fichier importé.</li>\n<li>Des hiérarchies de groupes peuvent être créées à laide de la colonne <em>ParentCode</em>.</li>\n<li>Les autorisations sont assignées par la colonne <em>PermissionCode</em>. Les autorisations actuelles ne sont pas modifiées.</li>\n</ul>\n</div>"
ResultCreated: '{count} groupes créés'
ResultDeleted: '%d groupes supprimés'
ResultUpdated: '%d groupes mises à jour'
@ -304,7 +302,6 @@ fr:
PERMAGAIN: 'Vous avez été déconnecté du CMS. Si vous voulez vous reconnecter, entrez un nom d''utilisateur et un mot de passe ci-dessous.'
PERMALREADY: 'Désolé, mais vous ne pouvez pas accéder à cette partie du CMS. Si vous voulez changer d''identité, faites le ci-dessous'
PERMDEFAULT: 'Saisissez votre adresse de courriel et votre mot de passe pour accéder au CMS.'
PLEASESAVE: 'Enregistrez la page sil vous plaît&nbsp;: elle ne pouvait pas être mise à jour car elle navait pas encore été sauvegardée.'
PreviewButton: Aperçu
REORGANISATIONSUCCESSFUL: 'Larbre du site a été bien réorganisé.'
SAVEDUP: Enregistré.
@ -453,7 +450,6 @@ fr:
SINGULARNAME: Rôle
Title: Titre
PermissionRoleCode:
PLURALNAME: 'Codes des autorisations liées au rôle'
SINGULARNAME: 'Code de lautorisation liée au rôle'
Permissions:
PERMISSIONS_CATEGORY: 'Rôles et autorisations daccès'

View File

@ -162,7 +162,6 @@ gl_ES:
PERMAGAIN: 'Non tes unha sesión válida no CMS. Se queres volver entrar, insire o nome de usuario e contrasinal a continuación.'
PERMALREADY: 'Sintoo, pero non podes acceder a esta parte do CMS. Se queres iniciar sesión con outras credenciais, faino a continuación'
PERMDEFAULT: 'Escolle un método de autenticación e insire as túas credenciais para acceder o CMS.'
PLEASESAVE: 'Por favor Garda Páxina: Esta páxina podería non ser actualizada porque inda non foi gardada.'
VersionUnknown: descoñecido
LoginAttempt:
Email: 'Enderezo Correo-e'

View File

@ -67,7 +67,6 @@ he_IL:
PERMAGAIN: 'התנתקת מהמערכת. לחיבור מחדש נא להזין שם וסיסמה'
PERMALREADY: 'צר לנו, אך לא תוכל לגשת לחלק זה של מערכת ניהול התוכן. אם ברצונך להתחבר למערכת בתור משתמש אחר נא להשתמש בתיבה בעמוד זה'
PERMDEFAULT: 'נא לבחור בשיטת וידוא והזן פרטיך למערכת'
PLEASESAVE: 'נא לשמור עמוד זה. העמוד לא עודכן מכיוון ולא עודכן.'
Member:
BUTTONCHANGEPASSWORD: 'שנה סיסמא'
BUTTONLOGIN: 'התחבר'

View File

@ -119,7 +119,6 @@ hr:
PERMAGAIN: 'Odjavili ste se sa sustava. Želite li se ponovno prijaviti upišite korisničko ime i lozinku.'
PERMALREADY: 'Nažalost, ne možete pristupiti tom dijelu sustava. Želite li se prijaviti kao netko drugi učinite to ispod'
PERMDEFAULT: 'Odaberite metodu autorizacije te upišite svoje podatke za pristup sustavu.'
PLEASESAVE: 'Molim spremite stranicu: Stranica ne može biti ažurirana jer još uvijek nije spremljena.'
Member:
BUTTONCHANGEPASSWORD: 'Promjeni lozinku'
BUTTONLOGIN: 'Prijava'

View File

@ -71,7 +71,6 @@ hu:
PERMAGAIN: 'Kiléptetésre kerültél a CMS-ből. Ha újra be szeretnél lépni, add meg alább a felhasználóneved és jelszavad.'
PERMALREADY: 'Nincs jogosultságod a CMS ezen részének megtekintéséhez. Ha be szeretnél jelentkezni más felhasználóként, lejjebb megteheted.'
PERMDEFAULT: 'A CMS- be való belépéshez, kérünk válassz egy azonosítási módot, és írd be az azonosítási infomációkat.'
PLEASESAVE: 'Kérjük, mentsd el az oldalt: az oldalt nem lehetett frissíteni, mivel még nem került elmentésre.'
Member:
BUTTONCHANGEPASSWORD: 'Jelszó megváltoztatása'
BUTTONLOGIN: 'Bejelentkezés'

View File

@ -341,8 +341,6 @@ id:
LeftAndMain_Menu_ss:
Hello: Hai
LOGOUT: 'Keluar'
ListboxField:
SOURCE_VALIDATION: 'Mohon pilih nilai dari daftar yang ada. ''{value}'' bukan pilihan valid'
LoginAttempt:
Email: 'Alamat Email'
IP: 'Alamat IP'

View File

@ -341,8 +341,6 @@ id_ID:
LeftAndMain_Menu_ss:
Hello: Hai
LOGOUT: 'Keluar'
ListboxField:
SOURCE_VALIDATION: 'Mohon pilih nilai dari daftar yang ada. ''{value}'' bukan pilihan valid'
LoginAttempt:
Email: 'Alamat Email'
IP: 'Alamat IP'

View File

@ -1,7 +1,7 @@
it:
AssetAdmin:
NEWFOLDER: NuovaCartella
SHOWALLOWEDEXTS: 'Mostra le estensioni permesse'
SHOWALLOWEDEXTS: 'Mostra le estensioni consentite'
AssetTableField:
CREATED: 'Inizialmente caricato'
DIM: Dimensioni
@ -60,6 +60,8 @@ it:
ERRORNOTREC: 'Nome utente / password non riconosciuti'
Boolean:
ANY: Qualsiasi
NOANSWER: 'No'
YESANSWER: 'Sì'
CMSLoadingScreen_ss:
LOADING: Caricamento in corso...
REQUIREJS: 'Il CMS richiede JavaScript abilitato.'
@ -78,6 +80,23 @@ it:
EMAIL: Email
HELLO: Ciao
PASSWORD: Password
CheckboxField:
NOANSWER: 'No'
YESANSWER: 'Sì'
CheckboxFieldSetField:
SOURCE_VALIDATION: 'Per favore selezionare un valore tra quelli forniti. {value} non è un''opzione valida'
CMSMemberLoginForm:
BUTTONFORGOTPASSWORD: 'Password dimenticata?'
BUTTONLOGIN: 'Accedi nuovamente'
BUTTONLOGOUT: 'Scollegati'
PASSWORDEXPIRED: '<p>La tua password è scaduta. <a target="_top" href="{link}">Per favore selezionarne una nuova.</a></p>'
CMSSecurity:
INVALIDUSER: '<p>Utente non valido. <a target="_top" href="{link}">Per favore autenticarsi di nuovo</a> per continuare.</p>'
LoginMessage: '<p>Se hai del lavoro non salvato puo tornare a dove eri accedendo nuovamente da qui sotto.</p>'
SUCCESS: Successo
SUCCESSCONTENT: '<p>Accesso eseguito. Se non sarai ridirezionato automaticamente, <a target="_top" href="{link}">cliccare qui</a></p>'
TimedOutTitleAnonymous: 'La tua sessione è scaduta.'
TimedOutTitleMember: 'Ciao {name}!<br />La tua sessione è scaduta.'
ConfirmedPasswordField:
ATLEAST: 'La password deve essere lunga almeno {min} caratteri.'
BETWEEN: 'La password deve essere lunga da {min} a {max} caratteri.'
@ -92,6 +111,9 @@ it:
THIRD: terzo
CurrencyField:
CURRENCYSYMBOL: $
DataObject:
PLURALNAME: 'Data Object'
SINGULARNAME: 'Data Object'
Date:
DAY: giorno
DAYS: giorni
@ -105,6 +127,7 @@ it:
SEC: secondo
SECS: secondi
TIMEDIFFAGO: '{difference} fa'
TIMEDIFFIN: 'in {difference}'
YEAR: anno
YEARS: anni
DateField:
@ -119,6 +142,8 @@ it:
INVALID_REQUEST: 'Richiesta non valida'
DropdownField:
CHOOSE: (Scegli)
CHOOSESEARCH: '(Scegliere o Cercare)'
SOURCE_VALIDATION: 'Per favore selezionare un valore tra quelli forniti. {value} non è un''opzione valida'
EmailField:
VALIDATION: 'Inserisci un indirizzo e-mail'
Enum:
@ -166,7 +191,7 @@ it:
TEXT2: 'Link per l''azzeramento della password'
TEXT3: per
Form:
CSRF_FAILED_MESSAGE: "Sembra che ci sia stato un problema tecnico. Per favore clicca sul pulsante \"indietro\", ricarica la pagina e riprova."
CSRF_FAILED_MESSAGE: 'Sembra che ci sia stato un problema tecnico. Per favore cliccare sul pulsante "indietro", ricaricare la pagina e riprovare.'
FIELDISREQUIRED: '{name} è richiesto'
SubmitBtnLabel: Vai
VALIDATIONCREDITNUMBER: 'Assicurati che il numero di carta di credito {number} sia inserito correttamente'
@ -176,6 +201,7 @@ it:
VALIDATIONSTRONGPASSWORD: 'Le password devono avere almeno un numero e un carattere alfanumerico.'
VALIDATOR: Valiidatore
VALIDCURRENCY: 'Inserisci una valuta valida'
CSRF_EXPIRED_MESSAGE: 'La tua sessione è scaduta. Per favore ritrasmettere la form.'
FormField:
Example: 'es. %s'
NONE: nessuno
@ -220,6 +246,7 @@ it:
DefaultGroupTitleContentAuthors: 'Autori di contenuto'
Description: Descrizione
GroupReminder: 'Se scegli un gruppo genitore, questo gruppo erediterà tutti i suoi ruoli'
HierarchyPermsError: 'Non posso assegnare permessi privilegiati al gruppo genitore "%s" (richiede accesso ADMIN)'
Locked: 'Bloccato?'
NoRoles: 'Nessun ruolo trovato'
PLURALNAME: Gruppi
@ -231,7 +258,7 @@ it:
many_many_Members: Membri
GroupImportForm:
Help1: '<p>Importa gruppi in formato <em>CSV</em> (valori separati da virgole). <small><a href="#" class="toggle-advanced">Mostra utilizzo avanzato</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Utilizzo avanzato</h4>\n<ul>\n<li>Colonne consentite: <em>%s</em></li>\n<li>Gruppi esistenti sono individuati tramite il loro valore univoco <em>Code</em> e aggiornati con i nuovi valori dal file importato.</li>\n<li>È possibile creare gerarchie tra i gruppi usando la colonna <em>ParentCode</em></li>\n<li>Codici di permessi possono essere assegnati tramite la colonna <em>PermissionCode</em>. Codici di permessi esistenti non verranno cancellati.</li>\n</ul>\n</div>"
Help2: "<div class=\"advanced\">\n<h4>Utilizzo avanzato</h4>\n<ul>\n<li>Colonne consentite: <em>%s</em></li>\n<li>I gruppi esistenti sono identificati dalla proprietà univoca <em>Code</em> e aggiornati con i nuovi valori dal file importato.</li>\n<li>Gerarchie di gruppi possono essere create usando la colonna <em>ParentCode</em>.</li>\n<li>I codici di permesso possono essere assegnati con la colonna <em>ParentCode</em>. I permessi esistenti non saranno azzerati.</li>\n</ul>\n</div>"
ResultCreated: 'Creati {count} gruppi'
ResultDeleted: 'Eliminati %d gruppi'
ResultUpdated: 'Aggiornati %d gruppi'
@ -240,6 +267,8 @@ it:
HtmlEditorField:
ADDURL: 'Aggiungi URL'
ADJUSTDETAILSDIMENSIONS: 'Dettagli e dimensioni'
ANCHORSCANNOTACCESSPAGE: 'Non ti è consentito accedere al contenuto della pagina di destinazione.'
ANCHORSPAGENOTFOUND: 'Pagina di destinazione non trovata.'
ANCHORVALUE: Ancora
BUTTONADDURL: 'Aggiungi url'
BUTTONINSERT: Inserisci
@ -283,6 +312,7 @@ it:
URL: URL
URLNOTANOEMBEDRESOURCE: 'L''URL ''{url}'' non può essere convertito in una risorsa media.'
UpdateMEDIA: 'Aggiorna Media'
SUBJECT: 'Oggetto email'
Image:
PLURALNAME: Files
SINGULARNAME: File
@ -300,7 +330,7 @@ it:
PERMAGAIN: 'Sei stato disconnesso dal CMS. Se desideri autenticarti nuovamente, inserisci qui sotto nome utente e password.'
PERMALREADY: 'Siamo spiacenti, ma non puoi accedere a questa sezione del CMS. Se desideri autenticarti come qualcun altro, fallo qui sotto.'
PERMDEFAULT: 'Inserisci il tuo indirizzo email e password per accedere al CMS.'
PLEASESAVE: 'Per favore salva la pagina: La stessa potrebbe non venire aggiornata se non si provvede quanto prima a salvarla.'
PLEASESAVE: 'Per favore salvare la pagina: potrebbe non venire aggiornata perché non è ancora stata salvata.'
PreviewButton: Anteprima
REORGANISATIONSUCCESSFUL: 'Albero del sito riorganizzato con successo.'
SAVEDUP: Salvato.
@ -311,6 +341,8 @@ it:
LeftAndMain_Menu_ss:
Hello: Ciao
LOGOUT: 'Disconnetti'
ListboxField:
SOURCE_VALIDATION: 'Per favore selezionare un valore tra quelli forniti. %s non è un''opzione valida'
LoginAttempt:
Email: 'Indirizzo e-mail'
IP: 'Indirizzo IP'
@ -335,6 +367,7 @@ it:
ERRORLOCKEDOUT2: 'Il tuo account è stato temporaneamente disabilitato perchè ci sono stati troppi tentativi di accesso errati. Riprova tra {count} minuti.'
ERRORNEWPASSWORD: 'Hai inserito la tua nuova password in modo differente, prova di nuovo'
ERRORPASSWORDNOTMATCH: 'La tua password attuale non corrisponde, per favore prova ancora'
ERRORWRONGCRED: 'I dettagli forniti non sembrano corretti. Per favore riprovare.'
FIRSTNAME: 'Nome'
INTERFACELANG: 'Lingua dell''interfaccia'
INVALIDNEWPASSWORD: 'Non possiamo accettare questa password: {password}'
@ -342,6 +375,7 @@ it:
NEWPASSWORD: 'Nuova password'
NoPassword: 'Manca la password per questo utente.'
PASSWORD: Password
PASSWORDEXPIRED: 'La tua password è scaduta. Per favore selezionarne una nuova.'
PLURALNAME: Utenti
REMEMBERME: 'Ricordati di me la prossima volta?'
SINGULARNAME: Utente
@ -448,7 +482,8 @@ it:
SINGULARNAME: Ruolo
Title: Titolo
PermissionRoleCode:
PLURALNAME: 'Codici di Ruolo'
PermsError: 'Non posso assegnare permessi privilegiati al codice "%s" (richiede accesso ADMIN)'
PLURALNAME: 'Codici di ruolo'
SINGULARNAME: 'Codice Ruolo'
Permissions:
PERMISSIONS_CATEGORY: 'Ruoli e permessi d''accesso'
@ -464,6 +499,7 @@ it:
ERRORPASSWORDPERMISSION: 'Devi essere autenticato per poter cambiare la tua password!'
LOGGEDOUT: 'Sei stato disconnesso. Se vuoi autenticarti nuovamente, inserisci qui sotto le tue credenziali.'
LOGIN: 'Entra'
LOSTPASSWORDHEADER: 'Password smarrita'
NOTEPAGESECURED: 'La pagina è protetta. Inserisci le credenziali qui sotto per poter andare avanti.'
NOTERESETLINKINVALID: '<p>Il link per azzerare la password non è valido o è scaduto.</p><p>Puoi richiederne uno nuovo <a href="{link1}">qui</a> o cambiare la tua password dopo che ti sei <a href="{link2}">connesso</a>.</p>'
NOTERESETPASSWORD: 'Inserisci il tuo indirizzo e-mail e ti verrà inviato un link per poter azzerare la tua password.'
@ -494,11 +530,14 @@ it:
Auto: Auto
ChangeViewMode: 'Cambia visualizzazione'
Desktop: Desktop
DualWindowView: 'Finestra doppia'
Edit: Modifica
EditView: 'Modalità modifica'
Mobile: Mobile
PreviewState: 'Stato anteprima'
PreviewView: 'Modalità anteprima'
Responsive: Responsivo
SplitView: 'Modalità promiscua'
Tablet: Preview mode
ViewDeviceWidth: 'Seleziona una larghezza di preview'
Width: larghezza
@ -509,6 +548,8 @@ it:
Print: Stampa
TableListField_PageControls_ss:
OF: di
TextField:
VALIDATEMAXLENGTH: 'Il valore di {name} non deve superare i {maxLength} caratteri di lunghezza'
TimeField:
VALIDATEFORMAT: 'Inserisci un formato d''ora valido ({format})'
ToggleField:
@ -544,3 +585,5 @@ it:
UPLOADSINTO: 'salva in /{path}'
Versioned:
has_many_Versions: Versioni
CheckboxSetField:
SOURCE_VALIDATION: 'Per favore selezionare un valore tra quelli forniti. ''{value}'' non è un''opzione valida'

View File

@ -168,7 +168,6 @@ ja:
TEXT2: 'パスワードリセットのリンク'
TEXT3:
Form:
CSRF_FAILED_MESSAGE: "技術的な問題が生じた可能性があります。 戻るボタンをクリックしてブラウザを更新し、もう一度試してください。"
FIELDISREQUIRED: '{name} が必要'
SubmitBtnLabel: Go
VALIDATIONCREDITNUMBER: 'クレジットカード番号 {number} が正しく入力されたかどうか確認してください'
@ -233,7 +232,6 @@ ja:
many_many_Members: メンバー
GroupImportForm:
Help1: '<p><em>CSV</em>フォーマット(カンマ区切り)から一つ以上のグループを取り込みます。<small><a href="#" class="toggle-advanced">高度な利用法について表示</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Advanced usage</h4>\n<ul>\n<li> 許可された列 : <em>%s</em></li>\n<li> 既存のグループは独自の <em> コード </em> の数値で照合されて、インポートされたファイル </li> からの数値によりアップデートされます。\n<li> グループの階層は <em> 親コード </em> 列を使って作成することができます。 </li>\n<li> 権限のコードは <em> 権限コード </em> 列によって割り当てることができます。 既存の権限コードはクリアされていません。</li>\n</ul>\n</div>"
ResultCreated: '{count} グループを作成しました'
ResultDeleted: '%dグループを削除しました'
ResultUpdated: '%dグループを更新しました'
@ -302,7 +300,6 @@ ja:
PERMAGAIN: 'ログアウトしました。再度ログインする場合は下にユーザー名とパスワードを入力してください。'
PERMALREADY: '申し訳ございません。ご指定になられたCMSの箇所にはアクセスいただけません。別ユーザーとしてログインをされたい場合は、下記より行えます。'
PERMDEFAULT: '認証方法を選択し、CMSにアクセスするために利用する認証情報を入力してください。'
PLEASESAVE: '保存してください: 保存してないため更新できません。'
PreviewButton: プレビュー
REORGANISATIONSUCCESSFUL: 'サイトツリーの再編集に成功しました。'
SAVEDUP: 保存済み
@ -451,7 +448,6 @@ ja:
SINGULARNAME: 役割
Title: タイトル
PermissionRoleCode:
PLURALNAME: '許可の役割のコード'
SINGULARNAME: '許可の役割のコード'
Permissions:
PERMISSIONS_CATEGORY: '役割とアクセス権限'

View File

@ -342,7 +342,7 @@ lt:
Hello: Sveiki
LOGOUT: 'Atsijungti'
ListboxField:
SOURCE_VALIDATION: 'Prašome pasirinkti reikšmę iš pateikto sąrašo. ''{value}'' yra negalima reikšmė.'
SOURCE_VALIDATION: 'Prašome pasirinkti reikšmę iš pateikto sąrašo. ''%s'' yra negalima reikšmė.'
LoginAttempt:
Email: 'E. pašto adresas'
IP: 'IP adresas'
@ -548,6 +548,8 @@ lt:
Print: Spausdinti
TableListField_PageControls_ss:
OF:
TextField:
VALIDATEMAXLENGTH: '''{name}'' reikšmė negali būti ilgesnė nei {maxLength} simbolių ilgio.'
TimeField:
VALIDATEFORMAT: 'Prašome suvesti laiką teisingu formatu ({format})'
ToggleField:

View File

@ -170,7 +170,6 @@ mi:
TEXT2: 'hono tautuhi kupuhipa anō'
TEXT3:
Form:
CSRF_FAILED_MESSAGE: "Te āhua nei kua puta he raru hangarau. Pāwhiria te pātene hoki, ka tāmata anō i tō pūtirotiro, ka ngana anō."
FIELDISREQUIRED: 'Ka hiahiatia te {name}'
SubmitBtnLabel: Haere
VALIDATIONCREDITNUMBER: 'Tirohia kua tika tō tāuru i te tau kāri nama {number}'
@ -235,7 +234,6 @@ mi:
many_many_Members: Ngā Mema
GroupImportForm:
Help1: '<p>Kawea mai ngā kaiwhakamahi i te hōputu <em>CSV </em> (ngā uara ka wehea ki te piko). <small><a href="#" class="toggle-advanced">Whakaatu whakamahinga ara atu anō</a></small></p>'
Help2: "<div class=\"advanced\">\n <h4>Advanced usage</h4>\n <ul>\n <li>Allowed columns: <em>%s</em></li>\n <li>Existing groups are matched by their unique <em>Code</em> value, and updated with any new values from the \n imported file</li>\n <li>Group hierarchies can be created by using a <em>ParentCode</em> column.</li>\n <li>Permission codes can be assigned by the <em>PermissionCode</em> column. Existing permission codes are not\n cleared.</li>\n </ul>\n</div>"
ResultCreated: 'I hangaia e {count} ngā rōpū'
ResultDeleted: 'Kua mukua e %d ngā rōpū'
ResultUpdated: 'Kua whakahōutia e %d ngā rōpū'
@ -304,7 +302,6 @@ mi:
PERMAGAIN: 'Kua takiputaina atu koe i te CMS. Ki te pīrangi koe ki te takiuru atu anō, tāurutia tētahi ingoa kaiwhakamahi me te kupuhipa i raro.'
PERMALREADY: 'Aroha mai, kāore e taea te whakauru i tērā wāhanga o te CMS. Ki te pīrangi koe ki te takiuru atu mā tētahi atu ingoa, whakamahia ki raro nei.'
PERMDEFAULT: 'Whiriwhiria tētahi aratuka motuhēhēnga me te tāuru i ō taipitopito tuakiri ki te uru ki te CMS.'
PLEASESAVE: 'Tiaki Whārangi: Kāore i taea tēnei whārangi te whakahōu nā te mea kāore anō kia tiakina.'
PreviewButton: Arokite
REORGANISATIONSUCCESSFUL: 'Kua momoho te whakaraupapa anō i te rākau pae'
SAVEDUP: Kua Tiakina
@ -453,7 +450,6 @@ mi:
SINGULARNAME: Tūranga
Title: Taitara
PermissionRoleCode:
PLURALNAME: 'Ngā Waehere Tūnga Whakaaetanga'
SINGULARNAME: 'Waehere Tūnga Whakaaetanga'
Permissions:
PERMISSIONS_CATEGORY: 'Ngā tūnga me ngā whakaaetanga uru'

View File

@ -171,7 +171,6 @@ nb:
TEXT2: 'lenke for nullstilling av passord'
TEXT3: for
Form:
CSRF_FAILED_MESSAGE: "Det ser ut til å ha oppstått et teknisk problem. Vennligst trykk på tilbakeknappen, oppdater nettsiden og prøv på nytt."
FIELDISREQUIRED: '{name} er påkrevet'
SubmitBtnLabel: Utfør
VALIDATIONCREDITNUMBER: 'Vennligst sjekk at du har skrevet inn {number} korrekt kortnummer'
@ -237,7 +236,6 @@ nb:
many_many_Members: Medlemmer
GroupImportForm:
Help1: '<p>Importer en eller flere grupper i <em>CSV</em>-format (kommaseparerte verdier). <small><a href="#" class="toggle-advanced">Vis avanserte alternativer</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Avanserte alternativer</h4>\n<ul>\n<li>Tillatte kolonner: <em>%s</em></li>\n<li>Eksisterende grupper matches mot deres <em>Code</em>-verdi og oppdateres med nye verdier fra den importerte filen.</li>\n<li>Gruppehierarkier kan bli opprettet ved å benytte en <em>ParentCode</em>-kolonne.</li>\n<li>Tillatelseskoder kan bli angitt med <em>PermissionCode</em>-kolonnen. Eksisterende tillatelselskoder blir ikke fjernet.</li>\n</ul>\n</div>"
ResultCreated: 'Opprettet {count} grupper'
ResultDeleted: 'Slettet %d grupper'
ResultUpdated: 'Oppdaterte %d grupper'
@ -306,7 +304,6 @@ nb:
PERMAGAIN: 'Du har blitt logget ut av publiseringssystemet. Hvis du vil logge deg på igjen, skriv inn brukernavn og passord under.'
PERMALREADY: 'Beklager, men du har ikke tilgang til denne delen av publiseringssystemet. Hvis du vil logge inn som en annen bruker, gjør det nedenfor.'
PERMDEFAULT: 'Vennligst velg en autentiseringsmetode og skriv inn brukernavn og passord for å få tilgang til publiseringssystemet.'
PLEASESAVE: 'Vennligst lagre siden: Denne siden kunne ikke oppdateres fordi den ikke har blitt lagret ennå.'
PreviewButton: Forhåndsvisning
REORGANISATIONSUCCESSFUL: 'Omorganisering av sidetreet vellykket'
SAVEDUP: Lagret.
@ -455,7 +452,6 @@ nb:
SINGULARNAME: Rolle
Title: Tittel
PermissionRoleCode:
PLURALNAME: 'Koder for tillatelser'
PermsError: 'Kan ikke angi kode "%s" med administratorrettigheter (krever ADMIN-tilgang)'
SINGULARNAME: 'Tillatelseskode'
Permissions:

View File

@ -171,7 +171,6 @@ nl:
TEXT2: 'wachtwoord reset link'
TEXT3: voor
Form:
CSRF_FAILED_MESSAGE: "Er lijkt een technisch probleem te zijn. Klik op de knop 'terug', ververs de pagina, en probeer het opnieuw."
FIELDISREQUIRED: '{name} is verplicht'
SubmitBtnLabel: Versturen
VALIDATIONCREDITNUMBER: 'Gelieve uw credit card number {number} juist in te vullen'
@ -238,7 +237,6 @@ nl:
many_many_Members: Leden
GroupImportForm:
Help1: '<p>Importeer een of meerdere groepen in <em>CSV</em>-formaat (comma-separated values). <small><a href="#" class="toggle-advanced">Toon geavanceerd gebruik</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Geavanceerd gebruik</h4>\n<ul>\n<li>Toegestane kolommen: <em>%s</em></li>\n<li>Bestaande groepen worden geïdentificeerd door middel van hun unieke <em>Code</em>-waarde, en aangepast met de nieuwe waarden vanuit het geïmporteerde bestand</li>\n<li>Groepshiërarchiën kunnen aangemaakt worden door een <em>ParentCode</em>-kolom te gebruiken</li>\n<li>Toegangscodeskunnen toegewezen worden met de <em>PermissionCode</em> kolom. Bestaande toegangscodes worden niet verwijderd.</li>\n</ul>\n</div>"
ResultCreated: '{count} groepen aangemaakt'
ResultDeleted: '%d groepen verwijderd'
ResultUpdated: '%d groepen aangepast'
@ -307,7 +305,6 @@ nl:
PERMAGAIN: 'U bent uitgelogd uit het CMS. Als u weer wilt inloggen vul dan uw gebruikersnaam en wachtwoord hieronder in.'
PERMALREADY: 'Helaas, dat deel van het CMS is niet toegankelijk voor u. Hieronder kunt u als iemand anders inloggen.'
PERMDEFAULT: 'Geef uw e-mailadres en wachtwoord in om in te loggen op het CMS.'
PLEASESAVE: 'Deze pagina kon niet bijgewerkt worden, omdat deze nog niet is opgeslagen.'
PreviewButton: Voorbeeld
REORGANISATIONSUCCESSFUL: 'Menu-indeling is aangepast'
SAVEDUP: Opgeslagen.
@ -456,7 +453,6 @@ nl:
SINGULARNAME: Rol
Title: Titel
PermissionRoleCode:
PLURALNAME: 'Machtigingen rol codes'
PermsError: 'U moet (ADMIN) rechten hebben om de code "%s" toe te kennen'
SINGULARNAME: 'Machtigingen rol code'
Permissions:

View File

@ -171,7 +171,6 @@ pl:
TEXT2: 'link zmiany hasła'
TEXT3: dla
Form:
CSRF_FAILED_MESSAGE: "Wygląda na to, że wystąpił błąd techniczny. Kliknij przycisk Wstecz, odśwież przeglądarkę i spróbuj ponownie."
FIELDISREQUIRED: '{name} jest wymagane'
SubmitBtnLabel: Przejdź
VALIDATIONCREDITNUMBER: 'Proszę upewnij się, że wprowadzony numer karty kredytowej {number} jest prawidłowy'
@ -237,7 +236,6 @@ pl:
many_many_Members: Użytkownicy
GroupImportForm:
Help1: '<p>Zaimportuj użytkowników w <em>formacie CSV</em> (tekst rozdzielany przecinkami). <small><a href="#" class="toggle-advanced">Zaawansowane</a></small></p>'
Help2: "<div class=\"advanced\">\n⇥<h4>Użycie zaawansowane</h4>\n⇥<ul>\n⇥<li>Rozpoznawane pola: <em>%s</em></li>\n⇥<li>Istniejące grupy zostaną uaktualnione nowymi wartościami z importowanego pliku. Dopasowanie nastąpi poprzez porównanie z unikalną wartością w polu <em>Code</em>.</li>\n⇥<li>Grupy hierarchiczne mogą zostać utworzone przy pomocy pola <em>ParentCode</em>.</li>\n⇥<li>Kody zezwoleń mogą zostać dodane przy użyciu pola <em>PermissionCode</em>. Istniejące zezwolenia nie zostaną usunięte.</li>\n⇥</ul>\n</div>"
ResultCreated: 'Stworzono grup: {count}'
ResultDeleted: 'Usunięto grup: %d'
ResultUpdated: 'Zaktualizowano grup: %d'
@ -306,7 +304,6 @@ pl:
PERMAGAIN: 'Zostałeś wylogowany z CMSa. Jeśli chcesz zalogować się ponownie, wpisz login i hasło poniżej.'
PERMALREADY: 'Niestety nie masz dostępu do tej części CMS. Jeśli chcesz zalogować się jako ktoś inny, zrób to poniżej'
PERMDEFAULT: 'Proszę wybrać metodę identyfikacji i wpisać swoje dane, aby uruchomić CMSa.'
PLEASESAVE: 'Proszę zapisać stronę. Ta strona nie mogła zostać uaktualniona, ponieważ nie została jeszcze zapisana.'
PreviewButton: Podgląd
REORGANISATIONSUCCESSFUL: 'Pomyślnie zreorganizowano drzewo serwisu.'
SAVEDUP: Zapisano.
@ -455,7 +452,6 @@ pl:
SINGULARNAME: Rola
Title: Tytuł
PermissionRoleCode:
PLURALNAME: 'Kod roli uprawnień'
PermsError: 'Nie można przyporządkować uprzywilejowanego uprawnienia "%s" (wymagane uprawnienie ADMIN)'
SINGULARNAME: 'Kod roli uprawnienia'
Permissions:

View File

@ -146,7 +146,6 @@ pt:
HELP: Ajuda
PAGETYPE: 'Tipo de página: '
PERMAGAIN: 'Saiu do CMS. Se se deseja autenticar novamente insira as suas credenciais abaixo.'
PLEASESAVE: 'Por favor salve a página: Esta página não pode ser atulizada porque ainda não foi salva.'
LoginAttempt:
Email: 'Endereço de Email'
IP: 'Endereço IP'

View File

@ -123,7 +123,6 @@ pt_BR:
PERMAGAIN: 'Você foi desconectado do CMS. Se você quiser entrar novamente, digite um nome de usuário e senha abaixo.'
PERMALREADY: 'Sinto muito, mas você não pode acessar essa parte do CMS. Se você quiser entrar como outra pessoa, faça-o abaixo.'
PERMDEFAULT: 'Por favor, entre com seu e-mail e senha para entrar no sistema.'
PLEASESAVE: 'Por favor salve a página: Esta página não pode ser atulizada porque ainda não foi salva.'
LoginAttempt:
Email: 'Endereço de E-mail'
IP: 'Endereço IP'

View File

@ -171,7 +171,6 @@ ru:
TEXT2: 'ссылка переустановки пароля'
TEXT3: для
Form:
CSRF_FAILED_MESSAGE: "Произошла техническая ошибка. Нажмите кнопку \"Назад\", обновите страницу в браузере и повторите попытку."
FIELDISREQUIRED: 'Поле {$name} является обязательным'
SubmitBtnLabel: Выбрать
VALIDATIONCREDITNUMBER: 'Пожалуйста, убедитесь, что номер кредитной карты {number} задан правильно'
@ -237,7 +236,6 @@ ru:
many_many_Members: Члены группы
GroupImportForm:
Help1: '<p>Импорт одной или нескольких групп в формате <em>CSV</em> (comma-separated values). <small><a href="#" class="toggle-advanced">Подробные сведения</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Расширенное использование</h4>\n<ul>\n<li>Разрешенные столбцы: <em>%s</em></li>\n<li>Существующие группы сверяются с уникальным значением <em>Code</em> и новые значения из \nимпортированного файла вносятся в записи</li>\n<li>Иерархические структуры групп создаются с помощью столбца <em>ParentCode</em>.</li>\n<li>Назначение кодов прав доступа производится с помощью столбца <em>PermissionCode</em>. Существующие коды прав доступа \nне сбрасываются.</li>\n</ul>\n</div>"
ResultCreated: 'Создано {count} групп'
ResultDeleted: 'Удалено %d групп'
ResultUpdated: 'Обновлено %d групп'
@ -306,7 +304,6 @@ ru:
PERMAGAIN: 'Вы вышли из Системы Управления Сайтом. Если Вы хотите войти снова, введите внизу имя пользователя и пароль.'
PERMALREADY: 'Извините, у вас нет доступа к этому разделу Системы Управления. Если Вы хотите войти под другой учетной записью, сделайте это ниже'
PERMDEFAULT: 'Введите ваши адрес электр. почты и пароль для доступа к системе.'
PLEASESAVE: 'Пожалуйста, сохраните страницу: ее нельзя обновить, т.к. она еще не была сохранена.'
PreviewButton: Просмотр
REORGANISATIONSUCCESSFUL: 'Древесная структура сайта успешно реорганизована.'
SAVEDUP: Сохранено.
@ -455,7 +452,6 @@ ru:
SINGULARNAME: Роль
Title: Название
PermissionRoleCode:
PLURALNAME: 'Коды ролей доступа'
SINGULARNAME: 'Код роли доступа'
Permissions:
PERMISSIONS_CATEGORY: 'Роли и права доступа'

View File

@ -82,7 +82,6 @@ si:
PERMAGAIN: 'ඹබ CMS ඵකෙන් ඉවත් වී ඇත. නැවත ඇතුල් වීමට නම හා මුරපදය යොදන්න'
PERMALREADY: 'සමාවන්න ඔබට මෙම කොටස පරිශීලනය කල නොහැක. පහතින් වෙනත් නමකින් ඇතුල් වන්න'
PERMDEFAULT: 'හදුනාගැනීමේ ක්රමයක් තෝරා ඹබගේ දත්ත ඇතුල් කරන්න'
PLEASESAVE: 'පිටුව සේව් කරන්න, නැතිනම් මෙම පිටුව යාවත්කාලීන කල නොහැක'
Member:
BUTTONCHANGEPASSWORD: 'මුර පදය අලුත් කරන්න'
BUTTONLOGIN: 'ඇතුල්වන්න'

View File

@ -342,7 +342,7 @@ sk:
Hello: Ahoj
LOGOUT: 'Odhlásiť sa'
ListboxField:
SOURCE_VALIDATION: 'Prosím vyberte hodnotu v zozname. {value} nie je platná voľba.'
SOURCE_VALIDATION: 'Prosím vyberte hodnotu v zozname. %s nie je platná voľba'
LoginAttempt:
Email: 'Emailová adresa'
IP: 'IP adreasa'
@ -548,6 +548,8 @@ sk:
Print: Tlačiť
TableListField_PageControls_ss:
OF: z
TextField:
VALIDATEMAXLENGTH: 'Hodnota pre {name} nesmie prekročiť {maxLength} v dĺžke znakov'
TimeField:
VALIDATEFORMAT: 'Prosím zadajte platný formát času ({format})'
ToggleField:

View File

@ -166,7 +166,6 @@ sl:
TEXT2: 'povezava za ponastavitev gesla'
TEXT3: za
Form:
CSRF_FAILED_MESSAGE: "Verjetno je prišlo do tehničnih napak. Kliknite \"the back button\", osvežite brskalnik in poskusite ponovno."
FIELDISREQUIRED: '{name} je potrebno'
SubmitBtnLabel: Naprej
VALIDATIONCREDITNUMBER: 'Prosim, preverite, da ste vnesli številko kreditne kartice {number} pravilno.'
@ -291,7 +290,6 @@ sl:
PERMAGAIN: 'Odjavili ste se iz CMS-vmesnika. Če se želite ponovno prijaviti, vpišite uporabniško ime in geslo.'
PERMALREADY: 'Do tega dela CMS-vmesnika nimate dostopa. Če se želite vpisati z drugim uporabniškim imenom, lahko to storite spodaj'
PERMDEFAULT: 'Izberite način avtentikacije in vpišite svoje podatke za dostop do CMS-vmesnika.'
PLEASESAVE: 'Shranite stran: te strani ne morete posodobiti, ker še ni bila shranjena.'
PreviewButton: Predogled
REORGANISATIONSUCCESSFUL: 'Struktura spletnega mesta je bila uspešno spremenjena.'
SAVEDUP: Shranjeno.

View File

@ -171,7 +171,6 @@ sr:
TEXT2: 'линк за ресетовање лозинке'
TEXT3: за
Form:
CSRF_FAILED_MESSAGE: "Изгелда да постоји технички проблем. Кликните на дугме за повратак, освежите страницу и покушајте поново."
FIELDISREQUIRED: '{name} је обавезно'
SubmitBtnLabel: Иди
VALIDATIONCREDITNUMBER: 'Уверите се да сте исправно унели {number} број кредитне картице'
@ -237,7 +236,6 @@ sr:
many_many_Members: Чланови
GroupImportForm:
Help1: '<p>Увези једну или више група у <em>CSV</em> формату (зарезима раздвојене вредности). <small><a href="#" class="toggle-advanced">Прикажи напредно коришћење</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Напредно коришћење</h4>\n<ul>\n<li>Дозвољене колоне: <em>%s</em></li>\n<li>Постојеће групе се препознају по њиховом јединственом <em>коду</em> и ажурирају новим вредностима из увезене датотеке</li>\n<li>Хијерархије група могу се креирати коришћењем колоне <em>РодитељскиКод</em>.</li>\n<li>Кодови дозвола могу бити додељени помоћу колоне <em>КодДозволе</em>. Постојећи кодови дозволе се не бришу.</li>\n</ul>\n</div>"
ResultCreated: 'Креирано {count} група'
ResultDeleted: 'Избрисао %d група'
ResultUpdated: 'Ажурирано %d група'
@ -306,7 +304,6 @@ sr:
PERMAGAIN: 'Одјављени сте са CMS-а. Уколико желите да се поново пријавите, унесите корисничко име и лозинку.'
PERMALREADY: 'Не можете да приступите овом делу CMS-а. Ако желите да се пријавите као неко други, урадите то испод'
PERMDEFAULT: 'Изаберите методу аутентификације и унесите податке за приступ CMS-у.'
PLEASESAVE: 'Сачувајте страну: ова страна не може да буде ажурирана јер још увек није сачувана.'
PreviewButton: Претходни преглед
REORGANISATIONSUCCESSFUL: 'Стабло сајта је успешно реорганизовано.'
SAVEDUP: Сачувано.
@ -455,7 +452,6 @@ sr:
SINGULARNAME: Улога
Title: Наслов
PermissionRoleCode:
PLURALNAME: 'Кодови улога за дозволе'
PermsError: 'Није могуће доделити кôд "%s" са привилегованим дозволама (захтева Администраторски приступ)'
SINGULARNAME: 'Кôд улоге за дозволе'
Permissions:

View File

@ -171,7 +171,6 @@ sr_RS:
TEXT2: 'линк за ресетовање лозинке'
TEXT3: за
Form:
CSRF_FAILED_MESSAGE: "Изгелда да постоји технички проблем. Кликните на дугме за повратак, освежите страницу и покушајте поново."
FIELDISREQUIRED: '{name} је обавезно'
SubmitBtnLabel: Иди
VALIDATIONCREDITNUMBER: 'Уверите се да сте исправно унели {number} број кредитне картице'
@ -237,7 +236,6 @@ sr_RS:
many_many_Members: Чланови
GroupImportForm:
Help1: '<p>Увези једну или више група у <em>CSV</em> формату (зарезима раздвојене вредности). <small><a href="#" class="toggle-advanced">Прикажи напредно коришћење</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>Напредно коришћење</h4>\n<ul>\n<li>Дозвољене колоне: <em>%s</em></li>\n<li>Постојеће групе се препознају по њиховом јединственом <em>коду</em> и ажурирају новим вредностима из увезене датотеке</li>\n<li>Хијерархије група могу се креирати коришћењем колоне <em>РодитељскиКод</em>.</li>\n<li>Кодови дозвола могу бити додељени помоћу колоне <em>КодДозволе</em>. Постојећи кодови дозволе се не бришу.</li>\n</ul>\n</div>"
ResultCreated: 'Креирано {count} група'
ResultDeleted: 'Избрисао %d група'
ResultUpdated: 'Ажурирано %d група'
@ -306,7 +304,6 @@ sr_RS:
PERMAGAIN: 'Одјављени сте са CMS-а. Уколико желите да се поново пријавите, унесите корисничко име и лозинку.'
PERMALREADY: 'Не можете да приступите овом делу CMS-а. Ако желите да се пријавите као неко други, урадите то испод'
PERMDEFAULT: 'Изаберите методу аутентификације и унесите податке за приступ CMS-у.'
PLEASESAVE: 'Сачувајте страну: ова страна не може да буде ажурирана јер још увек није сачувана.'
PreviewButton: Претходни преглед
REORGANISATIONSUCCESSFUL: 'Стабло сајта је успешно реорганизовано.'
SAVEDUP: Сачувано.
@ -455,7 +452,6 @@ sr_RS:
SINGULARNAME: Улога
Title: Наслов
PermissionRoleCode:
PLURALNAME: 'Кодови улога за дозволе'
PermsError: 'Није могуће доделити кôд "%s" са привилегованим дозволама (захтева Администраторски приступ)'
SINGULARNAME: 'Кôд улоге за дозволе'
Permissions:

View File

@ -339,8 +339,6 @@ sv:
LeftAndMain_Menu_ss:
Hello: Hej
LOGOUT: 'Logga ut'
ListboxField:
SOURCE_VALIDATION: 'Vänligen välj att värde i listan. {value} är inget giltigt val'
LoginAttempt:
Email: 'E-postadress'
IP: 'IP-adress'

View File

@ -209,7 +209,6 @@ th:
PERMAGAIN: 'คุณได้ออกจากระบบของ CMS แล้ว หากคุณต้องการเข้าสู่ระบบอีกครั้ง กรุณากรอกชื่อผู้ใช้งานและรหัสผ่านของคุณด้านล่าง'
PERMALREADY: 'ขออภัย, คุณไม่สามารถเข้าใช้งานในส่วนนี้ของ CMS ได้ หากคุณต้องการเข้าสู่ระบบในชื่ออื่นได้จากด้านล่าง'
PERMDEFAULT: 'กรุณาเลือกวิธีการยืนยันตัวบุคคลและกรอกข้อมูลประจำตัวเพื่อเข้าใช้งาน CMS'
PLEASESAVE: 'กรุณาบันทึกหน้าเว็บ หน้าเว็บนี้ยังไม่สามรถอัพเดทข้อมูลได้ เนื่องจากยังไม่ได้ถูกบันทึกข้อมูล'
LeftAndMain_Menu_ss:
Hello: สวัสดีค่ะ
LOGOUT: 'ออกจากระบบ'

View File

@ -137,7 +137,6 @@ tr:
PERMAGAIN: 'İYS yönetiminden çıkış yaptınız. Eğer tekrar giriş yapmak isterseniz, aşağıya kullanıcı adı ve şifrenizi giriniz.'
PERMALREADY: 'Üzgünüm ama İYS''nin bu bölümüne erişim hakkınız yok. Başka bir kullanıcı olarak giriş yapmak istiyorsanız aşağıdan bunu yapabilirsiniz'
PERMDEFAULT: 'İYS erişimi için eposta adresinizi ve parolanızı giriniz.e kolaylık sağlama'
PLEASESAVE: 'Lütfen Sayfayı Kaydedin: Bu sayfa henüz kaydedilmediği için güncellenemedi.'
PreviewButton: Önizleme
SAVEDUP: Kaydedildi.
LoginAttempt:

View File

@ -142,7 +142,6 @@ uk:
PERMAGAIN: 'Ви вийшли з системи. Якщо Ви хочете повторно ідентифікуватися, введіть дані нижче.'
PERMALREADY: 'Вибачте, та Ви не маєте доступу до цієї чатини системи. Якщо Ви хочете ідентифікуватися як хтось інший, зробіть це нижче '
PERMDEFAULT: 'Будь ласка, оберіть метод ідентифікації та введіть дані доступу до системи.'
PLEASESAVE: 'Будь ласка, збережіть сторінку: Ця сторінка не може бути оновлена, бо вона ще не була збережена.'
LeftAndMain_Menu_ss:
Hello: Привіт
LOGOUT: 'Вилогуватися'

View File

@ -171,7 +171,6 @@ zh:
TEXT2: '密码重设链接'
TEXT3:
Form:
CSRF_FAILED_MESSAGE: "似乎出现了技术问题。请点击返回按钮,刷新您的浏览器,然后再试一次。"
FIELDISREQUIRED: '{name} 为必填'
SubmitBtnLabel: 前往
VALIDATIONCREDITNUMBER: '请确保您输入了正确的 {number} 信用卡号码'
@ -237,7 +236,6 @@ zh:
many_many_Members: 成员
GroupImportForm:
Help1: '<p>用<em>CSV</em>格式(逗号分隔值)导入一个或多个小组。<small><a href="#" class="toggle-advanced">显示高级用法</a></small></p>'
Help2: "<div class=\"advanced\">\n<h4>高级用法</h4>\n<ul>\n<li>允许的列:<em>%s</em></li>\n<li>现存的小组根据其独特的<em>代码</em>值来匹配,并根据导入文件中的任何新值来更新</li>\n<li>小组的层次结构可以通过使用<em>父代码</em>列来创建。</li>\n<li>权限代码可由<em>权限代码</em>列来分配。现存的权限代码并不会被清除。</li>\n</ul>\n</div>"
ResultCreated: '创建 {count} 个小组'
ResultDeleted: '已删除 %d 小组'
ResultUpdated: '已更新 %d 小组'
@ -306,7 +304,6 @@ zh:
PERMAGAIN: '您已经退出 CMS。如果您想再次登录请在下面输入用户名和密码。'
PERMALREADY: '抱歉,您不能访问 CMS 的这一部分。如果您想以不同的身份登录,请在下面进行操作'
PERMDEFAULT: '请选择一种认证方法并输入您的凭据以访问 CMS。'
PLEASESAVE: '请保存页面:不能更新该页面因为它还没有被保存。'
PreviewButton: 预览
REORGANISATIONSUCCESSFUL: '重新组织网站地图已成功'
SAVEDUP: 已保存。
@ -455,7 +452,6 @@ zh:
SINGULARNAME: 角色
Title: 标题
PermissionRoleCode:
PLURALNAME: '权限角色代码'
PermsError: '无法为代码 "%s"分配特权权限(要求具备 ADMIN 访问)'
SINGULARNAME: '权限角色代码'
Permissions:

View File

@ -73,7 +73,6 @@ zh_CN:
PERMAGAIN: '您于CMS的登录已被注销请在下面输入用户名和密码重新登录。'
PERMALREADY: '对不起您无权登录CMS的这一部分。如果您要用另外的帐号请在下面登录。'
PERMDEFAULT: '请先选择一种验证方法并输入您的权限信息以登录CMS。'
PLEASESAVE: '请先保存:因为该网页还未保存,所以该页无法更新。'
Member:
BUTTONCHANGEPASSWORD: '更改密码'
BUTTONLOGIN: '登录'

View File

@ -59,7 +59,6 @@ zh_TW:
PERMAGAIN: '您已被登出,請在下面重新登入。'
PERMALREADY: '抱歉,您沒有權力使用這個部分。您可以用別的帳號登入。'
PERMDEFAULT: '請選擇一個認證方法並登入。'
PLEASESAVE: '請儲存:這個網頁沒有被更新因為尚未被儲存。'
Member:
BUTTONCHANGEPASSWORD: '更改密碼'
BUTTONLOGIN: '登入'

View File

@ -1535,7 +1535,7 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity
}
if($joinID) {
$component = $this->model->$class->byID($joinID);
$component = DataObject::get_by_id($class, $joinID);
}
if(empty($component)) {

View File

@ -232,10 +232,12 @@ class DataQuery {
foreach($collisions as $collision) {
if(preg_match('/^"([^"]+)"/', $collision, $matches)) {
$collisionBase = $matches[1];
if(class_exists($collisionBase)) {
$collisionClasses = ClassInfo::subclassesFor($collisionBase);
$collisionClasses = Convert::raw2sql($collisionClasses, true);
$caseClauses[] = "WHEN \"$baseClass\".\"ClassName\" IN ("
. implode(", ", $collisionClasses) . ") THEN $collision";
}
} else {
user_error("Bad collision item '$collision'", E_USER_WARNING);
}

View File

@ -718,7 +718,7 @@ class Image extends File implements Flushable {
}
/**
* Return the filename for the cached image, given it's format name and arguments.
* Return the filename for the cached image, given its format name and arguments.
* @param string $format The format name.
* @return string
* @throws InvalidArgumentException
@ -728,7 +728,7 @@ class Image extends File implements Flushable {
array_shift($args);
$folder = $this->ParentID ? $this->Parent()->Filename : ASSETS_DIR . "/";
$format = $format . base64_encode(json_encode($args, JSON_NUMERIC_CHECK));
$format = $format . Convert::base64url_encode($args);
$filename = $format . "-" . $this->Name;
$patterns = $this->getFilenamePatterns($this->Name);
if (!preg_match($patterns['FullPattern'], $filename)) {
@ -853,11 +853,11 @@ class Image extends File implements Flushable {
}
// All generate functions may appear any number of times in the image cache name.
$generateFuncs = implode('|', $generateFuncs);
$base64Match = "[a-zA-Z0-9\/\r\n+]*={0,2}";
$base64url_match = "[a-zA-Z0-9_~]*={0,2}";
return array(
'FullPattern' => "/^((?P<Generator>{$generateFuncs})(?P<Args>" . $base64Match . ")\-)+"
'FullPattern' => "/^((?P<Generator>{$generateFuncs})(?P<Args>" . $base64url_match . ")\-)+"
. preg_quote($filename) . "$/i",
'GeneratorPattern' => "/(?P<Generator>{$generateFuncs})(?P<Args>" . $base64Match . ")\-/i"
'GeneratorPattern' => "/(?P<Generator>{$generateFuncs})(?P<Args>" . $base64url_match . ")\-/i"
);
}
@ -894,7 +894,7 @@ class Image extends File implements Flushable {
$generatorArray = array();
foreach ($subMatches as $singleMatch) {
$generatorArray[] = array('Generator' => $singleMatch['Generator'],
'Args' => json_decode(base64_decode($singleMatch['Args'])));
'Args' => Convert::base64url_decode($singleMatch['Args']));
}
// Using array_reverse is important, as a cached image will

View File

@ -1398,6 +1398,16 @@ class Versioned extends DataExtension implements TemplateGlobalProvider {
$fields->removeByName('Version');
}
/**
* Ensure version ID is reset to 0 on duplicate
*
* @param DataObject $source Record this was duplicated from
* @param bool $doWrite
*/
public function onBeforeDuplicate($source, $doWrite) {
$this->owner->Version = 0;
}
public function flushCache() {
self::$cache_versionnumber = array();
}

View File

@ -674,5 +674,18 @@ $gf_grid_x: 16px;
td:last-child{
border-right: 1px solid $gf_colour_border;
}
// Thumbnails e.g. in File admin, UploadField and HtmlEditorField file selection
td.col-StripThumbnail {
padding: 2px 4px;
width: 32px;
height: 32px;
img {
width: 32px;
height: 32px;
display: block;
}
}
}
}

View File

@ -341,7 +341,7 @@ class ControllerTest extends FunctionalTest {
*/
public function testRedirectBackByReferer() {
$internalRelativeUrl = '/some-url';
$internalRelativeUrl = Controller::join_links(Director::baseURL(), '/some-url');
$internalAbsoluteUrl = Controller::join_links(Director::absoluteBaseURL(), '/some-url');
$response = $this->get('ControllerTest_Controller/redirectbacktest', null,
@ -367,7 +367,7 @@ class ControllerTest extends FunctionalTest {
}
public function testRedirectBackByBackUrl() {
$internalRelativeUrl = '/some-url';
$internalRelativeUrl = Controller::join_links(Director::baseURL(), '/some-url');
$internalAbsoluteUrl = Controller::join_links(Director::absoluteBaseURL(), '/some-url');
$response = $this->get('ControllerTest_Controller/redirectbacktest?BackURL=' . urlencode($internalRelativeUrl));

View File

@ -50,6 +50,15 @@ class ClassInfoTest extends SapphireTest {
);
}
public function testClassName() {
$this->assertEquals('ClassInfoTest', ClassInfo::class_name($this));
$this->assertEquals('ClassInfoTest', ClassInfo::class_name('ClassInfoTest'));
$this->assertEquals('ClassInfoTest', ClassInfo::class_name('CLaSsInfOTEsT'));
// This is for backwards compatiblity and will be removed in 4.0
$this->assertEquals('IAmAClassThatDoesNotExist', ClassInfo::class_name('IAmAClassThatDoesNotExist'));
}
public function testClassesForFolder() {
//$baseFolder = Director::baseFolder() . '/' . FRAMEWORK_DIR . '/tests/_ClassInfoTest';
//$manifestInfo = ManifestBuilder::get_manifest_info($baseFolder);

View File

@ -36,6 +36,9 @@ class ConvertTest extends SapphireTest {
'Normal text is not escaped');
}
/**
* Tests {@link Convert::html2raw()}
*/
public function testHtml2raw() {
$val1 = 'This has a <strong>strong tag</strong>.';
$this->assertEquals('This has a *strong tag*.', Convert::html2raw($val1),
@ -139,6 +142,9 @@ PHP
$this->assertEquals('This is some normal text.', Convert::xml2raw($val2), 'Normal text is not escaped');
}
/**
* Tests {@link Convert::xml2raw()}
*/
public function testArray2JSON() {
$val = array(
'Joe' => 'Bloggs',
@ -152,6 +158,9 @@ PHP
'Array is encoded in JSON');
}
/**
* Tests {@link Convert::json2array()}
*/
public function testJSON2Array() {
$val = '{"Joe":"Bloggs","Tom":"Jones","My":{"Complicated":"Structure"}}';
$decoded = Convert::json2array($val);
@ -161,6 +170,9 @@ PHP
$this->assertContains('Structure', $decoded['My']['Complicated']);
}
/**
* Tests {@link Convert::testJSON2Obj()}
*/
public function testJSON2Obj() {
$val = '{"Joe":"Bloggs","Tom":"Jones","My":{"Complicated":"Structure"}}';
$obj = Convert::json2obj($val);
@ -170,6 +182,7 @@ PHP
}
/**
* Tests {@link Convert::testRaw2URL()}
* @todo test toASCII()
*/
public function testRaw2URL() {
@ -196,6 +209,9 @@ PHP
$this->assertEquals($expected, $actual, $message);
}
/**
* Tests {@link Convert::nl2os()}
*/
public function testNL2OS() {
foreach(array("\r\n", "\r", "\n") as $nl) {
@ -229,6 +245,9 @@ PHP
}
}
/**
* Tests {@link Convert::raw2js()}
*/
public function testRaw2JS() {
// Test attempt to break out of string
$this->assertEquals(
@ -255,6 +274,9 @@ PHP
);
}
/**
* Tests {@link Convert::raw2json()}
*/
public function testRaw2JSON() {
// Test object
@ -281,6 +303,9 @@ PHP
);
}
/**
* Tests {@link Convert::xml2array()}
*/
public function testXML2Array() {
// Ensure an XML file at risk of entity expansion can be avoided safely
$inputXML = <<<XML
@ -331,4 +356,44 @@ XML
$result
);
}
/**
* Tests {@link Convert::base64url_encode()} and {@link Convert::base64url_decode()}
*/
public function testBase64url() {
$data = 'Wëīrð characters ☺ such as ¤Ø¶÷╬';
// This requires this test file to have UTF-8 character encoding
$this->assertEquals(
$data,
Convert::base64url_decode(Convert::base64url_encode($data))
);
$data = 654.423;
$this->assertEquals(
$data,
Convert::base64url_decode(Convert::base64url_encode($data))
);
$data = true;
$this->assertEquals(
$data,
Convert::base64url_decode(Convert::base64url_encode($data))
);
$data = array('simple','array','¤Ø¶÷╬');
$this->assertEquals(
$data,
Convert::base64url_decode(Convert::base64url_encode($data))
);
$data = array(
'a' => 'associative',
4 => 'array',
'☺' => '¤Ø¶÷╬'
);
$this->assertEquals(
$data,
Convert::base64url_decode(Convert::base64url_encode($data))
);
}
}

View File

@ -88,7 +88,7 @@ class HtmlEditorFieldTest extends FunctionalTest {
$this->assertEquals(10, (int)$xml[0]['width'], 'Width tag of resized image is set.');
$this->assertEquals(20, (int)$xml[0]['height'], 'Height tag of resized image is set.');
$neededFilename = 'assets/_resampled/ResizedImage' . base64_encode(json_encode(array(10,20))) .
$neededFilename = 'assets/_resampled/ResizedImage' . Convert::base64url_encode(array(10,20)) .
'-HTMLEditorFieldTest_example.jpg';
$this->assertEquals($neededFilename, (string)$xml[0]['src'], 'Correct URL of resized image is set.');

View File

@ -366,10 +366,11 @@ class RequirementsTest extends SapphireTest {
$backend = new Requirements_Backend();
$backend->set_suffix_requirements(false);
$src = $this->getCurrentRelativePath() . '/RequirementsTest_a.js';
$urlSrc = Controller::join_links(Director::baseURL(), $src);
$backend->javascript($src);
$html = $backend->includeInHTML(false, $template);
$this->assertEquals('<html><head></head><body><!--<script>alert("commented out");</script>-->'
. '<h1>more content</h1><script type="text/javascript" src="/' . $src . '"></script></body></html>', $html);
. '<h1>more content</h1><script type="text/javascript" src="' . $urlSrc . '"></script></body></html>', $html);
}
public function testForceJsToBottom() {

View File

@ -262,7 +262,7 @@ class ImageTest extends SapphireTest {
$imageFirst = $image->Pad(200,200,'CCCCCC');
$imageFilename = $imageFirst->getFullPath();
// Encoding of the arguments is duplicated from cacheFilename
$neededPart = 'Pad' . base64_encode(json_encode(array(200,200,'CCCCCC')));
$neededPart = 'Pad' . Convert::base64url_encode(array(200,200,'CCCCCC'));
$this->assertContains($neededPart, $imageFilename, 'Filename for cached image is correctly generated');
}
@ -285,7 +285,7 @@ class ImageTest extends SapphireTest {
$imageThird = $imageSecond->Pad(600,600,'0F0F0F');
// Encoding of the arguments is duplicated from cacheFilename
$argumentString = base64_encode(json_encode(array(600,600,'0F0F0F')));
$argumentString = Convert::base64url_encode(array(600,600,'0F0F0F'));
$this->assertNotNull($imageThird);
$this->assertContains($argumentString, $imageThird->getFullPath(),
'Image contains background color for padded resizement');
@ -327,8 +327,8 @@ class ImageTest extends SapphireTest {
$this->assertTrue(file_exists($p), 'Resized image exists after creation call');
// Encoding of the arguments is duplicated from cacheFilename
$oldArgumentString = base64_encode(json_encode(array(200)));
$newArgumentString = base64_encode(json_encode(array(300)));
$oldArgumentString = Convert::base64url_encode(array(200));
$newArgumentString = Convert::base64url_encode(array(300));
$newPath = str_replace($oldArgumentString, $newArgumentString, $p);
$newRelative = str_replace($oldArgumentString, $newArgumentString, $image_generated->getFileName());

View File

@ -100,6 +100,23 @@ class VersionedTest extends SapphireTest {
$this->assertEquals($count, $count2);
}
public function testDuplicate() {
$obj1 = new VersionedTest_Subclass();
$obj1->ExtraField = 'Foo';
$obj1->write(); // version 1
$obj1->publish('Stage', 'Live');
$obj1->ExtraField = 'Foo2';
$obj1->write(); // version 2
// Make duplicate
$obj2 = $obj1->duplicate();
// Check records differ
$this->assertNotEquals($obj1->ID, $obj2->ID);
$this->assertEquals(2, $obj1->Version);
$this->assertEquals(1, $obj2->Version);
}
public function testForceChangeUpdatesVersion() {
$obj = new VersionedTest_DataObject();
$obj->Name = "test";