Merge remote-tracking branch '3.2' into 3

Conflicts:
	admin/templates/Includes/ModelAdmin_ImportSpec.ss
	css/GridField.css
This commit is contained in:
Dan Hensby 2015-08-17 11:59:24 +00:00
commit c5c8a6a720
97 changed files with 654 additions and 449 deletions

View File

@ -25,7 +25,6 @@ env:
matrix:
allow_failures:
- php: hhvm
- php: 7.0
- php: nightly
include:
@ -39,8 +38,6 @@ matrix:
env: DB=MYSQL BEHAT_TEST=1
- php: 5.3
env: DB=MYSQL
- php: 7.0
env: DB=MYSQL
- php: nightly
env: DB=MYSQL
- php: hhvm

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);

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

@ -16,7 +16,7 @@
}
],
"require": {
"php": ">=5.3.3",
"php": ">=5.3.3,<7",
"composer/installers": "~1.0"
},
"require-dev": {

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

@ -1,52 +0,0 @@
# 4.0.0 (unreleased)
## Overview
### Framework
* Deprecate `SQLQuery` in favour `SQLSelect`
## Upgrading
### Update code that uses SQLQuery
SQLQuery is still implemented, but now extends the new SQLSelect class and has some methods
deprecated. Previously this class was used for both selecting and deleting, but these
have been superceded by the specialised SQLSelect and SQLDelete classes.
Take care for any code or functions which expect an object of type `SQLQuery`, as
these references should be replaced with `SQLSelect`. Legacy code which generates
`SQLQuery` can still communicate with new code that expects `SQLSelect` as it is a
subclass of `SQLSelect`, but the inverse is not true.
### Update implementations of augmentSQL
Since this method now takes a `SQLSelect` as a first parameter, existing code referencing the deprecated `SQLQuery`
type will raise a PHP error.
E.g.
Before:
:::php
function augmentSQL(SQLQuery &$query, DataQuery &$dataQuery = null) {
$locale = Translatable::get_current_locale();
if(!preg_match('/("|\'|`)Locale("|\'|`)/', implode(' ', $query->getWhere()))) {
$qry = sprintf('"Locale" = \'%s\'', Convert::raw2sql($locale));
$query->addWhere($qry);
}
}
After:
:::php
function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null) {
$locale = Translatable::get_current_locale();
if(!preg_match('/("|\'|`)Locale("|\'|`)/', implode(' ', $query->getWhereParameterised($parameters)))) {
$query->addWhere(array(
'"Locale"' => $locale
));
}
}

View File

@ -829,9 +829,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

@ -103,8 +103,6 @@ class GridFieldExportButton implements GridField_HTMLProvider, GridField_ActionP
? $this->exportColumns
: singleton($gridField->getModelClass())->summaryFields();
$fileData = '';
$columnData = array();
$fieldItems = new ArrayList();
if($this->csvHasHeader) {
$headers = array();

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

@ -689,7 +689,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
@ -699,7 +699,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)) {
@ -824,11 +824,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"
);
}
@ -865,7 +865,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

@ -1395,6 +1395,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

@ -287,7 +287,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');
}
@ -310,7 +310,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');
@ -352,8 +352,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";