diff options
476 files changed, 3771 insertions, 2474 deletions
diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml index 81f0715c288..56d8dfa034d 100644 --- a/.idea/codeStyleSettings.xml +++ b/.idea/codeStyleSettings.xml @@ -3,6 +3,7 @@ <component name="ProjectCodeStyleSettingsManager"> <option name="PER_PROJECT_SETTINGS"> <value> + <option name="RIGHT_MARGIN" value="80" /> <PHPCodeStyleSettings> <option name="PHPDOC_BLANK_LINE_BEFORE_TAGS" value="true" /> <option name="LOWER_CASE_BOOLEAN_CONST" value="true" /> @@ -46,7 +47,5 @@ </value> </option> <option name="USE_PER_PROJECT_SETTINGS" value="true" /> - <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default (1)" /> </component> -</project> - +</project>
\ No newline at end of file diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php index b4d91514a2a..c162237fe92 100644 --- a/apps/files/ajax/newfile.php +++ b/apps/files/ajax/newfile.php @@ -120,6 +120,9 @@ if($source) { $freeSpace = $storageStats['freeSpace']; foreach($meta['wrapper_data'] as $header) { + if (strpos($header, ':') === false){ + continue; + } list($name, $value) = explode(':', $header); if ('content-length' === strtolower(trim($name))) { $length = (int) trim($value); diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index 5bf1618b0b8..da48cf29be0 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -8,7 +8,6 @@ * */ -/* global trashBinApp */ (function() { /** @@ -109,33 +108,37 @@ permissions: permissions, icon: icon, actionHandler: action, - displayName: displayName + displayName: displayName || name }); }, /** * Register action * - * @param {Object} action action object - * @param {String} action.name identifier of the action - * @param {String} action.displayName display name of the action, defaults - * to the name given in action.name - * @param {String} action.mime mime type - * @param {int} action.permissions permissions - * @param {(Function|String)} action.icon icon path to the icon or function - * that returns it - * @param {OCA.Files.FileActions~actionHandler} action.actionHandler action handler function + * @param {OCA.Files.FileAction} action object */ registerAction: function (action) { var mime = action.mime; var name = action.name; + var actionSpec = { + action: action.actionHandler, + name: name, + displayName: action.displayName, + mime: mime, + icon: action.icon, + permissions: action.permissions + }; + if (_.isUndefined(action.displayName)) { + actionSpec.displayName = t('files', name); + } + if (_.isFunction(action.render)) { + actionSpec.render = action.render; + } else { + actionSpec.render = _.bind(this._defaultRenderAction, this); + } if (!this.actions[mime]) { this.actions[mime] = {}; } - this.actions[mime][name] = { - action: action.actionHandler, - permissions: action.permissions, - displayName: action.displayName || t('files', name) - }; + this.actions[mime][name] = actionSpec; this.icons[name] = action.icon; this._notifyUpdateListeners('registerAction', {action: action}); }, @@ -213,6 +216,128 @@ return actions[name]; }, /** + * Default function to render actions + * + * @param {OCA.Files.FileAction} actionSpec file action spec + * @param {boolean} isDefault true if the action is a default one, + * false otherwise + * @param {OCA.Files.FileActionContext} context action context + */ + _defaultRenderAction: function(actionSpec, isDefault, context) { + var name = actionSpec.name; + if (name === 'Download' || !isDefault) { + var $actionLink = this._makeActionLink(actionSpec, context); + context.$file.find('a.name>span.fileactions').append($actionLink); + return $actionLink; + } + }, + /** + * Renders the action link element + * + * @param {OCA.Files.FileAction} actionSpec action object + * @param {OCA.Files.FileActionContext} context action context + */ + _makeActionLink: function(actionSpec, context) { + var img = actionSpec.icon; + if (img && img.call) { + img = img(context.$file.attr('data-file')); + } + var html = '<a href="#">'; + if (img) { + html += '<img class="svg" alt="" src="' + img + '" />'; + } + if (actionSpec.displayName) { + html += '<span> ' + actionSpec.displayName + '</span></a>'; + } + + return $(html); + }, + /** + * Custom renderer for the "Rename" action. + * Displays the rename action as an icon behind the file name. + * + * @param {OCA.Files.FileAction} actionSpec file action to render + * @param {boolean} isDefault true if the action is a default action, + * false otherwise + * @param {OCAFiles.FileActionContext} context rendering context + */ + _renderRenameAction: function(actionSpec, isDefault, context) { + var $actionEl = this._makeActionLink(actionSpec, context); + var $container = context.$file.find('a.name span.nametext'); + $actionEl.find('img').attr('alt', t('files', 'Rename')); + $container.find('.action-rename').remove(); + $container.append($actionEl); + return $actionEl; + }, + /** + * Custom renderer for the "Delete" action. + * Displays the "Delete" action as a trash icon at the end of + * the table row. + * + * @param {OCA.Files.FileAction} actionSpec file action to render + * @param {boolean} isDefault true if the action is a default action, + * false otherwise + * @param {OCAFiles.FileActionContext} context rendering context + */ + _renderDeleteAction: function(actionSpec, isDefault, context) { + var mountType = context.$file.attr('data-mounttype'); + var deleteTitle = t('files', 'Delete'); + if (mountType === 'external-root') { + deleteTitle = t('files', 'Disconnect storage'); + } else if (mountType === 'shared-root') { + deleteTitle = t('files', 'Unshare'); + } + var $actionLink = $('<a href="#" original-title="' + + escapeHTML(deleteTitle) + + '" class="action delete icon-delete" />' + ); + var $container = context.$file.find('td:last'); + $container.find('.delete').remove(); + $container.append($actionLink); + return $actionLink; + }, + /** + * Renders the action element by calling actionSpec.render() and + * registers the click event to process the action. + * + * @param {OCA.Files.FileAction} actionSpec file action to render + * @param {boolean} isDefault true if the action is a default action, + * false otherwise + * @param {OCAFiles.FileActionContext} context rendering context + */ + _renderAction: function(actionSpec, isDefault, context) { + var $actionEl = actionSpec.render(actionSpec, isDefault, context); + if (!$actionEl || !$actionEl.length) { + return; + } + $actionEl.addClass('action action-' + actionSpec.name.toLowerCase()); + $actionEl.attr('data-action', actionSpec.name); + $actionEl.on( + 'click', { + a: null + }, + function(event) { + var $file = $(event.target).closest('tr'); + var currentFile = $file.find('td.filename'); + var fileName = $file.attr('data-file'); + event.stopPropagation(); + event.preventDefault(); + + context.fileActions.currentFile = currentFile; + // also set on global object for legacy apps + window.FileActions.currentFile = currentFile; + + actionSpec.action( + fileName, + _.extend(context, { + dir: $file.attr('data-path') || context.fileList.getCurrentDirectory() + }) + ); + } + ); + return $actionEl; + }, + /** * Display file actions for the given element * @param parent "td" element of the file for which to display actions * @param triggerEvent if true, triggers the fileActionsReady on the file @@ -226,107 +351,51 @@ return; } this.currentFile = parent; - var $tr = parent.closest('tr'); var self = this; - var actions = this.getActions(this.getCurrentMimeType(), this.getCurrentType(), this.getCurrentPermissions()); - var file = this.getCurrentFile(); + var $tr = parent.closest('tr'); + var actions = this.getActions( + this.getCurrentMimeType(), + this.getCurrentType(), + this.getCurrentPermissions() + ); var nameLinks; if ($tr.data('renaming')) { return; } - // recreate fileactions + // recreate fileactions container nameLinks = parent.children('a.name'); nameLinks.find('.fileactions, .nametext .action').remove(); nameLinks.append('<span class="fileactions" />'); - var defaultAction = this.getDefault(this.getCurrentMimeType(), this.getCurrentType(), this.getCurrentPermissions()); - - var actionHandler = function (event) { - event.stopPropagation(); - event.preventDefault(); + var defaultAction = this.getDefault( + this.getCurrentMimeType(), + this.getCurrentType(), + this.getCurrentPermissions() + ); - self.currentFile = event.data.elem; - // also set on global object for legacy apps - window.FileActions.currentFile = self.currentFile; - - var file = self.getCurrentFile(); - var $tr = $(this).closest('tr'); - - event.data.actionFunc(file, { - $file: $tr, - fileList: fileList, - fileActions: self, - dir: $tr.attr('data-path') || fileList.getCurrentDirectory() - }); - }; - - var addAction = function (name, action, displayName) { - - if ((name === 'Download' || action !== defaultAction) && name !== 'Delete') { - - var img = self.icons[name], - actionText = displayName, - actionContainer = 'a.name>span.fileactions'; - - if (name === 'Rename') { - // rename has only an icon which appears behind - // the file name - actionText = ''; - actionContainer = 'a.name span.nametext'; - } - if (img.call) { - img = img(file); - } - var html = '<a href="#" class="action action-' + name.toLowerCase() + '" data-action="' + name + '">'; - if (img) { - html += '<img class ="svg" alt="" src="' + img + '" />'; - } - html += '<span> ' + actionText + '</span></a>'; - - var element = $(html); - element.data('action', name); - element.on('click', {a: null, elem: parent, actionFunc: actions[name].action}, actionHandler); - parent.find(actionContainer).append(element); - } - - }; - - $.each(actions, function (name, action) { + $.each(actions, function (name, actionSpec) { if (name !== 'Share') { - displayName = action.displayName; - ah = action.action; - - addAction(name, ah, displayName); + self._renderAction( + actionSpec, + actionSpec.action === defaultAction, { + $file: $tr, + fileActions: this, + fileList : fileList + } + ); } }); - if(actions.Share){ - displayName = t('files', 'Share'); - addAction('Share', actions.Share, displayName); - } - - // remove the existing delete action - parent.parent().children().last().find('.action.delete').remove(); - if (actions['Delete']) { - var img = self.icons['Delete']; - var html; - var mountType = $tr.attr('data-mounttype'); - var deleteTitle = t('files', 'Delete'); - if (mountType === 'external-root') { - deleteTitle = t('files', 'Disconnect storage'); - } else if (mountType === 'shared-root') { - deleteTitle = t('files', 'Unshare'); - } else if (fileList.id === 'trashbin') { - deleteTitle = t('files', 'Delete permanently'); - } - - if (img.call) { - img = img(file); - } - html = '<a href="#" original-title="' + escapeHTML(deleteTitle) + '" class="action delete icon-delete" />'; - var element = $(html); - element.data('action', actions['Delete']); - element.on('click', {a: null, elem: parent, actionFunc: actions['Delete'].action}, actionHandler); - parent.parent().children().last().append(element); + // added here to make sure it's always the last action + var shareActionSpec = actions.Share; + if (shareActionSpec){ + this._renderAction( + shareActionSpec, + shareActionSpec.action === defaultAction, { + $file: $tr, + fileActions: this, + fileList: fileList + } + ); } if (triggerEvent){ @@ -350,18 +419,34 @@ * Register the actions that are used by default for the files app. */ registerDefaultActions: function() { - this.register('all', 'Delete', OC.PERMISSION_DELETE, function () { - return OC.imagePath('core', 'actions/delete'); - }, function (filename, context) { - context.fileList.do_delete(filename, context.dir); - $('.tipsy').remove(); + this.registerAction({ + name: 'Delete', + displayName: '', + mime: 'all', + permissions: OC.PERMISSION_DELETE, + icon: function() { + return OC.imagePath('core', 'actions/delete'); + }, + render: _.bind(this._renderDeleteAction, this), + actionHandler: function(fileName, context) { + context.fileList.do_delete(fileName, context.dir); + $('.tipsy').remove(); + } }); // t('files', 'Rename') - this.register('all', 'Rename', OC.PERMISSION_UPDATE, function () { - return OC.imagePath('core', 'actions/rename'); - }, function (filename, context) { - context.fileList.rename(filename); + this.registerAction({ + name: 'Rename', + displayName: '', + mime: 'all', + permissions: OC.PERMISSION_UPDATE, + icon: function() { + return OC.imagePath('core', 'actions/rename'); + }, + render: _.bind(this._renderRenameAction, this), + actionHandler: function (filename, context) { + context.fileList.rename(filename); + } }); this.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename, context) { @@ -389,6 +474,47 @@ OCA.Files.FileActions = FileActions; /** + * File action attributes. + * + * @todo make this a real class in the future + * @typedef {Object} OCA.Files.FileAction + * + * @property {String} name identifier of the action + * @property {String} displayName display name of the action, defaults + * to the name given in name property + * @property {String} mime mime type + * @property {int} permissions permissions + * @property {(Function|String)} icon icon path to the icon or function + * that returns it + * @property {OCA.Files.FileActions~renderActionFunction} [render] optional rendering function + * @property {OCA.Files.FileActions~actionHandler} actionHandler action handler function + */ + + /** + * File action context attributes. + * + * @typedef {Object} OCA.Files.FileActionContext + * + * @property {Object} $file jQuery file row element + * @property {OCA.Files.FileActions} fileActions file actions object + * @property {OCA.Files.FileList} fileList file list object + */ + + /** + * Render function for actions. + * The function must render a link element somewhere in the DOM + * and return it. The function should NOT register the event handler + * as this will be done after the link was returned. + * + * @callback OCA.Files.FileActions~renderActionFunction + * @param {OCA.Files.FileAction} actionSpec action definition + * @param {Object} $row row container + * @param {boolean} isDefault true if the action is the default one, + * false otherwise + * @return {Object} jQuery link object + */ + + /** * Action handler function for file actions * * @callback OCA.Files.FileActions~actionHandler diff --git a/apps/files/l10n/af_ZA.js b/apps/files/l10n/af_ZA.js index 8671027db6e..cef7b1bee0c 100644 --- a/apps/files/l10n/af_ZA.js +++ b/apps/files/l10n/af_ZA.js @@ -1,7 +1,6 @@ OC.L10N.register( "files", { - "Share" : "Deel", "Unshare" : "Deel terug neem", "Error" : "Fout", "_%n folder_::_%n folders_" : ["",""], diff --git a/apps/files/l10n/af_ZA.json b/apps/files/l10n/af_ZA.json index cd3182e3f69..8475402f42b 100644 --- a/apps/files/l10n/af_ZA.json +++ b/apps/files/l10n/af_ZA.json @@ -1,5 +1,4 @@ { "translations": { - "Share" : "Deel", "Unshare" : "Deel terug neem", "Error" : "Fout", "_%n folder_::_%n folders_" : ["",""], diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js index aaa4f1aa2be..459a2bb2065 100644 --- a/apps/files/l10n/ar.js +++ b/apps/files/l10n/ar.js @@ -26,10 +26,8 @@ OC.L10N.register( "Could not get result from server." : "تعذر الحصول على نتيجة من الخادم", "File upload is in progress. Leaving the page now will cancel the upload." : "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.", "{new_name} already exists" : "{new_name} موجود مسبقا", - "Share" : "شارك", "Delete" : "إلغاء", "Unshare" : "إلغاء المشاركة", - "Delete permanently" : "حذف بشكل دائم", "Rename" : "إعادة تسميه", "Pending" : "قيد الانتظار", "Error moving file" : "حدث خطأ أثناء نقل الملف", diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json index 8e6b863bb0d..068be992a3f 100644 --- a/apps/files/l10n/ar.json +++ b/apps/files/l10n/ar.json @@ -24,10 +24,8 @@ "Could not get result from server." : "تعذر الحصول على نتيجة من الخادم", "File upload is in progress. Leaving the page now will cancel the upload." : "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.", "{new_name} already exists" : "{new_name} موجود مسبقا", - "Share" : "شارك", "Delete" : "إلغاء", "Unshare" : "إلغاء المشاركة", - "Delete permanently" : "حذف بشكل دائم", "Rename" : "إعادة تسميه", "Pending" : "قيد الانتظار", "Error moving file" : "حدث خطأ أثناء نقل الملف", diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js index ae0b0731572..e7f733d4fd0 100644 --- a/apps/files/l10n/ast.js +++ b/apps/files/l10n/ast.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Nun pudo crease'l ficheru", "Could not create folder" : "Nun pudo crease la carpeta", "Error fetching URL" : "Fallu obteniendo URL", - "Share" : "Compartir", "Delete" : "Desaniciar", "Disconnect storage" : "Desconeutar almacenamientu", "Unshare" : "Dexar de compartir", - "Delete permanently" : "Desaniciar dafechu", "Rename" : "Renomar", "Pending" : "Pendiente", "Error moving file." : "Fallu moviendo'l ficheru.", diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json index 81d20a51c36..947079aba91 100644 --- a/apps/files/l10n/ast.json +++ b/apps/files/l10n/ast.json @@ -44,11 +44,9 @@ "Could not create file" : "Nun pudo crease'l ficheru", "Could not create folder" : "Nun pudo crease la carpeta", "Error fetching URL" : "Fallu obteniendo URL", - "Share" : "Compartir", "Delete" : "Desaniciar", "Disconnect storage" : "Desconeutar almacenamientu", "Unshare" : "Dexar de compartir", - "Delete permanently" : "Desaniciar dafechu", "Rename" : "Renomar", "Pending" : "Pendiente", "Error moving file." : "Fallu moviendo'l ficheru.", diff --git a/apps/files/l10n/az.js b/apps/files/l10n/az.js index 08e19809811..2373dc467f5 100644 --- a/apps/files/l10n/az.js +++ b/apps/files/l10n/az.js @@ -46,7 +46,6 @@ OC.L10N.register( "Could not create file" : "Faylı yaratmaq olmur", "Could not create folder" : "Qovluğu yaratmaq olmur", "Error fetching URL" : "URL-in gətirilməsində səhv baş verdi", - "Share" : "Yayımla", "Delete" : "Sil", "Rename" : "Adı dəyiş", "Error" : "Səhv", diff --git a/apps/files/l10n/az.json b/apps/files/l10n/az.json index 591ec63e31e..9d419ca5067 100644 --- a/apps/files/l10n/az.json +++ b/apps/files/l10n/az.json @@ -44,7 +44,6 @@ "Could not create file" : "Faylı yaratmaq olmur", "Could not create folder" : "Qovluğu yaratmaq olmur", "Error fetching URL" : "URL-in gətirilməsində səhv baş verdi", - "Share" : "Yayımla", "Delete" : "Sil", "Rename" : "Adı dəyiş", "Error" : "Səhv", diff --git a/apps/files/l10n/bg_BG.js b/apps/files/l10n/bg_BG.js index 1776e769251..a5c1ba5ee04 100644 --- a/apps/files/l10n/bg_BG.js +++ b/apps/files/l10n/bg_BG.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Несупешно създаване на файла.", "Could not create folder" : "Неуспешно създаване на папка.", "Error fetching URL" : "Грешка при отварянето на интернет адреса.", - "Share" : "Сподели", "Delete" : "Изтрий", "Disconnect storage" : "Извади дисковото устройство.", "Unshare" : "Премахни Споделяне", - "Delete permanently" : "Изтрий завинаги", "Rename" : "Преименуване", "Pending" : "Чакащо", "Error moving file." : "Грешка при местенето на файла.", diff --git a/apps/files/l10n/bg_BG.json b/apps/files/l10n/bg_BG.json index cd29da596db..421bc494021 100644 --- a/apps/files/l10n/bg_BG.json +++ b/apps/files/l10n/bg_BG.json @@ -44,11 +44,9 @@ "Could not create file" : "Несупешно създаване на файла.", "Could not create folder" : "Неуспешно създаване на папка.", "Error fetching URL" : "Грешка при отварянето на интернет адреса.", - "Share" : "Сподели", "Delete" : "Изтрий", "Disconnect storage" : "Извади дисковото устройство.", "Unshare" : "Премахни Споделяне", - "Delete permanently" : "Изтрий завинаги", "Rename" : "Преименуване", "Pending" : "Чакащо", "Error moving file." : "Грешка при местенето на файла.", diff --git a/apps/files/l10n/bn_BD.js b/apps/files/l10n/bn_BD.js index bf2ecc2f660..869130f2b2c 100644 --- a/apps/files/l10n/bn_BD.js +++ b/apps/files/l10n/bn_BD.js @@ -32,7 +32,6 @@ OC.L10N.register( "Upload cancelled." : "আপলোড বাতিল করা হয়েছে।", "File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।", "{new_name} already exists" : "{new_name} টি বিদ্যমান", - "Share" : "ভাগাভাগি কর", "Delete" : "মুছে", "Unshare" : "ভাগাভাগি বাতিল ", "Rename" : "পূনঃনামকরণ", diff --git a/apps/files/l10n/bn_BD.json b/apps/files/l10n/bn_BD.json index 35db36b61fa..054113964a9 100644 --- a/apps/files/l10n/bn_BD.json +++ b/apps/files/l10n/bn_BD.json @@ -30,7 +30,6 @@ "Upload cancelled." : "আপলোড বাতিল করা হয়েছে।", "File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।", "{new_name} already exists" : "{new_name} টি বিদ্যমান", - "Share" : "ভাগাভাগি কর", "Delete" : "মুছে", "Unshare" : "ভাগাভাগি বাতিল ", "Rename" : "পূনঃনামকরণ", diff --git a/apps/files/l10n/bn_IN.js b/apps/files/l10n/bn_IN.js index 320ef37a8f9..1e9ca9a3314 100644 --- a/apps/files/l10n/bn_IN.js +++ b/apps/files/l10n/bn_IN.js @@ -14,9 +14,7 @@ OC.L10N.register( "Not enough storage available" : "যথেষ্ট স্টোরেজ পাওয়া যায় না", "Invalid directory." : "অবৈধ ডিরেক্টরি।", "Files" : "ফাইলস", - "Share" : "শেয়ার", "Delete" : "মুছে ফেলা", - "Delete permanently" : "স্থায়ীভাবে মুছে দিন", "Rename" : "পুনঃনামকরণ", "Pending" : "মুলতুবি", "Error" : "ভুল", diff --git a/apps/files/l10n/bn_IN.json b/apps/files/l10n/bn_IN.json index 7b6528c38a9..db6203ecd4e 100644 --- a/apps/files/l10n/bn_IN.json +++ b/apps/files/l10n/bn_IN.json @@ -12,9 +12,7 @@ "Not enough storage available" : "যথেষ্ট স্টোরেজ পাওয়া যায় না", "Invalid directory." : "অবৈধ ডিরেক্টরি।", "Files" : "ফাইলস", - "Share" : "শেয়ার", "Delete" : "মুছে ফেলা", - "Delete permanently" : "স্থায়ীভাবে মুছে দিন", "Rename" : "পুনঃনামকরণ", "Pending" : "মুলতুবি", "Error" : "ভুল", diff --git a/apps/files/l10n/bs.js b/apps/files/l10n/bs.js index 1ce26f916a2..26a2e48c947 100644 --- a/apps/files/l10n/bs.js +++ b/apps/files/l10n/bs.js @@ -1,7 +1,6 @@ OC.L10N.register( "files", { - "Share" : "Podijeli", "Name" : "Ime", "Size" : "Veličina", "_%n folder_::_%n folders_" : ["","",""], diff --git a/apps/files/l10n/bs.json b/apps/files/l10n/bs.json index 7c2d782d01c..9f5f58d954a 100644 --- a/apps/files/l10n/bs.json +++ b/apps/files/l10n/bs.json @@ -1,5 +1,4 @@ { "translations": { - "Share" : "Podijeli", "Name" : "Ime", "Size" : "Veličina", "_%n folder_::_%n folders_" : ["","",""], diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js index 0885794ea43..3cf471d6e39 100644 --- a/apps/files/l10n/ca.js +++ b/apps/files/l10n/ca.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "No s'ha pogut crear el fitxer", "Could not create folder" : "No s'ha pogut crear la carpeta", "Error fetching URL" : "Error en obtenir la URL", - "Share" : "Comparteix", "Delete" : "Esborra", "Disconnect storage" : "Desonnecta l'emmagatzematge", "Unshare" : "Deixa de compartir", - "Delete permanently" : "Esborra permanentment", "Rename" : "Reanomena", "Pending" : "Pendent", "Error moving file." : "Error en moure el fitxer.", diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json index 2b767a9aaed..e8de6d9239e 100644 --- a/apps/files/l10n/ca.json +++ b/apps/files/l10n/ca.json @@ -44,11 +44,9 @@ "Could not create file" : "No s'ha pogut crear el fitxer", "Could not create folder" : "No s'ha pogut crear la carpeta", "Error fetching URL" : "Error en obtenir la URL", - "Share" : "Comparteix", "Delete" : "Esborra", "Disconnect storage" : "Desonnecta l'emmagatzematge", "Unshare" : "Deixa de compartir", - "Delete permanently" : "Esborra permanentment", "Rename" : "Reanomena", "Pending" : "Pendent", "Error moving file." : "Error en moure el fitxer.", diff --git a/apps/files/l10n/cs_CZ.js b/apps/files/l10n/cs_CZ.js index 58467d9c68f..9252417c731 100644 --- a/apps/files/l10n/cs_CZ.js +++ b/apps/files/l10n/cs_CZ.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Nepodařilo se vytvořit soubor", "Could not create folder" : "Nepodařilo se vytvořit složku", "Error fetching URL" : "Chyba při načítání URL", - "Share" : "Sdílet", "Delete" : "Smazat", "Disconnect storage" : "Odpojit úložiště", "Unshare" : "Zrušit sdílení", - "Delete permanently" : "Trvale odstranit", "Rename" : "Přejmenovat", "Pending" : "Nevyřízené", "Error moving file." : "Chyba při přesunu souboru.", diff --git a/apps/files/l10n/cs_CZ.json b/apps/files/l10n/cs_CZ.json index 98cad1c70f5..3df5e4ee957 100644 --- a/apps/files/l10n/cs_CZ.json +++ b/apps/files/l10n/cs_CZ.json @@ -44,11 +44,9 @@ "Could not create file" : "Nepodařilo se vytvořit soubor", "Could not create folder" : "Nepodařilo se vytvořit složku", "Error fetching URL" : "Chyba při načítání URL", - "Share" : "Sdílet", "Delete" : "Smazat", "Disconnect storage" : "Odpojit úložiště", "Unshare" : "Zrušit sdílení", - "Delete permanently" : "Trvale odstranit", "Rename" : "Přejmenovat", "Pending" : "Nevyřízené", "Error moving file." : "Chyba při přesunu souboru.", diff --git a/apps/files/l10n/cy_GB.js b/apps/files/l10n/cy_GB.js index a9c4ddeba28..947f4ba6631 100644 --- a/apps/files/l10n/cy_GB.js +++ b/apps/files/l10n/cy_GB.js @@ -19,10 +19,8 @@ OC.L10N.register( "Upload cancelled." : "Diddymwyd llwytho i fyny.", "File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.", "{new_name} already exists" : "{new_name} yn bodoli'n barod", - "Share" : "Rhannu", "Delete" : "Dileu", "Unshare" : "Dad-rannu", - "Delete permanently" : "Dileu'n barhaol", "Rename" : "Ailenwi", "Pending" : "I ddod", "Error" : "Gwall", diff --git a/apps/files/l10n/cy_GB.json b/apps/files/l10n/cy_GB.json index dc583d0a333..2edf129976c 100644 --- a/apps/files/l10n/cy_GB.json +++ b/apps/files/l10n/cy_GB.json @@ -17,10 +17,8 @@ "Upload cancelled." : "Diddymwyd llwytho i fyny.", "File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.", "{new_name} already exists" : "{new_name} yn bodoli'n barod", - "Share" : "Rhannu", "Delete" : "Dileu", "Unshare" : "Dad-rannu", - "Delete permanently" : "Dileu'n barhaol", "Rename" : "Ailenwi", "Pending" : "I ddod", "Error" : "Gwall", diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js index 7b636c63409..9ddf620b63b 100644 --- a/apps/files/l10n/da.js +++ b/apps/files/l10n/da.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Kunne ikke oprette fil", "Could not create folder" : "Kunne ikke oprette mappe", "Error fetching URL" : "Fejl ved URL", - "Share" : "Del", "Delete" : "Slet", "Disconnect storage" : "Frakobl lager", "Unshare" : "Fjern deling", - "Delete permanently" : "Slet permanent", "Rename" : "Omdøb", "Pending" : "Afventer", "Error moving file." : "Fejl ved flytning af fil", diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json index 81b658bef2e..7e6a88f2486 100644 --- a/apps/files/l10n/da.json +++ b/apps/files/l10n/da.json @@ -44,11 +44,9 @@ "Could not create file" : "Kunne ikke oprette fil", "Could not create folder" : "Kunne ikke oprette mappe", "Error fetching URL" : "Fejl ved URL", - "Share" : "Del", "Delete" : "Slet", "Disconnect storage" : "Frakobl lager", "Unshare" : "Fjern deling", - "Delete permanently" : "Slet permanent", "Rename" : "Omdøb", "Pending" : "Afventer", "Error moving file." : "Fejl ved flytning af fil", diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js index b4ffa90c89b..0ed91061f94 100644 --- a/apps/files/l10n/de.js +++ b/apps/files/l10n/de.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Die Datei konnte nicht erstellt werden", "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Error fetching URL" : "Fehler beim Abrufen der URL", - "Share" : "Teilen", "Delete" : "Löschen", "Disconnect storage" : "Speicher trennen", "Unshare" : "Freigabe aufheben", - "Delete permanently" : "Endgültig löschen", "Rename" : "Umbenennen", "Pending" : "Ausstehend", "Error moving file." : "Fehler beim Verschieben der Datei.", diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json index 600a60ddfd7..fa567f7b4f3 100644 --- a/apps/files/l10n/de.json +++ b/apps/files/l10n/de.json @@ -44,11 +44,9 @@ "Could not create file" : "Die Datei konnte nicht erstellt werden", "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Error fetching URL" : "Fehler beim Abrufen der URL", - "Share" : "Teilen", "Delete" : "Löschen", "Disconnect storage" : "Speicher trennen", "Unshare" : "Freigabe aufheben", - "Delete permanently" : "Endgültig löschen", "Rename" : "Umbenennen", "Pending" : "Ausstehend", "Error moving file." : "Fehler beim Verschieben der Datei.", diff --git a/apps/files/l10n/de_AT.js b/apps/files/l10n/de_AT.js index 00e929683cc..435b15551e2 100644 --- a/apps/files/l10n/de_AT.js +++ b/apps/files/l10n/de_AT.js @@ -2,7 +2,6 @@ OC.L10N.register( "files", { "Files" : "Dateien", - "Share" : "Freigeben", "Delete" : "Löschen", "Unshare" : "Teilung zurücknehmen", "Error" : "Fehler", diff --git a/apps/files/l10n/de_AT.json b/apps/files/l10n/de_AT.json index 190e5c1d3b1..41abbca37d5 100644 --- a/apps/files/l10n/de_AT.json +++ b/apps/files/l10n/de_AT.json @@ -1,6 +1,5 @@ { "translations": { "Files" : "Dateien", - "Share" : "Freigeben", "Delete" : "Löschen", "Unshare" : "Teilung zurücknehmen", "Error" : "Fehler", diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js index 3e64aa3c990..51bbdc08692 100644 --- a/apps/files/l10n/de_DE.js +++ b/apps/files/l10n/de_DE.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Die Datei konnte nicht erstellt werden", "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Error fetching URL" : "Fehler beim Abrufen der URL", - "Share" : "Teilen", "Delete" : "Löschen", "Disconnect storage" : "Speicher trennen", "Unshare" : "Freigabe aufheben", - "Delete permanently" : "Endgültig löschen", "Rename" : "Umbenennen", "Pending" : "Ausstehend", "Error moving file." : "Fehler beim Verschieben der Datei.", diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json index df3433251c6..02c8c411d4c 100644 --- a/apps/files/l10n/de_DE.json +++ b/apps/files/l10n/de_DE.json @@ -44,11 +44,9 @@ "Could not create file" : "Die Datei konnte nicht erstellt werden", "Could not create folder" : "Der Ordner konnte nicht erstellt werden", "Error fetching URL" : "Fehler beim Abrufen der URL", - "Share" : "Teilen", "Delete" : "Löschen", "Disconnect storage" : "Speicher trennen", "Unshare" : "Freigabe aufheben", - "Delete permanently" : "Endgültig löschen", "Rename" : "Umbenennen", "Pending" : "Ausstehend", "Error moving file." : "Fehler beim Verschieben der Datei.", diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js index eaf4eb65ebd..3ac2eedd126 100644 --- a/apps/files/l10n/el.js +++ b/apps/files/l10n/el.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Αδυναμία δημιουργίας αρχείου", "Could not create folder" : "Αδυναμία δημιουργίας φακέλου", "Error fetching URL" : "Σφάλμα φόρτωσης URL", - "Share" : "Διαμοιρασμός", "Delete" : "Διαγραφή", "Disconnect storage" : "Αποσυνδεδεμένος αποθηκευτικός χώρος", "Unshare" : "Διακοπή διαμοιρασμού", - "Delete permanently" : "Μόνιμη διαγραφή", "Rename" : "Μετονομασία", "Pending" : "Εκκρεμεί", "Error moving file." : "Σφάλμα κατά τη μετακίνηση του αρχείου.", diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json index 5c9b763b5e1..630eddd616b 100644 --- a/apps/files/l10n/el.json +++ b/apps/files/l10n/el.json @@ -44,11 +44,9 @@ "Could not create file" : "Αδυναμία δημιουργίας αρχείου", "Could not create folder" : "Αδυναμία δημιουργίας φακέλου", "Error fetching URL" : "Σφάλμα φόρτωσης URL", - "Share" : "Διαμοιρασμός", "Delete" : "Διαγραφή", "Disconnect storage" : "Αποσυνδεδεμένος αποθηκευτικός χώρος", "Unshare" : "Διακοπή διαμοιρασμού", - "Delete permanently" : "Μόνιμη διαγραφή", "Rename" : "Μετονομασία", "Pending" : "Εκκρεμεί", "Error moving file." : "Σφάλμα κατά τη μετακίνηση του αρχείου.", diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js index 494358d3363..d940540bc88 100644 --- a/apps/files/l10n/en_GB.js +++ b/apps/files/l10n/en_GB.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Could not create file", "Could not create folder" : "Could not create folder", "Error fetching URL" : "Error fetching URL", - "Share" : "Share", "Delete" : "Delete", "Disconnect storage" : "Disconnect storage", "Unshare" : "Unshare", - "Delete permanently" : "Delete permanently", "Rename" : "Rename", "Pending" : "Pending", "Error moving file." : "Error moving file.", diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json index bdda9bf4faf..88d2c3d848e 100644 --- a/apps/files/l10n/en_GB.json +++ b/apps/files/l10n/en_GB.json @@ -44,11 +44,9 @@ "Could not create file" : "Could not create file", "Could not create folder" : "Could not create folder", "Error fetching URL" : "Error fetching URL", - "Share" : "Share", "Delete" : "Delete", "Disconnect storage" : "Disconnect storage", "Unshare" : "Unshare", - "Delete permanently" : "Delete permanently", "Rename" : "Rename", "Pending" : "Pending", "Error moving file." : "Error moving file.", diff --git a/apps/files/l10n/eo.js b/apps/files/l10n/eo.js index 43acaae6ba4..91349252c8f 100644 --- a/apps/files/l10n/eo.js +++ b/apps/files/l10n/eo.js @@ -34,10 +34,8 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} jam ekzistas", "Could not create file" : "Ne povis kreiĝi dosiero", "Could not create folder" : "Ne povis kreiĝi dosierujo", - "Share" : "Kunhavigi", "Delete" : "Forigi", "Unshare" : "Malkunhavigi", - "Delete permanently" : "Forigi por ĉiam", "Rename" : "Alinomigi", "Pending" : "Traktotaj", "Error moving file" : "Eraris movo de dosiero", diff --git a/apps/files/l10n/eo.json b/apps/files/l10n/eo.json index 96338a90c11..59b8178aca0 100644 --- a/apps/files/l10n/eo.json +++ b/apps/files/l10n/eo.json @@ -32,10 +32,8 @@ "{new_name} already exists" : "{new_name} jam ekzistas", "Could not create file" : "Ne povis kreiĝi dosiero", "Could not create folder" : "Ne povis kreiĝi dosierujo", - "Share" : "Kunhavigi", "Delete" : "Forigi", "Unshare" : "Malkunhavigi", - "Delete permanently" : "Forigi por ĉiam", "Rename" : "Alinomigi", "Pending" : "Traktotaj", "Error moving file" : "Eraris movo de dosiero", diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js index 0e1ac9aede9..b73452ba416 100644 --- a/apps/files/l10n/es.js +++ b/apps/files/l10n/es.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear la carpeta", "Error fetching URL" : "Error al descargar URL.", - "Share" : "Compartir", "Delete" : "Eliminar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", - "Delete permanently" : "Eliminar permanentemente", "Rename" : "Renombrar", "Pending" : "Pendiente", "Error moving file." : "Error al mover el archivo.", diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json index 5b45a869b54..8b8166575cd 100644 --- a/apps/files/l10n/es.json +++ b/apps/files/l10n/es.json @@ -44,11 +44,9 @@ "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear la carpeta", "Error fetching URL" : "Error al descargar URL.", - "Share" : "Compartir", "Delete" : "Eliminar", "Disconnect storage" : "Desconectar almacenamiento", "Unshare" : "Dejar de compartir", - "Delete permanently" : "Eliminar permanentemente", "Rename" : "Renombrar", "Pending" : "Pendiente", "Error moving file." : "Error al mover el archivo.", diff --git a/apps/files/l10n/es_AR.js b/apps/files/l10n/es_AR.js index fd9f9bd05e1..cc3c7f157a4 100644 --- a/apps/files/l10n/es_AR.js +++ b/apps/files/l10n/es_AR.js @@ -37,10 +37,8 @@ OC.L10N.register( "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear el directorio", "Error fetching URL" : "Error al obtener la URL", - "Share" : "Compartir", "Delete" : "Borrar", "Unshare" : "Dejar de compartir", - "Delete permanently" : "Borrar permanentemente", "Rename" : "Cambiar nombre", "Pending" : "Pendientes", "Error moving file" : "Error moviendo el archivo", diff --git a/apps/files/l10n/es_AR.json b/apps/files/l10n/es_AR.json index aa701390e68..c1dc14422f2 100644 --- a/apps/files/l10n/es_AR.json +++ b/apps/files/l10n/es_AR.json @@ -35,10 +35,8 @@ "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear el directorio", "Error fetching URL" : "Error al obtener la URL", - "Share" : "Compartir", "Delete" : "Borrar", "Unshare" : "Dejar de compartir", - "Delete permanently" : "Borrar permanentemente", "Rename" : "Cambiar nombre", "Pending" : "Pendientes", "Error moving file" : "Error moviendo el archivo", diff --git a/apps/files/l10n/es_CL.js b/apps/files/l10n/es_CL.js index 7a6f60c2961..0bf887f3699 100644 --- a/apps/files/l10n/es_CL.js +++ b/apps/files/l10n/es_CL.js @@ -3,7 +3,6 @@ OC.L10N.register( { "Unknown error" : "Error desconocido", "Files" : "Archivos", - "Share" : "Compartir", "Rename" : "Renombrar", "Error" : "Error", "_%n folder_::_%n folders_" : ["",""], diff --git a/apps/files/l10n/es_CL.json b/apps/files/l10n/es_CL.json index bb2cd206077..65f65eee022 100644 --- a/apps/files/l10n/es_CL.json +++ b/apps/files/l10n/es_CL.json @@ -1,7 +1,6 @@ { "translations": { "Unknown error" : "Error desconocido", "Files" : "Archivos", - "Share" : "Compartir", "Rename" : "Renombrar", "Error" : "Error", "_%n folder_::_%n folders_" : ["",""], diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js index 9d353e84a25..2a62b597d3a 100644 --- a/apps/files/l10n/es_MX.js +++ b/apps/files/l10n/es_MX.js @@ -37,10 +37,8 @@ OC.L10N.register( "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear la carpeta", "Error fetching URL" : "Error al descargar URL.", - "Share" : "Compartir", "Delete" : "Eliminar", "Unshare" : "Dejar de compartir", - "Delete permanently" : "Eliminar permanentemente", "Rename" : "Renombrar", "Pending" : "Pendiente", "Error moving file" : "Error moviendo archivo", diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json index f08223b70c7..94111d2095d 100644 --- a/apps/files/l10n/es_MX.json +++ b/apps/files/l10n/es_MX.json @@ -35,10 +35,8 @@ "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear la carpeta", "Error fetching URL" : "Error al descargar URL.", - "Share" : "Compartir", "Delete" : "Eliminar", "Unshare" : "Dejar de compartir", - "Delete permanently" : "Eliminar permanentemente", "Rename" : "Renombrar", "Pending" : "Pendiente", "Error moving file" : "Error moviendo archivo", diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js index 0ffbb81f63c..1e2004a07d9 100644 --- a/apps/files/l10n/et_EE.js +++ b/apps/files/l10n/et_EE.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Ei suuda luua faili", "Could not create folder" : "Ei suuda luua kataloogi", "Error fetching URL" : "Viga URL-i haaramisel", - "Share" : "Jaga", "Delete" : "Kustuta", "Disconnect storage" : "Ühenda andmehoidla lahti.", "Unshare" : "Lõpeta jagamine", - "Delete permanently" : "Kustuta jäädavalt", "Rename" : "Nimeta ümber", "Pending" : "Ootel", "Error moving file." : "Viga faili liigutamisel.", diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json index fdb5bdcb4f2..1c4c7b56680 100644 --- a/apps/files/l10n/et_EE.json +++ b/apps/files/l10n/et_EE.json @@ -44,11 +44,9 @@ "Could not create file" : "Ei suuda luua faili", "Could not create folder" : "Ei suuda luua kataloogi", "Error fetching URL" : "Viga URL-i haaramisel", - "Share" : "Jaga", "Delete" : "Kustuta", "Disconnect storage" : "Ühenda andmehoidla lahti.", "Unshare" : "Lõpeta jagamine", - "Delete permanently" : "Kustuta jäädavalt", "Rename" : "Nimeta ümber", "Pending" : "Ootel", "Error moving file." : "Viga faili liigutamisel.", diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js index 5fb2ac32f7c..3b154222ab5 100644 --- a/apps/files/l10n/eu.js +++ b/apps/files/l10n/eu.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Ezin izan da fitxategia sortu", "Could not create folder" : "Ezin izan da karpeta sortu", "Error fetching URL" : "Errorea URLa eskuratzerakoan", - "Share" : "Elkarbanatu", "Delete" : "Ezabatu", "Disconnect storage" : "Deskonektatu biltegia", "Unshare" : "Ez elkarbanatu", - "Delete permanently" : "Ezabatu betirako", "Rename" : "Berrizendatu", "Pending" : "Zain", "Error moving file." : "Errorea fitxategia mugitzean.", diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json index fadc0218477..22aa1f8f3a8 100644 --- a/apps/files/l10n/eu.json +++ b/apps/files/l10n/eu.json @@ -44,11 +44,9 @@ "Could not create file" : "Ezin izan da fitxategia sortu", "Could not create folder" : "Ezin izan da karpeta sortu", "Error fetching URL" : "Errorea URLa eskuratzerakoan", - "Share" : "Elkarbanatu", "Delete" : "Ezabatu", "Disconnect storage" : "Deskonektatu biltegia", "Unshare" : "Ez elkarbanatu", - "Delete permanently" : "Ezabatu betirako", "Rename" : "Berrizendatu", "Pending" : "Zain", "Error moving file." : "Errorea fitxategia mugitzean.", diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js index 1e403418ab1..d81213191fd 100644 --- a/apps/files/l10n/fa.js +++ b/apps/files/l10n/fa.js @@ -22,10 +22,8 @@ OC.L10N.register( "Upload cancelled." : "بار گذاری لغو شد", "File upload is in progress. Leaving the page now will cancel the upload." : "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ", "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.", - "Share" : "اشتراکگذاری", "Delete" : "حذف", "Unshare" : "لغو اشتراک", - "Delete permanently" : "حذف قطعی", "Rename" : "تغییرنام", "Pending" : "در انتظار", "Error" : "خطا", diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json index 872cef839a7..ddc1cce6c5c 100644 --- a/apps/files/l10n/fa.json +++ b/apps/files/l10n/fa.json @@ -20,10 +20,8 @@ "Upload cancelled." : "بار گذاری لغو شد", "File upload is in progress. Leaving the page now will cancel the upload." : "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ", "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.", - "Share" : "اشتراکگذاری", "Delete" : "حذف", "Unshare" : "لغو اشتراک", - "Delete permanently" : "حذف قطعی", "Rename" : "تغییرنام", "Pending" : "در انتظار", "Error" : "خطا", diff --git a/apps/files/l10n/fi_FI.js b/apps/files/l10n/fi_FI.js index 3c94a518774..4d78fa413e4 100644 --- a/apps/files/l10n/fi_FI.js +++ b/apps/files/l10n/fi_FI.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Tiedoston luominen epäonnistui", "Could not create folder" : "Kansion luominen epäonnistui", "Error fetching URL" : "Virhe noutaessa verkko-osoitetta", - "Share" : "Jaa", "Delete" : "Poista", "Disconnect storage" : "Katkaise yhteys tallennustilaan", "Unshare" : "Peru jakaminen", - "Delete permanently" : "Poista pysyvästi", "Rename" : "Nimeä uudelleen", "Pending" : "Odottaa", "Error moving file." : "Virhe tiedostoa siirrettäessä.", diff --git a/apps/files/l10n/fi_FI.json b/apps/files/l10n/fi_FI.json index 8628607793b..8052b0f3287 100644 --- a/apps/files/l10n/fi_FI.json +++ b/apps/files/l10n/fi_FI.json @@ -44,11 +44,9 @@ "Could not create file" : "Tiedoston luominen epäonnistui", "Could not create folder" : "Kansion luominen epäonnistui", "Error fetching URL" : "Virhe noutaessa verkko-osoitetta", - "Share" : "Jaa", "Delete" : "Poista", "Disconnect storage" : "Katkaise yhteys tallennustilaan", "Unshare" : "Peru jakaminen", - "Delete permanently" : "Poista pysyvästi", "Rename" : "Nimeä uudelleen", "Pending" : "Odottaa", "Error moving file." : "Virhe tiedostoa siirrettäessä.", diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js index a5a4f25bf1d..86d10b2a8c4 100644 --- a/apps/files/l10n/fr.js +++ b/apps/files/l10n/fr.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Impossible de créer le fichier", "Could not create folder" : "Impossible de créer le dossier", "Error fetching URL" : "Erreur d'accès à l'URL", - "Share" : "Partager", "Delete" : "Supprimer", "Disconnect storage" : "Déconnecter ce support de stockage", "Unshare" : "Ne plus partager", - "Delete permanently" : "Supprimer de façon définitive", "Rename" : "Renommer", "Pending" : "En attente", "Error moving file." : "Erreur lors du déplacement du fichier.", diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json index 26707810a75..8c2a7b4ca3e 100644 --- a/apps/files/l10n/fr.json +++ b/apps/files/l10n/fr.json @@ -44,11 +44,9 @@ "Could not create file" : "Impossible de créer le fichier", "Could not create folder" : "Impossible de créer le dossier", "Error fetching URL" : "Erreur d'accès à l'URL", - "Share" : "Partager", "Delete" : "Supprimer", "Disconnect storage" : "Déconnecter ce support de stockage", "Unshare" : "Ne plus partager", - "Delete permanently" : "Supprimer de façon définitive", "Rename" : "Renommer", "Pending" : "En attente", "Error moving file." : "Erreur lors du déplacement du fichier.", diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js index 53757da49b5..28dad5d7757 100644 --- a/apps/files/l10n/gl.js +++ b/apps/files/l10n/gl.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Non foi posíbel crear o ficheiro", "Could not create folder" : "Non foi posíbel crear o cartafol", "Error fetching URL" : "Produciuse un erro ao obter o URL", - "Share" : "Compartir", "Delete" : "Eliminar", "Disconnect storage" : "Desconectar o almacenamento", "Unshare" : "Deixar de compartir", - "Delete permanently" : "Eliminar permanentemente", "Rename" : "Renomear", "Pending" : "Pendentes", "Error moving file." : "Produciuse un erro ao mover o ficheiro.", diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json index 0e131a0ffa6..cdb404bfad4 100644 --- a/apps/files/l10n/gl.json +++ b/apps/files/l10n/gl.json @@ -44,11 +44,9 @@ "Could not create file" : "Non foi posíbel crear o ficheiro", "Could not create folder" : "Non foi posíbel crear o cartafol", "Error fetching URL" : "Produciuse un erro ao obter o URL", - "Share" : "Compartir", "Delete" : "Eliminar", "Disconnect storage" : "Desconectar o almacenamento", "Unshare" : "Deixar de compartir", - "Delete permanently" : "Eliminar permanentemente", "Rename" : "Renomear", "Pending" : "Pendentes", "Error moving file." : "Produciuse un erro ao mover o ficheiro.", diff --git a/apps/files/l10n/he.js b/apps/files/l10n/he.js index 4db22fef4ed..6ad6a9d58c3 100644 --- a/apps/files/l10n/he.js +++ b/apps/files/l10n/he.js @@ -22,10 +22,8 @@ OC.L10N.register( "Could not get result from server." : "לא ניתן לגשת לתוצאות מהשרת.", "File upload is in progress. Leaving the page now will cancel the upload." : "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.", "{new_name} already exists" : "{new_name} כבר קיים", - "Share" : "שתף", "Delete" : "מחיקה", "Unshare" : "הסר שיתוף", - "Delete permanently" : "מחק לצמיתות", "Rename" : "שינוי שם", "Pending" : "ממתין", "Error" : "שגיאה", diff --git a/apps/files/l10n/he.json b/apps/files/l10n/he.json index b876983cbbb..c9caf1093e3 100644 --- a/apps/files/l10n/he.json +++ b/apps/files/l10n/he.json @@ -20,10 +20,8 @@ "Could not get result from server." : "לא ניתן לגשת לתוצאות מהשרת.", "File upload is in progress. Leaving the page now will cancel the upload." : "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.", "{new_name} already exists" : "{new_name} כבר קיים", - "Share" : "שתף", "Delete" : "מחיקה", "Unshare" : "הסר שיתוף", - "Delete permanently" : "מחק לצמיתות", "Rename" : "שינוי שם", "Pending" : "ממתין", "Error" : "שגיאה", diff --git a/apps/files/l10n/hi.js b/apps/files/l10n/hi.js index 21b409ce9ef..6439a1af93a 100644 --- a/apps/files/l10n/hi.js +++ b/apps/files/l10n/hi.js @@ -2,7 +2,6 @@ OC.L10N.register( "files", { "Files" : "फाइलें ", - "Share" : "साझा करें", "Error" : "त्रुटि", "_%n folder_::_%n folders_" : ["",""], "_%n file_::_%n files_" : ["",""], diff --git a/apps/files/l10n/hi.json b/apps/files/l10n/hi.json index 093b80ce700..0e61c34bcdc 100644 --- a/apps/files/l10n/hi.json +++ b/apps/files/l10n/hi.json @@ -1,6 +1,5 @@ { "translations": { "Files" : "फाइलें ", - "Share" : "साझा करें", "Error" : "त्रुटि", "_%n folder_::_%n folders_" : ["",""], "_%n file_::_%n files_" : ["",""], diff --git a/apps/files/l10n/hr.js b/apps/files/l10n/hr.js index ad4eead41cc..f840cf3fa41 100644 --- a/apps/files/l10n/hr.js +++ b/apps/files/l10n/hr.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Datoteku nije moguće kreirati", "Could not create folder" : "Mapu nije moguće kreirati", "Error fetching URL" : "Pogrešan dohvat URL", - "Share" : "Podijelite resurs", "Delete" : "Izbrišite", "Disconnect storage" : "Isključite pohranu", "Unshare" : "Prestanite dijeliti", - "Delete permanently" : "Trajno izbrišite", "Rename" : "Preimenujte", "Pending" : "Na čekanju", "Error moving file." : "Pogrešno premještanje datoteke", diff --git a/apps/files/l10n/hr.json b/apps/files/l10n/hr.json index 482796da4a1..fb94891580d 100644 --- a/apps/files/l10n/hr.json +++ b/apps/files/l10n/hr.json @@ -44,11 +44,9 @@ "Could not create file" : "Datoteku nije moguće kreirati", "Could not create folder" : "Mapu nije moguće kreirati", "Error fetching URL" : "Pogrešan dohvat URL", - "Share" : "Podijelite resurs", "Delete" : "Izbrišite", "Disconnect storage" : "Isključite pohranu", "Unshare" : "Prestanite dijeliti", - "Delete permanently" : "Trajno izbrišite", "Rename" : "Preimenujte", "Pending" : "Na čekanju", "Error moving file." : "Pogrešno premještanje datoteke", diff --git a/apps/files/l10n/hu_HU.js b/apps/files/l10n/hu_HU.js index 34a9c73aa08..3b1f298e5f2 100644 --- a/apps/files/l10n/hu_HU.js +++ b/apps/files/l10n/hu_HU.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Az állomány nem hozható létre", "Could not create folder" : "A mappa nem hozható létre", "Error fetching URL" : "A megadott URL-ről nem sikerül adatokat kapni", - "Share" : "Megosztás", "Delete" : "Törlés", "Disconnect storage" : "Tároló leválasztása", "Unshare" : "A megosztás visszavonása", - "Delete permanently" : "Végleges törlés", "Rename" : "Átnevezés", "Pending" : "Folyamatban", "Error moving file." : "Hiba történt a fájl áthelyezése közben.", diff --git a/apps/files/l10n/hu_HU.json b/apps/files/l10n/hu_HU.json index 10ff167fd46..c5fd6b93bd6 100644 --- a/apps/files/l10n/hu_HU.json +++ b/apps/files/l10n/hu_HU.json @@ -44,11 +44,9 @@ "Could not create file" : "Az állomány nem hozható létre", "Could not create folder" : "A mappa nem hozható létre", "Error fetching URL" : "A megadott URL-ről nem sikerül adatokat kapni", - "Share" : "Megosztás", "Delete" : "Törlés", "Disconnect storage" : "Tároló leválasztása", "Unshare" : "A megosztás visszavonása", - "Delete permanently" : "Végleges törlés", "Rename" : "Átnevezés", "Pending" : "Folyamatban", "Error moving file." : "Hiba történt a fájl áthelyezése közben.", diff --git a/apps/files/l10n/ia.js b/apps/files/l10n/ia.js index 8c93abf1bef..415f74842d4 100644 --- a/apps/files/l10n/ia.js +++ b/apps/files/l10n/ia.js @@ -7,7 +7,6 @@ OC.L10N.register( "No file was uploaded" : "Nulle file esseva incargate.", "Missing a temporary folder" : "Manca un dossier temporari", "Files" : "Files", - "Share" : "Compartir", "Delete" : "Deler", "Unshare" : "Leva compartir", "Error" : "Error", diff --git a/apps/files/l10n/ia.json b/apps/files/l10n/ia.json index 962419f288b..d18deefc264 100644 --- a/apps/files/l10n/ia.json +++ b/apps/files/l10n/ia.json @@ -5,7 +5,6 @@ "No file was uploaded" : "Nulle file esseva incargate.", "Missing a temporary folder" : "Manca un dossier temporari", "Files" : "Files", - "Share" : "Compartir", "Delete" : "Deler", "Unshare" : "Leva compartir", "Error" : "Error", diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js index 8ae4c822ea8..d8438537792 100644 --- a/apps/files/l10n/id.js +++ b/apps/files/l10n/id.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Tidak dapat membuat berkas", "Could not create folder" : "Tidak dapat membuat folder", "Error fetching URL" : "Kesalahan saat mengambil URL", - "Share" : "Bagikan", "Delete" : "Hapus", "Disconnect storage" : "Memutuskan penyimpaan", "Unshare" : "Batalkan berbagi", - "Delete permanently" : "Hapus secara permanen", "Rename" : "Ubah nama", "Pending" : "Menunggu", "Error moving file." : "Kesalahan saat memindahkan berkas.", diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json index d644aa22ec4..38668a71d0a 100644 --- a/apps/files/l10n/id.json +++ b/apps/files/l10n/id.json @@ -44,11 +44,9 @@ "Could not create file" : "Tidak dapat membuat berkas", "Could not create folder" : "Tidak dapat membuat folder", "Error fetching URL" : "Kesalahan saat mengambil URL", - "Share" : "Bagikan", "Delete" : "Hapus", "Disconnect storage" : "Memutuskan penyimpaan", "Unshare" : "Batalkan berbagi", - "Delete permanently" : "Hapus secara permanen", "Rename" : "Ubah nama", "Pending" : "Menunggu", "Error moving file." : "Kesalahan saat memindahkan berkas.", diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js index 5f3e2e78f26..72dcb93b3ff 100644 --- a/apps/files/l10n/is.js +++ b/apps/files/l10n/is.js @@ -18,7 +18,6 @@ OC.L10N.register( "Upload cancelled." : "Hætt við innsendingu.", "File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.", "{new_name} already exists" : "{new_name} er þegar til", - "Share" : "Deila", "Delete" : "Eyða", "Unshare" : "Hætta deilingu", "Rename" : "Endurskýra", diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json index 0a6afcb0b64..ba575238d16 100644 --- a/apps/files/l10n/is.json +++ b/apps/files/l10n/is.json @@ -16,7 +16,6 @@ "Upload cancelled." : "Hætt við innsendingu.", "File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.", "{new_name} already exists" : "{new_name} er þegar til", - "Share" : "Deila", "Delete" : "Eyða", "Unshare" : "Hætta deilingu", "Rename" : "Endurskýra", diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js index 693888bb7c8..b54e95685a1 100644 --- a/apps/files/l10n/it.js +++ b/apps/files/l10n/it.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Impossibile creare il file", "Could not create folder" : "Impossibile creare la cartella", "Error fetching URL" : "Errore durante il recupero dello URL", - "Share" : "Condividi", "Delete" : "Elimina", "Disconnect storage" : "Disconnetti archiviazione", "Unshare" : "Rimuovi condivisione", - "Delete permanently" : "Elimina definitivamente", "Rename" : "Rinomina", "Pending" : "In corso", "Error moving file." : "Errore durante lo spostamento del file.", diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json index 4efbf6f64b4..cbdb66c118f 100644 --- a/apps/files/l10n/it.json +++ b/apps/files/l10n/it.json @@ -44,11 +44,9 @@ "Could not create file" : "Impossibile creare il file", "Could not create folder" : "Impossibile creare la cartella", "Error fetching URL" : "Errore durante il recupero dello URL", - "Share" : "Condividi", "Delete" : "Elimina", "Disconnect storage" : "Disconnetti archiviazione", "Unshare" : "Rimuovi condivisione", - "Delete permanently" : "Elimina definitivamente", "Rename" : "Rinomina", "Pending" : "In corso", "Error moving file." : "Errore durante lo spostamento del file.", diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js index 201da49664b..0f11ad44f82 100644 --- a/apps/files/l10n/ja.js +++ b/apps/files/l10n/ja.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "ファイルを作成できませんでした", "Could not create folder" : "フォルダーを作成できませんでした", "Error fetching URL" : "URL取得エラー", - "Share" : "共有", "Delete" : "削除", "Disconnect storage" : "ストレージを切断する", "Unshare" : "共有解除", - "Delete permanently" : "完全に削除する", "Rename" : "名前の変更", "Pending" : "中断", "Error moving file." : "ファイル移動でエラー", diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json index 314bc723322..b18b25c2432 100644 --- a/apps/files/l10n/ja.json +++ b/apps/files/l10n/ja.json @@ -44,11 +44,9 @@ "Could not create file" : "ファイルを作成できませんでした", "Could not create folder" : "フォルダーを作成できませんでした", "Error fetching URL" : "URL取得エラー", - "Share" : "共有", "Delete" : "削除", "Disconnect storage" : "ストレージを切断する", "Unshare" : "共有解除", - "Delete permanently" : "完全に削除する", "Rename" : "名前の変更", "Pending" : "中断", "Error moving file." : "ファイル移動でエラー", diff --git a/apps/files/l10n/ka_GE.js b/apps/files/l10n/ka_GE.js index 9845b12b129..d23d8b860b4 100644 --- a/apps/files/l10n/ka_GE.js +++ b/apps/files/l10n/ka_GE.js @@ -20,10 +20,8 @@ OC.L10N.register( "Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.", "File upload is in progress. Leaving the page now will cancel the upload." : "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას", "{new_name} already exists" : "{new_name} უკვე არსებობს", - "Share" : "გაზიარება", "Delete" : "წაშლა", "Unshare" : "გაუზიარებადი", - "Delete permanently" : "სრულად წაშლა", "Rename" : "გადარქმევა", "Pending" : "მოცდის რეჟიმში", "Error" : "შეცდომა", diff --git a/apps/files/l10n/ka_GE.json b/apps/files/l10n/ka_GE.json index 65dde81cfc4..512e96864f2 100644 --- a/apps/files/l10n/ka_GE.json +++ b/apps/files/l10n/ka_GE.json @@ -18,10 +18,8 @@ "Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.", "File upload is in progress. Leaving the page now will cancel the upload." : "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას", "{new_name} already exists" : "{new_name} უკვე არსებობს", - "Share" : "გაზიარება", "Delete" : "წაშლა", "Unshare" : "გაუზიარებადი", - "Delete permanently" : "სრულად წაშლა", "Rename" : "გადარქმევა", "Pending" : "მოცდის რეჟიმში", "Error" : "შეცდომა", diff --git a/apps/files/l10n/km.js b/apps/files/l10n/km.js index 5a44796d1e7..f329a51bcf4 100644 --- a/apps/files/l10n/km.js +++ b/apps/files/l10n/km.js @@ -11,10 +11,8 @@ OC.L10N.register( "Files" : "ឯកសារ", "Upload cancelled." : "បានបោះបង់ការផ្ទុកឡើង។", "{new_name} already exists" : "មានឈ្មោះ {new_name} រួចហើយ", - "Share" : "ចែករំលែក", "Delete" : "លុប", "Unshare" : "លែងចែករំលែក", - "Delete permanently" : "លុបជាអចិន្ត្រៃយ៍", "Rename" : "ប្ដូរឈ្មោះ", "Pending" : "កំពុងរង់ចាំ", "Error" : "កំហុស", diff --git a/apps/files/l10n/km.json b/apps/files/l10n/km.json index 6ed24afe47a..bcd7be4c977 100644 --- a/apps/files/l10n/km.json +++ b/apps/files/l10n/km.json @@ -9,10 +9,8 @@ "Files" : "ឯកសារ", "Upload cancelled." : "បានបោះបង់ការផ្ទុកឡើង។", "{new_name} already exists" : "មានឈ្មោះ {new_name} រួចហើយ", - "Share" : "ចែករំលែក", "Delete" : "លុប", "Unshare" : "លែងចែករំលែក", - "Delete permanently" : "លុបជាអចិន្ត្រៃយ៍", "Rename" : "ប្ដូរឈ្មោះ", "Pending" : "កំពុងរង់ចាំ", "Error" : "កំហុស", diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js index 519652e4796..a587e324998 100644 --- a/apps/files/l10n/ko.js +++ b/apps/files/l10n/ko.js @@ -37,10 +37,8 @@ OC.L10N.register( "Could not create file" : "파일을 만들 수 없음", "Could not create folder" : "폴더를 만들 수 없음", "Error fetching URL" : "URL을 가져올 수 없음", - "Share" : "공유", "Delete" : "삭제", "Unshare" : "공유 해제", - "Delete permanently" : "영구히 삭제", "Rename" : "이름 바꾸기", "Pending" : "대기 중", "Error moving file" : "파일 이동 오류", diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json index afcda78ecd0..031925b5f5e 100644 --- a/apps/files/l10n/ko.json +++ b/apps/files/l10n/ko.json @@ -35,10 +35,8 @@ "Could not create file" : "파일을 만들 수 없음", "Could not create folder" : "폴더를 만들 수 없음", "Error fetching URL" : "URL을 가져올 수 없음", - "Share" : "공유", "Delete" : "삭제", "Unshare" : "공유 해제", - "Delete permanently" : "영구히 삭제", "Rename" : "이름 바꾸기", "Pending" : "대기 중", "Error moving file" : "파일 이동 오류", diff --git a/apps/files/l10n/ku_IQ.js b/apps/files/l10n/ku_IQ.js index 5236669f239..f8749d38d34 100644 --- a/apps/files/l10n/ku_IQ.js +++ b/apps/files/l10n/ku_IQ.js @@ -2,7 +2,6 @@ OC.L10N.register( "files", { "Files" : "پهڕگەکان", - "Share" : "هاوبەشی کردن", "Error" : "ههڵه", "Name" : "ناو", "_%n folder_::_%n folders_" : ["",""], diff --git a/apps/files/l10n/ku_IQ.json b/apps/files/l10n/ku_IQ.json index c11984e29d7..b63c05e1c9b 100644 --- a/apps/files/l10n/ku_IQ.json +++ b/apps/files/l10n/ku_IQ.json @@ -1,6 +1,5 @@ { "translations": { "Files" : "پهڕگەکان", - "Share" : "هاوبەشی کردن", "Error" : "ههڵه", "Name" : "ناو", "_%n folder_::_%n folders_" : ["",""], diff --git a/apps/files/l10n/lb.js b/apps/files/l10n/lb.js index 05c3ff1e7e4..6b5211e1d9d 100644 --- a/apps/files/l10n/lb.js +++ b/apps/files/l10n/lb.js @@ -11,7 +11,6 @@ OC.L10N.register( "Files" : "Dateien", "Upload cancelled." : "Upload ofgebrach.", "File upload is in progress. Leaving the page now will cancel the upload." : "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach.", - "Share" : "Deelen", "Delete" : "Läschen", "Unshare" : "Net méi deelen", "Rename" : "Ëm-benennen", diff --git a/apps/files/l10n/lb.json b/apps/files/l10n/lb.json index 868141071f3..7b7ad7d5cff 100644 --- a/apps/files/l10n/lb.json +++ b/apps/files/l10n/lb.json @@ -9,7 +9,6 @@ "Files" : "Dateien", "Upload cancelled." : "Upload ofgebrach.", "File upload is in progress. Leaving the page now will cancel the upload." : "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach.", - "Share" : "Deelen", "Delete" : "Läschen", "Unshare" : "Net méi deelen", "Rename" : "Ëm-benennen", diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js index c4b391bee67..089eb1d83ff 100644 --- a/apps/files/l10n/lt_LT.js +++ b/apps/files/l10n/lt_LT.js @@ -37,10 +37,8 @@ OC.L10N.register( "Could not create file" : "Neįmanoma sukurti failo", "Could not create folder" : "Neįmanoma sukurti aplanko", "Error fetching URL" : "Klauda gaunant URL", - "Share" : "Dalintis", "Delete" : "Ištrinti", "Unshare" : "Nebesidalinti", - "Delete permanently" : "Ištrinti negrįžtamai", "Rename" : "Pervadinti", "Pending" : "Laukiantis", "Error moving file" : "Klaida perkeliant failą", diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json index 6baaa79c92c..d3de21aef97 100644 --- a/apps/files/l10n/lt_LT.json +++ b/apps/files/l10n/lt_LT.json @@ -35,10 +35,8 @@ "Could not create file" : "Neįmanoma sukurti failo", "Could not create folder" : "Neįmanoma sukurti aplanko", "Error fetching URL" : "Klauda gaunant URL", - "Share" : "Dalintis", "Delete" : "Ištrinti", "Unshare" : "Nebesidalinti", - "Delete permanently" : "Ištrinti negrįžtamai", "Rename" : "Pervadinti", "Pending" : "Laukiantis", "Error moving file" : "Klaida perkeliant failą", diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js index d01f2894d94..74bc5b50763 100644 --- a/apps/files/l10n/lv.js +++ b/apps/files/l10n/lv.js @@ -22,10 +22,8 @@ OC.L10N.register( "Upload cancelled." : "Augšupielāde ir atcelta.", "File upload is in progress. Leaving the page now will cancel the upload." : "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde.", "{new_name} already exists" : "{new_name} jau eksistē", - "Share" : "Dalīties", "Delete" : "Dzēst", "Unshare" : "Pārtraukt dalīšanos", - "Delete permanently" : "Dzēst pavisam", "Rename" : "Pārsaukt", "Pending" : "Gaida savu kārtu", "Error" : "Kļūda", diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json index 39a0caea5b2..ebc5df7026f 100644 --- a/apps/files/l10n/lv.json +++ b/apps/files/l10n/lv.json @@ -20,10 +20,8 @@ "Upload cancelled." : "Augšupielāde ir atcelta.", "File upload is in progress. Leaving the page now will cancel the upload." : "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde.", "{new_name} already exists" : "{new_name} jau eksistē", - "Share" : "Dalīties", "Delete" : "Dzēst", "Unshare" : "Pārtraukt dalīšanos", - "Delete permanently" : "Dzēst pavisam", "Rename" : "Pārsaukt", "Pending" : "Gaida savu kārtu", "Error" : "Kļūda", diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js index 57a717ceaf6..218d014f8de 100644 --- a/apps/files/l10n/mk.js +++ b/apps/files/l10n/mk.js @@ -32,10 +32,8 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} веќе постои", "Could not create file" : "Не множам да креирам датотека", "Could not create folder" : "Не можам да креирам папка", - "Share" : "Сподели", "Delete" : "Избриши", "Unshare" : "Не споделувај", - "Delete permanently" : "Трајно избришани", "Rename" : "Преименувај", "Pending" : "Чека", "Error moving file" : "Грешка при префрлање на датотека", diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json index 2d3df73a75f..0ff8dd00d87 100644 --- a/apps/files/l10n/mk.json +++ b/apps/files/l10n/mk.json @@ -30,10 +30,8 @@ "{new_name} already exists" : "{new_name} веќе постои", "Could not create file" : "Не множам да креирам датотека", "Could not create folder" : "Не можам да креирам папка", - "Share" : "Сподели", "Delete" : "Избриши", "Unshare" : "Не споделувај", - "Delete permanently" : "Трајно избришани", "Rename" : "Преименувај", "Pending" : "Чека", "Error moving file" : "Грешка при префрлање на датотека", diff --git a/apps/files/l10n/ms_MY.js b/apps/files/l10n/ms_MY.js index 50e95b4bca2..a97e955417e 100644 --- a/apps/files/l10n/ms_MY.js +++ b/apps/files/l10n/ms_MY.js @@ -10,7 +10,6 @@ OC.L10N.register( "Failed to write to disk" : "Gagal untuk disimpan", "Files" : "Fail-fail", "Upload cancelled." : "Muatnaik dibatalkan.", - "Share" : "Kongsi", "Delete" : "Padam", "Rename" : "Namakan", "Pending" : "Dalam proses", diff --git a/apps/files/l10n/ms_MY.json b/apps/files/l10n/ms_MY.json index 6f085a76a68..8a64b1b7a7b 100644 --- a/apps/files/l10n/ms_MY.json +++ b/apps/files/l10n/ms_MY.json @@ -8,7 +8,6 @@ "Failed to write to disk" : "Gagal untuk disimpan", "Files" : "Fail-fail", "Upload cancelled." : "Muatnaik dibatalkan.", - "Share" : "Kongsi", "Delete" : "Padam", "Rename" : "Namakan", "Pending" : "Dalam proses", diff --git a/apps/files/l10n/nb_NO.js b/apps/files/l10n/nb_NO.js index d9c59b1bdd7..32f1e97bd27 100644 --- a/apps/files/l10n/nb_NO.js +++ b/apps/files/l10n/nb_NO.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Klarte ikke å opprette fil", "Could not create folder" : "Klarte ikke å opprette mappe", "Error fetching URL" : "Feil ved henting av URL", - "Share" : "Del", "Delete" : "Slett", "Disconnect storage" : "Koble fra lagring", "Unshare" : "Avslutt deling", - "Delete permanently" : "Slett permanent", "Rename" : "Gi nytt navn", "Pending" : "Ventende", "Error moving file." : "Feil ved flytting av fil.", diff --git a/apps/files/l10n/nb_NO.json b/apps/files/l10n/nb_NO.json index ab3dfc782e6..47cab7d2615 100644 --- a/apps/files/l10n/nb_NO.json +++ b/apps/files/l10n/nb_NO.json @@ -44,11 +44,9 @@ "Could not create file" : "Klarte ikke å opprette fil", "Could not create folder" : "Klarte ikke å opprette mappe", "Error fetching URL" : "Feil ved henting av URL", - "Share" : "Del", "Delete" : "Slett", "Disconnect storage" : "Koble fra lagring", "Unshare" : "Avslutt deling", - "Delete permanently" : "Slett permanent", "Rename" : "Gi nytt navn", "Pending" : "Ventende", "Error moving file." : "Feil ved flytting av fil.", diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js index 75f1e26ec0b..07d4a559685 100644 --- a/apps/files/l10n/nl.js +++ b/apps/files/l10n/nl.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Kon bestand niet creëren", "Could not create folder" : "Kon niet creëren map", "Error fetching URL" : "Fout bij ophalen URL", - "Share" : "Delen", "Delete" : "Verwijderen", "Disconnect storage" : "Verbinding met opslag verbreken", "Unshare" : "Stop met delen", - "Delete permanently" : "Definitief verwijderen", "Rename" : "Naam wijzigen", "Pending" : "In behandeling", "Error moving file." : "Fout bij verplaatsen bestand.", diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json index 58416264c9a..30551f59cf0 100644 --- a/apps/files/l10n/nl.json +++ b/apps/files/l10n/nl.json @@ -44,11 +44,9 @@ "Could not create file" : "Kon bestand niet creëren", "Could not create folder" : "Kon niet creëren map", "Error fetching URL" : "Fout bij ophalen URL", - "Share" : "Delen", "Delete" : "Verwijderen", "Disconnect storage" : "Verbinding met opslag verbreken", "Unshare" : "Stop met delen", - "Delete permanently" : "Definitief verwijderen", "Rename" : "Naam wijzigen", "Pending" : "In behandeling", "Error moving file." : "Fout bij verplaatsen bestand.", diff --git a/apps/files/l10n/nn_NO.js b/apps/files/l10n/nn_NO.js index 6d17a9458c5..5889930e7f1 100644 --- a/apps/files/l10n/nn_NO.js +++ b/apps/files/l10n/nn_NO.js @@ -26,10 +26,8 @@ OC.L10N.register( "Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.", "{new_name} already exists" : "{new_name} finst allereie", - "Share" : "Del", "Delete" : "Slett", "Unshare" : "Udel", - "Delete permanently" : "Slett for godt", "Rename" : "Endra namn", "Pending" : "Under vegs", "Error moving file" : "Feil ved flytting av fil", diff --git a/apps/files/l10n/nn_NO.json b/apps/files/l10n/nn_NO.json index 4008ab0778c..3f3026655d8 100644 --- a/apps/files/l10n/nn_NO.json +++ b/apps/files/l10n/nn_NO.json @@ -24,10 +24,8 @@ "Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.", "{new_name} already exists" : "{new_name} finst allereie", - "Share" : "Del", "Delete" : "Slett", "Unshare" : "Udel", - "Delete permanently" : "Slett for godt", "Rename" : "Endra namn", "Pending" : "Under vegs", "Error moving file" : "Feil ved flytting av fil", diff --git a/apps/files/l10n/oc.js b/apps/files/l10n/oc.js index deb447f57d9..4d427297080 100644 --- a/apps/files/l10n/oc.js +++ b/apps/files/l10n/oc.js @@ -10,7 +10,6 @@ OC.L10N.register( "Files" : "Fichièrs", "Upload cancelled." : "Amontcargar anullat.", "File upload is in progress. Leaving the page now will cancel the upload." : "Un amontcargar es a se far. Daissar aquesta pagina ara tamparà lo cargament. ", - "Share" : "Parteja", "Delete" : "Escafa", "Unshare" : "Pas partejador", "Rename" : "Torna nomenar", diff --git a/apps/files/l10n/oc.json b/apps/files/l10n/oc.json index 994cb0055ea..4f316b62e9e 100644 --- a/apps/files/l10n/oc.json +++ b/apps/files/l10n/oc.json @@ -8,7 +8,6 @@ "Files" : "Fichièrs", "Upload cancelled." : "Amontcargar anullat.", "File upload is in progress. Leaving the page now will cancel the upload." : "Un amontcargar es a se far. Daissar aquesta pagina ara tamparà lo cargament. ", - "Share" : "Parteja", "Delete" : "Escafa", "Unshare" : "Pas partejador", "Rename" : "Torna nomenar", diff --git a/apps/files/l10n/pa.js b/apps/files/l10n/pa.js index 84216361960..ec6847929e3 100644 --- a/apps/files/l10n/pa.js +++ b/apps/files/l10n/pa.js @@ -3,7 +3,6 @@ OC.L10N.register( { "Unknown error" : "ਅਣਜਾਣ ਗਲਤੀ", "Files" : "ਫਾਇਲਾਂ", - "Share" : "ਸਾਂਝਾ ਕਰੋ", "Delete" : "ਹਟਾਓ", "Rename" : "ਨਾਂ ਬਦਲੋ", "Error" : "ਗਲਤੀ", diff --git a/apps/files/l10n/pa.json b/apps/files/l10n/pa.json index b429b4ab19b..b8c98948c73 100644 --- a/apps/files/l10n/pa.json +++ b/apps/files/l10n/pa.json @@ -1,7 +1,6 @@ { "translations": { "Unknown error" : "ਅਣਜਾਣ ਗਲਤੀ", "Files" : "ਫਾਇਲਾਂ", - "Share" : "ਸਾਂਝਾ ਕਰੋ", "Delete" : "ਹਟਾਓ", "Rename" : "ਨਾਂ ਬਦਲੋ", "Error" : "ਗਲਤੀ", diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js index 1a0fb57ec30..da1966b203c 100644 --- a/apps/files/l10n/pl.js +++ b/apps/files/l10n/pl.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Nie można utworzyć pliku", "Could not create folder" : "Nie można utworzyć folderu", "Error fetching URL" : "Błąd przy pobieraniu adresu URL", - "Share" : "Udostępnij", "Delete" : "Usuń", "Disconnect storage" : "Odłącz magazyn", "Unshare" : "Zatrzymaj współdzielenie", - "Delete permanently" : "Trwale usuń", "Rename" : "Zmień nazwę", "Pending" : "Oczekujące", "Error moving file." : "Błąd podczas przenoszenia pliku.", diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json index b073141e3d1..447145f221c 100644 --- a/apps/files/l10n/pl.json +++ b/apps/files/l10n/pl.json @@ -44,11 +44,9 @@ "Could not create file" : "Nie można utworzyć pliku", "Could not create folder" : "Nie można utworzyć folderu", "Error fetching URL" : "Błąd przy pobieraniu adresu URL", - "Share" : "Udostępnij", "Delete" : "Usuń", "Disconnect storage" : "Odłącz magazyn", "Unshare" : "Zatrzymaj współdzielenie", - "Delete permanently" : "Trwale usuń", "Rename" : "Zmień nazwę", "Pending" : "Oczekujące", "Error moving file." : "Błąd podczas przenoszenia pliku.", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index b4c97887362..ede4f2521f3 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Não foi possível criar o arquivo", "Could not create folder" : "Não foi possível criar a pasta", "Error fetching URL" : "Erro ao buscar URL", - "Share" : "Compartilhar", "Delete" : "Excluir", "Disconnect storage" : "Desconectar armazenagem", "Unshare" : "Descompartilhar", - "Delete permanently" : "Excluir permanentemente", "Rename" : "Renomear", "Pending" : "Pendente", "Error moving file." : "Erro movendo o arquivo.", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 8c303c234ae..10faf5ce8c8 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -44,11 +44,9 @@ "Could not create file" : "Não foi possível criar o arquivo", "Could not create folder" : "Não foi possível criar a pasta", "Error fetching URL" : "Erro ao buscar URL", - "Share" : "Compartilhar", "Delete" : "Excluir", "Disconnect storage" : "Desconectar armazenagem", "Unshare" : "Descompartilhar", - "Delete permanently" : "Excluir permanentemente", "Rename" : "Renomear", "Pending" : "Pendente", "Error moving file." : "Erro movendo o arquivo.", diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js index 2ce2038d661..2bb9e4d27d6 100644 --- a/apps/files/l10n/pt_PT.js +++ b/apps/files/l10n/pt_PT.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Não pôde criar ficheiro", "Could not create folder" : "Não pôde criar pasta", "Error fetching URL" : "Erro ao obter URL", - "Share" : "Compartilhar", "Delete" : "Apagar", "Disconnect storage" : "Desconete o armazenamento", "Unshare" : "Deixar de partilhar", - "Delete permanently" : "Apagar Para Sempre", "Rename" : "Renomear", "Pending" : "Pendente", "Error moving file." : "Erro a mover o ficheiro.", diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json index 4be9e4306dc..075e9b30006 100644 --- a/apps/files/l10n/pt_PT.json +++ b/apps/files/l10n/pt_PT.json @@ -44,11 +44,9 @@ "Could not create file" : "Não pôde criar ficheiro", "Could not create folder" : "Não pôde criar pasta", "Error fetching URL" : "Erro ao obter URL", - "Share" : "Compartilhar", "Delete" : "Apagar", "Disconnect storage" : "Desconete o armazenamento", "Unshare" : "Deixar de partilhar", - "Delete permanently" : "Apagar Para Sempre", "Rename" : "Renomear", "Pending" : "Pendente", "Error moving file." : "Erro a mover o ficheiro.", diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js index 2b3e662aafd..fb242789296 100644 --- a/apps/files/l10n/ro.js +++ b/apps/files/l10n/ro.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Nu s-a putut crea fisierul", "Could not create folder" : "Nu s-a putut crea folderul", "Error fetching URL" : "Eroare încarcare URL", - "Share" : "Partajează", "Delete" : "Șterge", "Disconnect storage" : "Stocare deconectata", "Unshare" : "Anulare", - "Delete permanently" : "Șterge permanent", "Rename" : "Redenumește", "Pending" : "În așteptare", "Error moving file." : "Eroare la mutarea fișierului.", diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json index c0e85b4b916..5ebb191e2e1 100644 --- a/apps/files/l10n/ro.json +++ b/apps/files/l10n/ro.json @@ -44,11 +44,9 @@ "Could not create file" : "Nu s-a putut crea fisierul", "Could not create folder" : "Nu s-a putut crea folderul", "Error fetching URL" : "Eroare încarcare URL", - "Share" : "Partajează", "Delete" : "Șterge", "Disconnect storage" : "Stocare deconectata", "Unshare" : "Anulare", - "Delete permanently" : "Șterge permanent", "Rename" : "Redenumește", "Pending" : "În așteptare", "Error moving file." : "Eroare la mutarea fișierului.", diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js index cd982266155..7d3f3dd8a85 100644 --- a/apps/files/l10n/ru.js +++ b/apps/files/l10n/ru.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Не удалось создать файл", "Could not create folder" : "Не удалось создать каталог", "Error fetching URL" : "Ошибка получения URL", - "Share" : "Открыть доступ", "Delete" : "Удалить", "Disconnect storage" : "Отсоединиться от хранилища", "Unshare" : "Закрыть доступ", - "Delete permanently" : "Удалить окончательно", "Rename" : "Переименовать", "Pending" : "Ожидание", "Error moving file." : "Ошибка перемещения файла.", diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json index 7ac4fb7c3c3..d6a3759b5a0 100644 --- a/apps/files/l10n/ru.json +++ b/apps/files/l10n/ru.json @@ -44,11 +44,9 @@ "Could not create file" : "Не удалось создать файл", "Could not create folder" : "Не удалось создать каталог", "Error fetching URL" : "Ошибка получения URL", - "Share" : "Открыть доступ", "Delete" : "Удалить", "Disconnect storage" : "Отсоединиться от хранилища", "Unshare" : "Закрыть доступ", - "Delete permanently" : "Удалить окончательно", "Rename" : "Переименовать", "Pending" : "Ожидание", "Error moving file." : "Ошибка перемещения файла.", diff --git a/apps/files/l10n/si_LK.js b/apps/files/l10n/si_LK.js index 80df02a9ada..fbba973c6c2 100644 --- a/apps/files/l10n/si_LK.js +++ b/apps/files/l10n/si_LK.js @@ -11,7 +11,6 @@ OC.L10N.register( "Files" : "ගොනු", "Upload cancelled." : "උඩුගත කිරීම අත් හරින්න ලදී", "File upload is in progress. Leaving the page now will cancel the upload." : "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත", - "Share" : "බෙදා හදා ගන්න", "Delete" : "මකා දමන්න", "Unshare" : "නොබෙදු", "Rename" : "නැවත නම් කරන්න", diff --git a/apps/files/l10n/si_LK.json b/apps/files/l10n/si_LK.json index e66d5c2a1f1..b76adf30052 100644 --- a/apps/files/l10n/si_LK.json +++ b/apps/files/l10n/si_LK.json @@ -9,7 +9,6 @@ "Files" : "ගොනු", "Upload cancelled." : "උඩුගත කිරීම අත් හරින්න ලදී", "File upload is in progress. Leaving the page now will cancel the upload." : "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත", - "Share" : "බෙදා හදා ගන්න", "Delete" : "මකා දමන්න", "Unshare" : "නොබෙදු", "Rename" : "නැවත නම් කරන්න", diff --git a/apps/files/l10n/sk_SK.js b/apps/files/l10n/sk_SK.js index b29bc7e2c0f..f4f2ecb66ea 100644 --- a/apps/files/l10n/sk_SK.js +++ b/apps/files/l10n/sk_SK.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Nemožno vytvoriť súbor", "Could not create folder" : "Nemožno vytvoriť priečinok", "Error fetching URL" : "Chyba pri načítavaní URL", - "Share" : "Zdieľať", "Delete" : "Zmazať", "Disconnect storage" : "Odpojiť úložisko", "Unshare" : "Zrušiť zdieľanie", - "Delete permanently" : "Zmazať trvalo", "Rename" : "Premenovať", "Pending" : "Čaká", "Error moving file." : "Chyba pri presune súboru.", diff --git a/apps/files/l10n/sk_SK.json b/apps/files/l10n/sk_SK.json index a61a5ac06ad..ab4e176c9c6 100644 --- a/apps/files/l10n/sk_SK.json +++ b/apps/files/l10n/sk_SK.json @@ -44,11 +44,9 @@ "Could not create file" : "Nemožno vytvoriť súbor", "Could not create folder" : "Nemožno vytvoriť priečinok", "Error fetching URL" : "Chyba pri načítavaní URL", - "Share" : "Zdieľať", "Delete" : "Zmazať", "Disconnect storage" : "Odpojiť úložisko", "Unshare" : "Zrušiť zdieľanie", - "Delete permanently" : "Zmazať trvalo", "Rename" : "Premenovať", "Pending" : "Čaká", "Error moving file." : "Chyba pri presune súboru.", diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js index 6a8bcbe68a6..d9dfb5bec46 100644 --- a/apps/files/l10n/sl.js +++ b/apps/files/l10n/sl.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Ni mogoče ustvariti datoteke", "Could not create folder" : "Ni mogoče ustvariti mape", "Error fetching URL" : "Napaka pridobivanja naslova URL", - "Share" : "Souporaba", "Delete" : "Izbriši", "Disconnect storage" : "Odklopi shrambo", "Unshare" : "Prekini souporabo", - "Delete permanently" : "Izbriši dokončno", "Rename" : "Preimenuj", "Pending" : "V čakanju ...", "Error moving file." : "Napaka premikanja datoteke.", diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json index c759bd2abfe..a2e28a2e058 100644 --- a/apps/files/l10n/sl.json +++ b/apps/files/l10n/sl.json @@ -44,11 +44,9 @@ "Could not create file" : "Ni mogoče ustvariti datoteke", "Could not create folder" : "Ni mogoče ustvariti mape", "Error fetching URL" : "Napaka pridobivanja naslova URL", - "Share" : "Souporaba", "Delete" : "Izbriši", "Disconnect storage" : "Odklopi shrambo", "Unshare" : "Prekini souporabo", - "Delete permanently" : "Izbriši dokončno", "Rename" : "Preimenuj", "Pending" : "V čakanju ...", "Error moving file." : "Napaka premikanja datoteke.", diff --git a/apps/files/l10n/sq.js b/apps/files/l10n/sq.js index d85523ba062..00eb892333f 100644 --- a/apps/files/l10n/sq.js +++ b/apps/files/l10n/sq.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Skedari nuk mund të krijohet", "Could not create folder" : "I pamundur krijimi i kartelës", "Error fetching URL" : "Gabim në ngarkimin e URL", - "Share" : "Ndaj", "Delete" : "Fshi", "Disconnect storage" : "Shkëput hapësirën e memorizimit", "Unshare" : "Hiq ndarjen", - "Delete permanently" : "Fshi përfundimisht", "Rename" : "Riemëro", "Pending" : "Në vijim", "Error moving file." : "Gabim në lëvizjen e skedarëve.", diff --git a/apps/files/l10n/sq.json b/apps/files/l10n/sq.json index f15bc950d03..3abc90c7427 100644 --- a/apps/files/l10n/sq.json +++ b/apps/files/l10n/sq.json @@ -44,11 +44,9 @@ "Could not create file" : "Skedari nuk mund të krijohet", "Could not create folder" : "I pamundur krijimi i kartelës", "Error fetching URL" : "Gabim në ngarkimin e URL", - "Share" : "Ndaj", "Delete" : "Fshi", "Disconnect storage" : "Shkëput hapësirën e memorizimit", "Unshare" : "Hiq ndarjen", - "Delete permanently" : "Fshi përfundimisht", "Rename" : "Riemëro", "Pending" : "Në vijim", "Error moving file." : "Gabim në lëvizjen e skedarëve.", diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js index a758c833ff5..a9c17d8c7c9 100644 --- a/apps/files/l10n/sr.js +++ b/apps/files/l10n/sr.js @@ -19,10 +19,8 @@ OC.L10N.register( "Upload cancelled." : "Отпремање је прекинуто.", "File upload is in progress. Leaving the page now will cancel the upload." : "Отпремање датотеке је у току. Ако сада напустите страницу, прекинућете отпремање.", "{new_name} already exists" : "{new_name} већ постоји", - "Share" : "Дели", "Delete" : "Обриши", "Unshare" : "Укини дељење", - "Delete permanently" : "Обриши за стално", "Rename" : "Преименуј", "Pending" : "На чекању", "Error" : "Грешка", diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json index a68c3f8ad8d..b486c13f640 100644 --- a/apps/files/l10n/sr.json +++ b/apps/files/l10n/sr.json @@ -17,10 +17,8 @@ "Upload cancelled." : "Отпремање је прекинуто.", "File upload is in progress. Leaving the page now will cancel the upload." : "Отпремање датотеке је у току. Ако сада напустите страницу, прекинућете отпремање.", "{new_name} already exists" : "{new_name} већ постоји", - "Share" : "Дели", "Delete" : "Обриши", "Unshare" : "Укини дељење", - "Delete permanently" : "Обриши за стално", "Rename" : "Преименуј", "Pending" : "На чекању", "Error" : "Грешка", diff --git a/apps/files/l10n/sr@latin.js b/apps/files/l10n/sr@latin.js index 2209b673abd..85fb77f2474 100644 --- a/apps/files/l10n/sr@latin.js +++ b/apps/files/l10n/sr@latin.js @@ -7,7 +7,6 @@ OC.L10N.register( "No file was uploaded" : "Nijedan fajl nije poslat", "Missing a temporary folder" : "Nedostaje privremena fascikla", "Files" : "Fajlovi", - "Share" : "Podeli", "Delete" : "Obriši", "Unshare" : "Ukljoni deljenje", "Rename" : "Preimenij", diff --git a/apps/files/l10n/sr@latin.json b/apps/files/l10n/sr@latin.json index f130138bc55..8c91d7a58b3 100644 --- a/apps/files/l10n/sr@latin.json +++ b/apps/files/l10n/sr@latin.json @@ -5,7 +5,6 @@ "No file was uploaded" : "Nijedan fajl nije poslat", "Missing a temporary folder" : "Nedostaje privremena fascikla", "Files" : "Fajlovi", - "Share" : "Podeli", "Delete" : "Obriši", "Unshare" : "Ukljoni deljenje", "Rename" : "Preimenij", diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js index 234731fec2b..fddc56639d6 100644 --- a/apps/files/l10n/sv.js +++ b/apps/files/l10n/sv.js @@ -42,10 +42,8 @@ OC.L10N.register( "Could not create file" : "Kunde ej skapa fil", "Could not create folder" : "Kunde ej skapa katalog", "Error fetching URL" : "Fel vid hämtning av URL", - "Share" : "Dela", "Delete" : "Radera", "Unshare" : "Sluta dela", - "Delete permanently" : "Radera permanent", "Rename" : "Byt namn", "Pending" : "Väntar", "Error moving file." : "Fel vid flytt av fil.", diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json index 36aa5d5984f..1fca280c405 100644 --- a/apps/files/l10n/sv.json +++ b/apps/files/l10n/sv.json @@ -40,10 +40,8 @@ "Could not create file" : "Kunde ej skapa fil", "Could not create folder" : "Kunde ej skapa katalog", "Error fetching URL" : "Fel vid hämtning av URL", - "Share" : "Dela", "Delete" : "Radera", "Unshare" : "Sluta dela", - "Delete permanently" : "Radera permanent", "Rename" : "Byt namn", "Pending" : "Väntar", "Error moving file." : "Fel vid flytt av fil.", diff --git a/apps/files/l10n/ta_LK.js b/apps/files/l10n/ta_LK.js index 2014dd6ceb9..4dfdcd82faf 100644 --- a/apps/files/l10n/ta_LK.js +++ b/apps/files/l10n/ta_LK.js @@ -13,7 +13,6 @@ OC.L10N.register( "Upload cancelled." : "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது", "File upload is in progress. Leaving the page now will cancel the upload." : "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.", "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது", - "Share" : "பகிர்வு", "Delete" : "நீக்குக", "Unshare" : "பகிரப்படாதது", "Rename" : "பெயர்மாற்றம்", diff --git a/apps/files/l10n/ta_LK.json b/apps/files/l10n/ta_LK.json index c8426f9eb32..ec79b1713e9 100644 --- a/apps/files/l10n/ta_LK.json +++ b/apps/files/l10n/ta_LK.json @@ -11,7 +11,6 @@ "Upload cancelled." : "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது", "File upload is in progress. Leaving the page now will cancel the upload." : "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.", "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது", - "Share" : "பகிர்வு", "Delete" : "நீக்குக", "Unshare" : "பகிரப்படாதது", "Rename" : "பெயர்மாற்றம்", diff --git a/apps/files/l10n/te.js b/apps/files/l10n/te.js index 2d0a3ed3d9a..ef04ca24f80 100644 --- a/apps/files/l10n/te.js +++ b/apps/files/l10n/te.js @@ -2,7 +2,6 @@ OC.L10N.register( "files", { "Delete" : "తొలగించు", - "Delete permanently" : "శాశ్వతంగా తొలగించు", "Error" : "పొరపాటు", "Name" : "పేరు", "Size" : "పరిమాణం", diff --git a/apps/files/l10n/te.json b/apps/files/l10n/te.json index efa952f212a..c263e796d61 100644 --- a/apps/files/l10n/te.json +++ b/apps/files/l10n/te.json @@ -1,6 +1,5 @@ { "translations": { "Delete" : "తొలగించు", - "Delete permanently" : "శాశ్వతంగా తొలగించు", "Error" : "పొరపాటు", "Name" : "పేరు", "Size" : "పరిమాణం", diff --git a/apps/files/l10n/th_TH.js b/apps/files/l10n/th_TH.js index 039d4562a7a..8da4193704d 100644 --- a/apps/files/l10n/th_TH.js +++ b/apps/files/l10n/th_TH.js @@ -20,7 +20,6 @@ OC.L10N.register( "Upload cancelled." : "การอัพโหลดถูกยกเลิก", "File upload is in progress. Leaving the page now will cancel the upload." : "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก", "{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ", - "Share" : "แชร์", "Delete" : "ลบ", "Unshare" : "ยกเลิกการแชร์", "Rename" : "เปลี่ยนชื่อ", diff --git a/apps/files/l10n/th_TH.json b/apps/files/l10n/th_TH.json index bd4afed4aec..90fd9c7bd3d 100644 --- a/apps/files/l10n/th_TH.json +++ b/apps/files/l10n/th_TH.json @@ -18,7 +18,6 @@ "Upload cancelled." : "การอัพโหลดถูกยกเลิก", "File upload is in progress. Leaving the page now will cancel the upload." : "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก", "{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ", - "Share" : "แชร์", "Delete" : "ลบ", "Unshare" : "ยกเลิกการแชร์", "Rename" : "เปลี่ยนชื่อ", diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js index 81eaf632112..be5bebd6a24 100644 --- a/apps/files/l10n/tr.js +++ b/apps/files/l10n/tr.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Dosya oluşturulamadı", "Could not create folder" : "Klasör oluşturulamadı", "Error fetching URL" : "Adres getirilirken hata", - "Share" : "Paylaş", "Delete" : "Sil", "Disconnect storage" : "Depolama bağlantısını kes", "Unshare" : "Paylaşmayı Kaldır", - "Delete permanently" : "Kalıcı olarak sil", "Rename" : "Yeniden adlandır", "Pending" : "Bekliyor", "Error moving file." : "Dosya taşıma hatası.", diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json index 41ba10c4e7f..6c03db5090b 100644 --- a/apps/files/l10n/tr.json +++ b/apps/files/l10n/tr.json @@ -44,11 +44,9 @@ "Could not create file" : "Dosya oluşturulamadı", "Could not create folder" : "Klasör oluşturulamadı", "Error fetching URL" : "Adres getirilirken hata", - "Share" : "Paylaş", "Delete" : "Sil", "Disconnect storage" : "Depolama bağlantısını kes", "Unshare" : "Paylaşmayı Kaldır", - "Delete permanently" : "Kalıcı olarak sil", "Rename" : "Yeniden adlandır", "Pending" : "Bekliyor", "Error moving file." : "Dosya taşıma hatası.", diff --git a/apps/files/l10n/ug.js b/apps/files/l10n/ug.js index cfa6db88c4a..c3d9d839c2f 100644 --- a/apps/files/l10n/ug.js +++ b/apps/files/l10n/ug.js @@ -12,10 +12,8 @@ OC.L10N.register( "Upload cancelled." : "يۈكلەشتىن ۋاز كەچتى.", "File upload is in progress. Leaving the page now will cancel the upload." : "ھۆججەت يۈكلەش مەشغۇلاتى ئېلىپ بېرىلىۋاتىدۇ. Leaving the page now will cancel the upload.", "{new_name} already exists" : "{new_name} مەۋجۇت", - "Share" : "ھەمبەھىر", "Delete" : "ئۆچۈر", "Unshare" : "ھەمبەھىرلىمە", - "Delete permanently" : "مەڭگۈلۈك ئۆچۈر", "Rename" : "ئات ئۆزگەرت", "Pending" : "كۈتۈۋاتىدۇ", "Error" : "خاتالىق", diff --git a/apps/files/l10n/ug.json b/apps/files/l10n/ug.json index 19c010492e7..b0a267e31e8 100644 --- a/apps/files/l10n/ug.json +++ b/apps/files/l10n/ug.json @@ -10,10 +10,8 @@ "Upload cancelled." : "يۈكلەشتىن ۋاز كەچتى.", "File upload is in progress. Leaving the page now will cancel the upload." : "ھۆججەت يۈكلەش مەشغۇلاتى ئېلىپ بېرىلىۋاتىدۇ. Leaving the page now will cancel the upload.", "{new_name} already exists" : "{new_name} مەۋجۇت", - "Share" : "ھەمبەھىر", "Delete" : "ئۆچۈر", "Unshare" : "ھەمبەھىرلىمە", - "Delete permanently" : "مەڭگۈلۈك ئۆچۈر", "Rename" : "ئات ئۆزگەرت", "Pending" : "كۈتۈۋاتىدۇ", "Error" : "خاتالىق", diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js index b2bbbcbfc4c..14ca3192469 100644 --- a/apps/files/l10n/uk.js +++ b/apps/files/l10n/uk.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "Не вдалося створити файл", "Could not create folder" : "Не вдалося створити теку", "Error fetching URL" : "Помилка отримання URL", - "Share" : "Поділитися", "Delete" : "Видалити", "Disconnect storage" : "Від’єднати сховище", "Unshare" : "Закрити доступ", - "Delete permanently" : "Видалити назавжди", "Rename" : "Перейменувати", "Pending" : "Очікування", "Error moving file." : "Помилка переміщення файлу.", diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json index 6c8a5be4f5c..d1340773365 100644 --- a/apps/files/l10n/uk.json +++ b/apps/files/l10n/uk.json @@ -44,11 +44,9 @@ "Could not create file" : "Не вдалося створити файл", "Could not create folder" : "Не вдалося створити теку", "Error fetching URL" : "Помилка отримання URL", - "Share" : "Поділитися", "Delete" : "Видалити", "Disconnect storage" : "Від’єднати сховище", "Unshare" : "Закрити доступ", - "Delete permanently" : "Видалити назавжди", "Rename" : "Перейменувати", "Pending" : "Очікування", "Error moving file." : "Помилка переміщення файлу.", diff --git a/apps/files/l10n/ur_PK.js b/apps/files/l10n/ur_PK.js index c0be28aa0d4..21c0da147a2 100644 --- a/apps/files/l10n/ur_PK.js +++ b/apps/files/l10n/ur_PK.js @@ -2,7 +2,6 @@ OC.L10N.register( "files", { "Unknown error" : "غیر معروف خرابی", - "Share" : "تقسیم", "Delete" : "حذف کریں", "Unshare" : "شئیرنگ ختم کریں", "Error" : "ایرر", diff --git a/apps/files/l10n/ur_PK.json b/apps/files/l10n/ur_PK.json index 1ceef01a442..744f90a3b99 100644 --- a/apps/files/l10n/ur_PK.json +++ b/apps/files/l10n/ur_PK.json @@ -1,6 +1,5 @@ { "translations": { "Unknown error" : "غیر معروف خرابی", - "Share" : "تقسیم", "Delete" : "حذف کریں", "Unshare" : "شئیرنگ ختم کریں", "Error" : "ایرر", diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js index 744f37082fe..c718d000f29 100644 --- a/apps/files/l10n/vi.js +++ b/apps/files/l10n/vi.js @@ -36,10 +36,8 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} đã tồn tại", "Could not create file" : "Không thể tạo file", "Could not create folder" : "Không thể tạo thư mục", - "Share" : "Chia sẻ", "Delete" : "Xóa", "Unshare" : "Bỏ chia sẻ", - "Delete permanently" : "Xóa vĩnh vễn", "Rename" : "Sửa tên", "Pending" : "Đang chờ", "Error moving file" : "Lỗi di chuyển tập tin", diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json index 32e953b68e1..8e3273c751c 100644 --- a/apps/files/l10n/vi.json +++ b/apps/files/l10n/vi.json @@ -34,10 +34,8 @@ "{new_name} already exists" : "{new_name} đã tồn tại", "Could not create file" : "Không thể tạo file", "Could not create folder" : "Không thể tạo thư mục", - "Share" : "Chia sẻ", "Delete" : "Xóa", "Unshare" : "Bỏ chia sẻ", - "Delete permanently" : "Xóa vĩnh vễn", "Rename" : "Sửa tên", "Pending" : "Đang chờ", "Error moving file" : "Lỗi di chuyển tập tin", diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js index 502c673764e..95fb863e320 100644 --- a/apps/files/l10n/zh_CN.js +++ b/apps/files/l10n/zh_CN.js @@ -44,11 +44,9 @@ OC.L10N.register( "Could not create file" : "不能创建文件", "Could not create folder" : "不能创建文件夹", "Error fetching URL" : "获取URL出错", - "Share" : "分享", "Delete" : "删除", "Disconnect storage" : "断开储存连接", "Unshare" : "取消共享", - "Delete permanently" : "永久删除", "Rename" : "重命名", "Pending" : "等待", "Error moving file." : "移动文件出错。", diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json index a0244f1965a..1368060a9d4 100644 --- a/apps/files/l10n/zh_CN.json +++ b/apps/files/l10n/zh_CN.json @@ -42,11 +42,9 @@ "Could not create file" : "不能创建文件", "Could not create folder" : "不能创建文件夹", "Error fetching URL" : "获取URL出错", - "Share" : "分享", "Delete" : "删除", "Disconnect storage" : "断开储存连接", "Unshare" : "取消共享", - "Delete permanently" : "永久删除", "Rename" : "重命名", "Pending" : "等待", "Error moving file." : "移动文件出错。", diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js index e3e2aec65a0..17c47da37bf 100644 --- a/apps/files/l10n/zh_HK.js +++ b/apps/files/l10n/zh_HK.js @@ -4,7 +4,6 @@ OC.L10N.register( "Unknown error" : "不明錯誤", "Files" : "文件", "All files" : "所有文件", - "Share" : "分享", "Delete" : "刪除", "Unshare" : "取消分享", "Rename" : "重新命名", diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json index da0632f0882..56af7599e2e 100644 --- a/apps/files/l10n/zh_HK.json +++ b/apps/files/l10n/zh_HK.json @@ -2,7 +2,6 @@ "Unknown error" : "不明錯誤", "Files" : "文件", "All files" : "所有文件", - "Share" : "分享", "Delete" : "刪除", "Unshare" : "取消分享", "Rename" : "重新命名", diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js index 73e17fa47fc..17998c7c8d7 100644 --- a/apps/files/l10n/zh_TW.js +++ b/apps/files/l10n/zh_TW.js @@ -46,11 +46,9 @@ OC.L10N.register( "Could not create file" : "無法建立檔案", "Could not create folder" : "無法建立資料夾", "Error fetching URL" : "抓取 URL 發生錯誤", - "Share" : "分享", "Delete" : "刪除", "Disconnect storage" : "斷開儲存空間連接", "Unshare" : "取消分享", - "Delete permanently" : "永久刪除", "Rename" : "重新命名", "Pending" : "等候中", "Error moving file." : "移動檔案發生錯誤", diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json index f55b936a40f..7ce3ca7bc6a 100644 --- a/apps/files/l10n/zh_TW.json +++ b/apps/files/l10n/zh_TW.json @@ -44,11 +44,9 @@ "Could not create file" : "無法建立檔案", "Could not create folder" : "無法建立資料夾", "Error fetching URL" : "抓取 URL 發生錯誤", - "Share" : "分享", "Delete" : "刪除", "Disconnect storage" : "斷開儲存空間連接", "Unshare" : "取消分享", - "Delete permanently" : "永久刪除", "Rename" : "重新命名", "Pending" : "等候中", "Error moving file." : "移動檔案發生錯誤", diff --git a/apps/files/tests/js/fileactionsSpec.js b/apps/files/tests/js/fileactionsSpec.js index f5f18a45a75..828aec9b6b9 100644 --- a/apps/files/tests/js/fileactionsSpec.js +++ b/apps/files/tests/js/fileactionsSpec.js @@ -193,6 +193,54 @@ describe('OCA.Files.FileActions tests', function() { context = actionStub.getCall(0).args[1]; expect(context.dir).toEqual('/somepath'); }); + describe('custom rendering', function() { + var $tr; + beforeEach(function() { + var fileData = { + id: 18, + type: 'file', + name: 'testName.txt', + mimetype: 'text/plain', + size: '1234', + etag: 'a01234c', + mtime: '123456' + }; + $tr = fileList.add(fileData); + }); + it('regular function', function() { + var actionStub = sinon.stub(); + FileActions.registerAction({ + name: 'Test', + displayName: '', + mime: 'all', + permissions: OC.PERMISSION_READ, + render: function(actionSpec, isDefault, context) { + expect(actionSpec.name).toEqual('Test'); + expect(actionSpec.displayName).toEqual(''); + expect(actionSpec.permissions).toEqual(OC.PERMISSION_READ); + expect(actionSpec.mime).toEqual('all'); + expect(isDefault).toEqual(false); + + expect(context.fileList).toEqual(fileList); + expect(context.$file[0]).toEqual($tr[0]); + + var $customEl = $('<a href="#"><span>blabli</span><span>blabla</span></a>'); + $tr.find('td:first').append($customEl); + return $customEl; + }, + actionHandler: actionStub + }); + FileActions.display($tr.find('td.filename'), true, fileList); + + var $actionEl = $tr.find('td:first .action-test'); + expect($actionEl.length).toEqual(1); + expect($actionEl.hasClass('action')).toEqual(true); + + $actionEl.click(); + expect(actionStub.calledOnce).toEqual(true); + expect(actionStub.getCall(0).args[0]).toEqual('testName.txt'); + }); + }); describe('merging', function() { var $tr; beforeEach(function() { diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php index a6b7555b376..f26eefa30e2 100644 --- a/apps/files_encryption/hooks/hooks.php +++ b/apps/files_encryption/hooks/hooks.php @@ -502,7 +502,7 @@ class Hooks { public static function preDisable($params) {
if ($params['app'] === 'files_encryption') {
- \OC_Preferences::deleteAppFromAllUsers('files_encryption');
+ \OC::$server->getConfig()->deleteAppFromAllUsers('files_encryption');
$session = new \OCA\Encryption\Session(new \OC\Files\View('/'));
$session->setInitialized(\OCA\Encryption\Session::NOT_INITIALIZED);
diff --git a/apps/files_encryption/l10n/da.js b/apps/files_encryption/l10n/da.js index eea2a08f83a..93c718357c9 100644 --- a/apps/files_encryption/l10n/da.js +++ b/apps/files_encryption/l10n/da.js @@ -24,6 +24,7 @@ OC.L10N.register( "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke kryptere denne fil, sandsynligvis fordi felen er delt. Bed venligst filens ejer om at dele den med dig på ny.", "Unknown error. Please check your system settings or contact your administrator" : "Ukendt fejl. Venligst tjek dine systemindstillinger eller kontakt din systemadministrator", "Missing requirements." : "Manglende betingelser.", + "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Sørg for at OpenSSL, sammen med PHP-udvidelsen, er aktiveret og korrekt konfigureret. Indtil videre er krypteringsprogrammet deaktiveret.", "Following users are not set up for encryption:" : "Følgende brugere er ikke sat op til kryptering:", "Initial encryption started... This can take some time. Please wait." : "Førstegangskrypteringen er påbegyndt... Dette kan tage nogen tid. Vent venligst.", "Initial encryption running... Please try again later." : "Kryptering foretages... Prøv venligst igen senere.", diff --git a/apps/files_encryption/l10n/da.json b/apps/files_encryption/l10n/da.json index 96d989ce7ba..cd77a31993e 100644 --- a/apps/files_encryption/l10n/da.json +++ b/apps/files_encryption/l10n/da.json @@ -22,6 +22,7 @@ "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke kryptere denne fil, sandsynligvis fordi felen er delt. Bed venligst filens ejer om at dele den med dig på ny.", "Unknown error. Please check your system settings or contact your administrator" : "Ukendt fejl. Venligst tjek dine systemindstillinger eller kontakt din systemadministrator", "Missing requirements." : "Manglende betingelser.", + "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Sørg for at OpenSSL, sammen med PHP-udvidelsen, er aktiveret og korrekt konfigureret. Indtil videre er krypteringsprogrammet deaktiveret.", "Following users are not set up for encryption:" : "Følgende brugere er ikke sat op til kryptering:", "Initial encryption started... This can take some time. Please wait." : "Førstegangskrypteringen er påbegyndt... Dette kan tage nogen tid. Vent venligst.", "Initial encryption running... Please try again later." : "Kryptering foretages... Prøv venligst igen senere.", diff --git a/apps/files_encryption/l10n/de.js b/apps/files_encryption/l10n/de.js index c6a61b3a232..9687e081c76 100644 --- a/apps/files_encryption/l10n/de.js +++ b/apps/files_encryption/l10n/de.js @@ -24,6 +24,7 @@ OC.L10N.register( "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte frage den Dateibesitzer, ob er die Datei nochmals mit Dir teilt.", "Unknown error. Please check your system settings or contact your administrator" : "Unbekannter Fehler. Bitte prüfe Deine Systemeinstellungen oder kontaktiere Deinen Administrator", "Missing requirements." : "Fehlende Vorraussetzungen", + "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Bitte stelle sicher, dass OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Die Verschlüsselungsanwendung ist vorerst deaktiviert.", "Following users are not set up for encryption:" : "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:", "Initial encryption started... This can take some time. Please wait." : "Initialverschlüsselung gestartet... Dies kann einige Zeit dauern. Bitte warten.", "Initial encryption running... Please try again later." : "Anfangsverschlüsselung läuft … Bitte versuche es später wieder.", diff --git a/apps/files_encryption/l10n/de.json b/apps/files_encryption/l10n/de.json index 4739c547537..5fc3fb822fd 100644 --- a/apps/files_encryption/l10n/de.json +++ b/apps/files_encryption/l10n/de.json @@ -22,6 +22,7 @@ "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte frage den Dateibesitzer, ob er die Datei nochmals mit Dir teilt.", "Unknown error. Please check your system settings or contact your administrator" : "Unbekannter Fehler. Bitte prüfe Deine Systemeinstellungen oder kontaktiere Deinen Administrator", "Missing requirements." : "Fehlende Vorraussetzungen", + "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Bitte stelle sicher, dass OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Die Verschlüsselungsanwendung ist vorerst deaktiviert.", "Following users are not set up for encryption:" : "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:", "Initial encryption started... This can take some time. Please wait." : "Initialverschlüsselung gestartet... Dies kann einige Zeit dauern. Bitte warten.", "Initial encryption running... Please try again later." : "Anfangsverschlüsselung läuft … Bitte versuche es später wieder.", diff --git a/apps/files_encryption/l10n/de_DE.js b/apps/files_encryption/l10n/de_DE.js index 5b5e12c78a4..01420b52e8d 100644 --- a/apps/files_encryption/l10n/de_DE.js +++ b/apps/files_encryption/l10n/de_DE.js @@ -24,6 +24,7 @@ OC.L10N.register( "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte fragen Sie den Dateibesitzer, dass er die Datei nochmals mit Ihnen teilt.", "Unknown error. Please check your system settings or contact your administrator" : "Unbekannter Fehler. Bitte prüfen Sie die Systemeinstellungen oder kontaktieren Sie Ihren Administrator", "Missing requirements." : "Fehlende Voraussetzungen", + "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Bitte stellen Sie sicher, dass OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Die Verschlüsselungsanwendung ist vorerst deaktiviert.", "Following users are not set up for encryption:" : "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:", "Initial encryption started... This can take some time. Please wait." : "Anfangsverschlüsselung gestartet … Dieses kann einige Zeit dauern. Bitte warten.", "Initial encryption running... Please try again later." : "Anfangsverschlüsselung läuft … Bitte versuchen Sie es später wieder.", diff --git a/apps/files_encryption/l10n/de_DE.json b/apps/files_encryption/l10n/de_DE.json index 8830cc6022d..9105dc1e4c3 100644 --- a/apps/files_encryption/l10n/de_DE.json +++ b/apps/files_encryption/l10n/de_DE.json @@ -22,6 +22,7 @@ "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Die Datei kann nicht entschlüsselt werden, da die Datei möglicherweise eine geteilte Datei ist. Bitte fragen Sie den Dateibesitzer, dass er die Datei nochmals mit Ihnen teilt.", "Unknown error. Please check your system settings or contact your administrator" : "Unbekannter Fehler. Bitte prüfen Sie die Systemeinstellungen oder kontaktieren Sie Ihren Administrator", "Missing requirements." : "Fehlende Voraussetzungen", + "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Bitte stellen Sie sicher, dass OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Die Verschlüsselungsanwendung ist vorerst deaktiviert.", "Following users are not set up for encryption:" : "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:", "Initial encryption started... This can take some time. Please wait." : "Anfangsverschlüsselung gestartet … Dieses kann einige Zeit dauern. Bitte warten.", "Initial encryption running... Please try again later." : "Anfangsverschlüsselung läuft … Bitte versuchen Sie es später wieder.", diff --git a/apps/files_encryption/l10n/sl.js b/apps/files_encryption/l10n/sl.js index 7969a6b5cfd..678709ab891 100644 --- a/apps/files_encryption/l10n/sl.js +++ b/apps/files_encryption/l10n/sl.js @@ -24,6 +24,7 @@ OC.L10N.register( "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Te datoteke ni mogoče šifrirati, ker je to najverjetneje datoteka v souporabi. Prosite lastnika datoteke, da jo da ponovno v souporabo.", "Unknown error. Please check your system settings or contact your administrator" : "Neznana napaka. Preverite nastavitve sistema ali pa stopite v stik s skrbnikom sistema.", "Missing requirements." : "Manjkajoče zahteve", + "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Preverite, ali je OpenSSL z ustrezno razširitvijo PHP omogočen in ustrezno nastavljen. Trenutno je šifriranje onemogočeno.", "Following users are not set up for encryption:" : "Navedeni uporabniki še nimajo nastavljenega šifriranja:", "Initial encryption started... This can take some time. Please wait." : "Začetno šifriranje je začeto ... Opravilo je lahko dolgotrajno.", "Initial encryption running... Please try again later." : "Začetno šifriranje je v teku ... Poskusite kasneje.", diff --git a/apps/files_encryption/l10n/sl.json b/apps/files_encryption/l10n/sl.json index 31c401df567..943fe8a96c1 100644 --- a/apps/files_encryption/l10n/sl.json +++ b/apps/files_encryption/l10n/sl.json @@ -22,6 +22,7 @@ "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Te datoteke ni mogoče šifrirati, ker je to najverjetneje datoteka v souporabi. Prosite lastnika datoteke, da jo da ponovno v souporabo.", "Unknown error. Please check your system settings or contact your administrator" : "Neznana napaka. Preverite nastavitve sistema ali pa stopite v stik s skrbnikom sistema.", "Missing requirements." : "Manjkajoče zahteve", + "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "Preverite, ali je OpenSSL z ustrezno razširitvijo PHP omogočen in ustrezno nastavljen. Trenutno je šifriranje onemogočeno.", "Following users are not set up for encryption:" : "Navedeni uporabniki še nimajo nastavljenega šifriranja:", "Initial encryption started... This can take some time. Please wait." : "Začetno šifriranje je začeto ... Opravilo je lahko dolgotrajno.", "Initial encryption running... Please try again later." : "Začetno šifriranje je v teku ... Poskusite kasneje.", diff --git a/apps/files_encryption/l10n/tr.js b/apps/files_encryption/l10n/tr.js index 56787c176f8..43a05a696a6 100644 --- a/apps/files_encryption/l10n/tr.js +++ b/apps/files_encryption/l10n/tr.js @@ -24,6 +24,7 @@ OC.L10N.register( "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan şifrelemesi kaldırılamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.", "Unknown error. Please check your system settings or contact your administrator" : "Bilinmeyen hata. Lütfen sistem ayarlarınızı denetleyin veya yöneticiniz ile iletişime geçin", "Missing requirements." : "Gereklilikler eksik.", + "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "OpenSSL'nin PHP uzantısıyla birlikte etkin ve düzgün yapılandırılmış olduğundan emin olun. Şimdilik şifreleme uygulaması devre dışı bırakıldı.", "Following users are not set up for encryption:" : "Aşağıdaki kullanıcılar şifreleme için ayarlanmamış:", "Initial encryption started... This can take some time. Please wait." : "İlk şifreleme başladı... Bu biraz zaman alabilir. Lütfen bekleyin.", "Initial encryption running... Please try again later." : "İlk şifreleme çalışıyor... Lütfen daha sonra tekrar deneyin.", diff --git a/apps/files_encryption/l10n/tr.json b/apps/files_encryption/l10n/tr.json index 92cd17c57b6..e78f8fb5203 100644 --- a/apps/files_encryption/l10n/tr.json +++ b/apps/files_encryption/l10n/tr.json @@ -22,6 +22,7 @@ "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan şifrelemesi kaldırılamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.", "Unknown error. Please check your system settings or contact your administrator" : "Bilinmeyen hata. Lütfen sistem ayarlarınızı denetleyin veya yöneticiniz ile iletişime geçin", "Missing requirements." : "Gereklilikler eksik.", + "Please make sure that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." : "OpenSSL'nin PHP uzantısıyla birlikte etkin ve düzgün yapılandırılmış olduğundan emin olun. Şimdilik şifreleme uygulaması devre dışı bırakıldı.", "Following users are not set up for encryption:" : "Aşağıdaki kullanıcılar şifreleme için ayarlanmamış:", "Initial encryption started... This can take some time. Please wait." : "İlk şifreleme başladı... Bu biraz zaman alabilir. Lütfen bekleyin.", "Initial encryption running... Please try again later." : "İlk şifreleme çalışıyor... Lütfen daha sonra tekrar deneyin.", diff --git a/apps/files_encryption/lib/util.php b/apps/files_encryption/lib/util.php index 42a7e20c87f..2b4a50d6e2b 100644 --- a/apps/files_encryption/lib/util.php +++ b/apps/files_encryption/lib/util.php @@ -225,7 +225,7 @@ class Util { */ public function recoveryEnabledForUser() { - $recoveryMode = \OC_Preferences::getValue($this->userId, 'files_encryption', 'recovery_enabled', '0'); + $recoveryMode = \OC::$server->getConfig()->getUserValue($this->userId, 'files_encryption', 'recovery_enabled', '0'); return ($recoveryMode === '1') ? true : false; @@ -239,7 +239,12 @@ class Util { public function setRecoveryForUser($enabled) { $value = $enabled ? '1' : '0'; - return \OC_Preferences::setValue($this->userId, 'files_encryption', 'recovery_enabled', $value); + try { + \OC::$server->getConfig()->setUserValue($this->userId, 'files_encryption', 'recovery_enabled', $value); + return true; + } catch(\OCP\PreConditionNotMetException $e) { + return false; + } } @@ -1102,7 +1107,12 @@ class Util { // convert to string if preCondition is set $preCondition = ($preCondition === null) ? null : (string)$preCondition; - return \OC_Preferences::setValue($this->userId, 'files_encryption', 'migration_status', (string)$status, $preCondition); + try { + \OC::$server->getConfig()->setUserValue($this->userId, 'files_encryption', 'migration_status', (string)$status, $preCondition); + return true; + } catch(\OCP\PreConditionNotMetException $e) { + return false; + } } @@ -1154,9 +1164,9 @@ class Util { $migrationStatus = false; if (\OCP\User::userExists($this->userId)) { - $migrationStatus = \OC_Preferences::getValue($this->userId, 'files_encryption', 'migration_status'); + $migrationStatus = \OC::$server->getConfig()->getUserValue($this->userId, 'files_encryption', 'migration_status', null); if ($migrationStatus === null) { - \OC_Preferences::setValue($this->userId, 'files_encryption', 'migration_status', (string)self::MIGRATION_OPEN); + \OC::$server->getConfig()->setUserValue($this->userId, 'files_encryption', 'migration_status', (string)self::MIGRATION_OPEN); $migrationStatus = self::MIGRATION_OPEN; } } diff --git a/apps/files_encryption/settings-personal.php b/apps/files_encryption/settings-personal.php index e9875518f67..1618bd8a4d9 100644 --- a/apps/files_encryption/settings-personal.php +++ b/apps/files_encryption/settings-personal.php @@ -28,7 +28,6 @@ $result = false; if ($recoveryAdminEnabled || !$privateKeySet) {
\OCP\Util::addscript('files_encryption', 'settings-personal');
- \OCP\Util::addScript('settings', 'personal');
$tmpl->assign('recoveryEnabled', $recoveryAdminEnabled);
$tmpl->assign('recoveryEnabledForUser', $recoveryEnabledForUser);
diff --git a/apps/files_encryption/tests/util.php b/apps/files_encryption/tests/util.php index 8d9aba423cd..2d58db2128c 100755 --- a/apps/files_encryption/tests/util.php +++ b/apps/files_encryption/tests/util.php @@ -617,7 +617,9 @@ class Test_Encryption_Util extends \OCA\Files_Encryption\Tests\TestCase { * @return boolean */ private function setMigrationStatus($status, $user) { - return \OC_Preferences::setValue($user, 'files_encryption', 'migration_status', (string)$status); + \OC::$server->getConfig()->setUserValue($user, 'files_encryption', 'migration_status', (string)$status); + // the update will definitely be executed -> return value is always true + return true; } } diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index ea14f7adbcf..707563096f8 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -177,3 +177,5 @@ OC_Mount_Config::registerBackend('\OC\Files\Storage\SFTP', array( 'password' => '*'.$l->t('Password'), 'root' => '&'.$l->t('Root')))); +$mountProvider = new \OCA\Files_External\Config\ConfigAdapter(); +\OC::$server->getMountProviderCollection()->registerProvider($mountProvider); diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js index 75d45ae1924..ee3d0b736da 100644 --- a/apps/files_external/js/settings.js +++ b/apps/files_external/js/settings.js @@ -468,14 +468,14 @@ $(document).ready(function() { OC.AppConfig.setValue('files_external', 'allow_user_mounting', 'no'); $('#userMountingBackends').addClass('hidden'); } - OC.msg.finishedSaving('#userMountingMsg', {status: 'success', data: {message: t('settings', 'Saved')}}); + OC.msg.finishedSaving('#userMountingMsg', {status: 'success', data: {message: t('files_external', 'Saved')}}); }); $('input[name="allowUserMountingBackends\\[\\]"]').bind('change', function() { OC.msg.startSaving('#userMountingMsg'); var userMountingBackends = $('input[name="allowUserMountingBackends\\[\\]"]:checked').map(function(){return $(this).val();}).get(); OC.AppConfig.setValue('files_external', 'user_mounting_backends', userMountingBackends.join()); - OC.msg.finishedSaving('#userMountingMsg', {status: 'success', data: {message: t('settings', 'Saved')}}); + OC.msg.finishedSaving('#userMountingMsg', {status: 'success', data: {message: t('files_external', 'Saved')}}); // disable allowUserMounting if(userMountingBackends.length === 0) { diff --git a/apps/files_external/l10n/ast.js b/apps/files_external/l10n/ast.js index d1d9f05b498..b8f3b1b366d 100644 --- a/apps/files_external/l10n/ast.js +++ b/apps/files_external/l10n/ast.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(grupu)", "Saved" : "Guardáu", "<b>Note:</b> " : "<b>Nota:</b> ", - " and " : "y", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de cURL en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de FTP en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" nun ta instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", diff --git a/apps/files_external/l10n/ast.json b/apps/files_external/l10n/ast.json index eeca7714b31..675949ef750 100644 --- a/apps/files_external/l10n/ast.json +++ b/apps/files_external/l10n/ast.json @@ -52,7 +52,6 @@ "(group)" : "(grupu)", "Saved" : "Guardáu", "<b>Note:</b> " : "<b>Nota:</b> ", - " and " : "y", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de cURL en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de FTP en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" nun ta instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", diff --git a/apps/files_external/l10n/bg_BG.js b/apps/files_external/l10n/bg_BG.js index 1944af503f1..6f292358c18 100644 --- a/apps/files_external/l10n/bg_BG.js +++ b/apps/files_external/l10n/bg_BG.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(група)", "Saved" : "Запазено", "<b>Note:</b> " : "<b>Бележка:</b> ", - " and " : "и", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> PHP подръжката на cURL не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> PHP подръжката на FTP не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" не е инсталиран. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", diff --git a/apps/files_external/l10n/bg_BG.json b/apps/files_external/l10n/bg_BG.json index 0564415c3d6..a068e6dce3d 100644 --- a/apps/files_external/l10n/bg_BG.json +++ b/apps/files_external/l10n/bg_BG.json @@ -52,7 +52,6 @@ "(group)" : "(група)", "Saved" : "Запазено", "<b>Note:</b> " : "<b>Бележка:</b> ", - " and " : "и", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> PHP подръжката на cURL не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> PHP подръжката на FTP не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" не е инсталиран. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", diff --git a/apps/files_external/l10n/bn_BD.js b/apps/files_external/l10n/bn_BD.js index 1afb8c66ee1..9d53353d107 100644 --- a/apps/files_external/l10n/bn_BD.js +++ b/apps/files_external/l10n/bn_BD.js @@ -33,7 +33,6 @@ OC.L10N.register( "(group)" : "(গোষ্ঠি)", "Saved" : "সংরক্ষণ করা হলো", "<b>Note:</b> " : "<b>দ্রষ্টব্য:</b> ", - " and " : "এবং", "Name" : "রাম", "External Storage" : "বাহ্যিক সংরক্ষণাগার", "Folder name" : "ফোলডারের নাম", diff --git a/apps/files_external/l10n/bn_BD.json b/apps/files_external/l10n/bn_BD.json index 975bf7cace7..907cc52d1b0 100644 --- a/apps/files_external/l10n/bn_BD.json +++ b/apps/files_external/l10n/bn_BD.json @@ -31,7 +31,6 @@ "(group)" : "(গোষ্ঠি)", "Saved" : "সংরক্ষণ করা হলো", "<b>Note:</b> " : "<b>দ্রষ্টব্য:</b> ", - " and " : "এবং", "Name" : "রাম", "External Storage" : "বাহ্যিক সংরক্ষণাগার", "Folder name" : "ফোলডারের নাম", diff --git a/apps/files_external/l10n/ca.js b/apps/files_external/l10n/ca.js index 4663654f63c..027abb551a3 100644 --- a/apps/files_external/l10n/ca.js +++ b/apps/files_external/l10n/ca.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(grup)", "Saved" : "Desat", "<b>Note:</b> " : "<b>Nota:</b> ", - " and " : "i", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El suport cURL no està activat o instal·lat a PHP. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El suport FTP per PHP no està activat o no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> %s no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", diff --git a/apps/files_external/l10n/ca.json b/apps/files_external/l10n/ca.json index 6bd1dcca39b..4ebb0c708a7 100644 --- a/apps/files_external/l10n/ca.json +++ b/apps/files_external/l10n/ca.json @@ -52,7 +52,6 @@ "(group)" : "(grup)", "Saved" : "Desat", "<b>Note:</b> " : "<b>Nota:</b> ", - " and " : "i", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El suport cURL no està activat o instal·lat a PHP. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El suport FTP per PHP no està activat o no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> %s no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js index 29af393cf07..8726da64020 100644 --- a/apps/files_external/l10n/cs_CZ.js +++ b/apps/files_external/l10n/cs_CZ.js @@ -54,7 +54,7 @@ OC.L10N.register( "(group)" : "(skupina)", "Saved" : "Uloženo", "<b>Note:</b> " : "<b>Poznámka:</b>", - " and " : "a", + "and" : "a", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> \"%s\" není instalováno. Není možné připojení %s. Prosím požádejte svého správce systému o instalaci.", diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json index f8acc7d469d..ce99130aef6 100644 --- a/apps/files_external/l10n/cs_CZ.json +++ b/apps/files_external/l10n/cs_CZ.json @@ -52,7 +52,7 @@ "(group)" : "(skupina)", "Saved" : "Uloženo", "<b>Note:</b> " : "<b>Poznámka:</b>", - " and " : "a", + "and" : "a", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> \"%s\" není instalováno. Není možné připojení %s. Prosím požádejte svého správce systému o instalaci.", diff --git a/apps/files_external/l10n/da.js b/apps/files_external/l10n/da.js index 5420917e2a9..6c1f15753b2 100644 --- a/apps/files_external/l10n/da.js +++ b/apps/files_external/l10n/da.js @@ -54,7 +54,7 @@ OC.L10N.register( "(group)" : "(gruppe)", "Saved" : "Gemt", "<b>Note:</b> " : "<b>Note:</b> ", - " and " : "og", + "and" : "og", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> cURL-understøttelsen i PHP er enten ikke aktiveret eller installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> FTP understøttelsen i PHP er enten ikke aktiveret eller installeret. Montering af %s er ikke muligt. Anmod din systemadministrator om at installere det.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> \"%s\" er ikke installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.", diff --git a/apps/files_external/l10n/da.json b/apps/files_external/l10n/da.json index d5c468a5d8e..732dcbfcb97 100644 --- a/apps/files_external/l10n/da.json +++ b/apps/files_external/l10n/da.json @@ -52,7 +52,7 @@ "(group)" : "(gruppe)", "Saved" : "Gemt", "<b>Note:</b> " : "<b>Note:</b> ", - " and " : "og", + "and" : "og", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> cURL-understøttelsen i PHP er enten ikke aktiveret eller installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> FTP understøttelsen i PHP er enten ikke aktiveret eller installeret. Montering af %s er ikke muligt. Anmod din systemadministrator om at installere det.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Bemærk:</b> \"%s\" er ikke installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.", diff --git a/apps/files_external/l10n/de.js b/apps/files_external/l10n/de.js index d67bda49b4d..11c64fcfd11 100644 --- a/apps/files_external/l10n/de.js +++ b/apps/files_external/l10n/de.js @@ -1,8 +1,8 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Anfrage-Token holen fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Zugriff-Token holen fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", + "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", + "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", "Please provide a valid Dropbox app key and secret." : "Bitte trage einen gültigen Dropbox-App-Key mit Secret ein.", "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", @@ -54,7 +54,7 @@ OC.L10N.register( "(group)" : "(group)", "Saved" : "Gespeichert", "<b>Note:</b> " : "<b>Hinweis:</b> ", - " and " : "und", + "and" : "und", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an Deinen Systemadministrator.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.", diff --git a/apps/files_external/l10n/de.json b/apps/files_external/l10n/de.json index fb4467cc1f2..42ba188d6d8 100644 --- a/apps/files_external/l10n/de.json +++ b/apps/files_external/l10n/de.json @@ -1,6 +1,6 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Anfrage-Token holen fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Zugriff-Token holen fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", + "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", + "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", "Please provide a valid Dropbox app key and secret." : "Bitte trage einen gültigen Dropbox-App-Key mit Secret ein.", "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", @@ -52,7 +52,7 @@ "(group)" : "(group)", "Saved" : "Gespeichert", "<b>Note:</b> " : "<b>Hinweis:</b> ", - " and " : "und", + "and" : "und", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an Deinen Systemadministrator.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.", diff --git a/apps/files_external/l10n/de_DE.js b/apps/files_external/l10n/de_DE.js index d12b171f639..dc28472740d 100644 --- a/apps/files_external/l10n/de_DE.js +++ b/apps/files_external/l10n/de_DE.js @@ -1,8 +1,8 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Anfrage-Token holen fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Zugriff-Token holen fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", + "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", + "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", "Please provide a valid Dropbox app key and secret." : "Bitte tragen Sie einen gültigen Dropbox-App-Key mit Secret ein.", "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", @@ -54,7 +54,7 @@ OC.L10N.register( "(group)" : "(group)", "Saved" : "Gespeichert", "<b>Note:</b> " : "<b>Hinweis:</b> ", - " and " : "und", + "and" : "und", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", diff --git a/apps/files_external/l10n/de_DE.json b/apps/files_external/l10n/de_DE.json index 43c24e0c94a..f252d9e7604 100644 --- a/apps/files_external/l10n/de_DE.json +++ b/apps/files_external/l10n/de_DE.json @@ -1,6 +1,6 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Anfrage-Token holen fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Zugriff-Token holen fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", + "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", + "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", "Please provide a valid Dropbox app key and secret." : "Bitte tragen Sie einen gültigen Dropbox-App-Key mit Secret ein.", "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", @@ -52,7 +52,7 @@ "(group)" : "(group)", "Saved" : "Gespeichert", "<b>Note:</b> " : "<b>Hinweis:</b> ", - " and " : "und", + "and" : "und", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Hinweis:</b> \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js index 28105a01d6b..0860e1998f7 100644 --- a/apps/files_external/l10n/el.js +++ b/apps/files_external/l10n/el.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(ομάδα)", "Saved" : "Αποθηκεύτηκαν", "<b>Note:</b> " : "<b>Σημείωση:</b> ", - " and " : "και", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη cURL στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη FTP στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση του %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η επέκταση \"%s\" δεν είναι εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json index 4be10506a02..e0cbb6c29a2 100644 --- a/apps/files_external/l10n/el.json +++ b/apps/files_external/l10n/el.json @@ -52,7 +52,6 @@ "(group)" : "(ομάδα)", "Saved" : "Αποθηκεύτηκαν", "<b>Note:</b> " : "<b>Σημείωση:</b> ", - " and " : "και", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη cURL στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η υποστήριξη FTP στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση του %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Σημείωση:</b> Η επέκταση \"%s\" δεν είναι εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", diff --git a/apps/files_external/l10n/en_GB.js b/apps/files_external/l10n/en_GB.js index 9f97d2c488c..f0bffb1b0f5 100644 --- a/apps/files_external/l10n/en_GB.js +++ b/apps/files_external/l10n/en_GB.js @@ -54,7 +54,7 @@ OC.L10N.register( "(group)" : "(group)", "Saved" : "Saved", "<b>Note:</b> " : "<b>Note:</b> ", - " and " : " and ", + "and" : "and", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it.", diff --git a/apps/files_external/l10n/en_GB.json b/apps/files_external/l10n/en_GB.json index d4e7ad11bbe..5e62649ab87 100644 --- a/apps/files_external/l10n/en_GB.json +++ b/apps/files_external/l10n/en_GB.json @@ -52,7 +52,7 @@ "(group)" : "(group)", "Saved" : "Saved", "<b>Note:</b> " : "<b>Note:</b> ", - " and " : " and ", + "and" : "and", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it.", diff --git a/apps/files_external/l10n/eo.js b/apps/files_external/l10n/eo.js index 1d5014cdf23..5e9b6aa2ae1 100644 --- a/apps/files_external/l10n/eo.js +++ b/apps/files_external/l10n/eo.js @@ -38,7 +38,6 @@ OC.L10N.register( "Personal" : "Persona", "Saved" : "Konservita", "<b>Note:</b> " : "<b>Noto:</b>", - " and " : "kaj", "Name" : "Nomo", "External Storage" : "Malena memorilo", "Folder name" : "Dosierujnomo", diff --git a/apps/files_external/l10n/eo.json b/apps/files_external/l10n/eo.json index cf63614fb88..79e4c5cbbfb 100644 --- a/apps/files_external/l10n/eo.json +++ b/apps/files_external/l10n/eo.json @@ -36,7 +36,6 @@ "Personal" : "Persona", "Saved" : "Konservita", "<b>Note:</b> " : "<b>Noto:</b>", - " and " : "kaj", "Name" : "Nomo", "External Storage" : "Malena memorilo", "Folder name" : "Dosierujnomo", diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js index 9306558b346..69911f82bc1 100644 --- a/apps/files_external/l10n/es.js +++ b/apps/files_external/l10n/es.js @@ -54,7 +54,7 @@ OC.L10N.register( "(group)" : "(grupo)", "Saved" : "Guardado", "<b>Note:</b> " : "<b>Nota:</b> ", - " and " : "y", + "and" : "y", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de cURL en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de FTP en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" no está instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.", diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json index 1d9067106eb..cadc03a0b74 100644 --- a/apps/files_external/l10n/es.json +++ b/apps/files_external/l10n/es.json @@ -52,7 +52,7 @@ "(group)" : "(grupo)", "Saved" : "Guardado", "<b>Note:</b> " : "<b>Nota:</b> ", - " and " : "y", + "and" : "y", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de cURL en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> El soporte de FTP en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" no está instalado. No se puede montar %s. Pídale al administrador de sistema que lo instale.", diff --git a/apps/files_external/l10n/et_EE.js b/apps/files_external/l10n/et_EE.js index 226190cb5f8..58daa2d3524 100644 --- a/apps/files_external/l10n/et_EE.js +++ b/apps/files_external/l10n/et_EE.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(grupp)", "Saved" : "Salvestatud", "<b>Note:</b> " : "<b>Märkus:</b>", - " and " : "ja", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> cURL tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata cURL tugi.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> FTP tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata FTP tugi.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> \"%s\" pole paigaldatud. Hoidla %s ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata vajalik tugi.", diff --git a/apps/files_external/l10n/et_EE.json b/apps/files_external/l10n/et_EE.json index a32eca9e8c2..4b401317634 100644 --- a/apps/files_external/l10n/et_EE.json +++ b/apps/files_external/l10n/et_EE.json @@ -52,7 +52,6 @@ "(group)" : "(grupp)", "Saved" : "Salvestatud", "<b>Note:</b> " : "<b>Märkus:</b>", - " and " : "ja", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> cURL tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata cURL tugi.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> FTP tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata FTP tugi.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Märkus:</b> \"%s\" pole paigaldatud. Hoidla %s ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata vajalik tugi.", diff --git a/apps/files_external/l10n/eu.js b/apps/files_external/l10n/eu.js index db535359491..b8da6ca803e 100644 --- a/apps/files_external/l10n/eu.js +++ b/apps/files_external/l10n/eu.js @@ -53,7 +53,6 @@ OC.L10N.register( "(group)" : "(taldea)", "Saved" : "Gordeta", "<b>Note:</b> " : "<b>Oharra:</b>", - " and " : "eta", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b> :PHPko cURL euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b> :PHPko FTP euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b>\"%s\" euskarria ez dago instalatuta Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", diff --git a/apps/files_external/l10n/eu.json b/apps/files_external/l10n/eu.json index a5c642bd772..9469c7fc45c 100644 --- a/apps/files_external/l10n/eu.json +++ b/apps/files_external/l10n/eu.json @@ -51,7 +51,6 @@ "(group)" : "(taldea)", "Saved" : "Gordeta", "<b>Note:</b> " : "<b>Oharra:</b>", - " and " : "eta", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b> :PHPko cURL euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b> :PHPko FTP euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Oharra:</b>\"%s\" euskarria ez dago instalatuta Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", diff --git a/apps/files_external/l10n/fi_FI.js b/apps/files_external/l10n/fi_FI.js index f7895f842c3..37057c19ce1 100644 --- a/apps/files_external/l10n/fi_FI.js +++ b/apps/files_external/l10n/fi_FI.js @@ -19,8 +19,10 @@ OC.L10N.register( "Secure ftps://" : "Salattu ftps://", "Timeout of HTTP requests in seconds" : "HTTP-pyyntöjen aikakatkaisu sekunneissa", "Share" : "Jaa", + "Username as share" : "Käyttäjänimi jakona", "URL" : "Verkko-osoite", "Secure https://" : "Salattu https://", + "Remote subfolder" : "Etäalikansio", "Access granted" : "Pääsy sallittu", "Error configuring Dropbox storage" : "Virhe Dropbox levyn asetuksia tehtäessä", "Grant access" : "Salli pääsy", @@ -31,7 +33,7 @@ OC.L10N.register( "(group)" : "(ryhmä)", "Saved" : "Tallennettu", "<b>Note:</b> " : "<b>Huomio:</b> ", - " and " : "ja", + "and" : "ja", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> PHP:n cURL-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan cURL-tuki käyttöön.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> \"%s\" ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää asentamaan puuttuva kohde.", diff --git a/apps/files_external/l10n/fi_FI.json b/apps/files_external/l10n/fi_FI.json index dad235128fb..bf127e1b9b2 100644 --- a/apps/files_external/l10n/fi_FI.json +++ b/apps/files_external/l10n/fi_FI.json @@ -17,8 +17,10 @@ "Secure ftps://" : "Salattu ftps://", "Timeout of HTTP requests in seconds" : "HTTP-pyyntöjen aikakatkaisu sekunneissa", "Share" : "Jaa", + "Username as share" : "Käyttäjänimi jakona", "URL" : "Verkko-osoite", "Secure https://" : "Salattu https://", + "Remote subfolder" : "Etäalikansio", "Access granted" : "Pääsy sallittu", "Error configuring Dropbox storage" : "Virhe Dropbox levyn asetuksia tehtäessä", "Grant access" : "Salli pääsy", @@ -29,7 +31,7 @@ "(group)" : "(ryhmä)", "Saved" : "Tallennettu", "<b>Note:</b> " : "<b>Huomio:</b> ", - " and " : "ja", + "and" : "ja", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> PHP:n cURL-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan cURL-tuki käyttöön.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Huomio:</b> \"%s\" ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää asentamaan puuttuva kohde.", diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js index 5885af24199..180aff63e40 100644 --- a/apps/files_external/l10n/fr.js +++ b/apps/files_external/l10n/fr.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(groupe)", "Saved" : "Sauvegarder", "<b>Note:</b> " : "<b>Attention :</b>", - " and " : "et", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention :</b> La prise en charge de cURL par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention : </b> La prise en charge du FTP par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention : </b> \"%s\" n'est pas installé. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json index e1e2b2eccc4..25441ee90be 100644 --- a/apps/files_external/l10n/fr.json +++ b/apps/files_external/l10n/fr.json @@ -52,7 +52,6 @@ "(group)" : "(groupe)", "Saved" : "Sauvegarder", "<b>Note:</b> " : "<b>Attention :</b>", - " and " : "et", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention :</b> La prise en charge de cURL par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention : </b> La prise en charge du FTP par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Attention : </b> \"%s\" n'est pas installé. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", diff --git a/apps/files_external/l10n/gl.js b/apps/files_external/l10n/gl.js index 1ce8dfcc783..704be53702a 100644 --- a/apps/files_external/l10n/gl.js +++ b/apps/files_external/l10n/gl.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(grupo)", "Saved" : "Gardado", "<b>Note:</b> " : "<b>Nota:</b> ", - " and " : "e", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> A compatibilidade de cURL en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> A compatibilidade de FTP en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> «%s» non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", diff --git a/apps/files_external/l10n/gl.json b/apps/files_external/l10n/gl.json index 10a8e4d467b..5039cde2c4b 100644 --- a/apps/files_external/l10n/gl.json +++ b/apps/files_external/l10n/gl.json @@ -52,7 +52,6 @@ "(group)" : "(grupo)", "Saved" : "Gardado", "<b>Note:</b> " : "<b>Nota:</b> ", - " and " : "e", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> A compatibilidade de cURL en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> A compatibilidade de FTP en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> «%s» non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", diff --git a/apps/files_external/l10n/hr.js b/apps/files_external/l10n/hr.js index c166841d9c6..8c595cae15e 100644 --- a/apps/files_external/l10n/hr.js +++ b/apps/files_external/l10n/hr.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(grupa)", "Saved" : "Spremljeno", "<b>Note:</b> " : "<b>Bilješka:</b>", - " and " : " i ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> Podrška cURL u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svog administratora sustava da je instalira.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> Podrška FTP u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svotg administratora sustava da je instalira.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" nije instaliran. Postavljanje %s nije moguće. Molimo zamolitesvog administratora sustava da ga instalira.", diff --git a/apps/files_external/l10n/hr.json b/apps/files_external/l10n/hr.json index 069af3fa6c8..f2159e72bf4 100644 --- a/apps/files_external/l10n/hr.json +++ b/apps/files_external/l10n/hr.json @@ -52,7 +52,6 @@ "(group)" : "(grupa)", "Saved" : "Spremljeno", "<b>Note:</b> " : "<b>Bilješka:</b>", - " and " : " i ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> Podrška cURL u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svog administratora sustava da je instalira.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> Podrška FTP u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svotg administratora sustava da je instalira.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Note:</b> \"%s\" nije instaliran. Postavljanje %s nije moguće. Molimo zamolitesvog administratora sustava da ga instalira.", diff --git a/apps/files_external/l10n/id.js b/apps/files_external/l10n/id.js index 8b0f4f28fbc..4a7991641c1 100644 --- a/apps/files_external/l10n/id.js +++ b/apps/files_external/l10n/id.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(grup)", "Saved" : "Disimpan", "<b>Note:</b> " : "<b>Catatan:</b> ", - " and " : "dan", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> \"%s\" belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", diff --git a/apps/files_external/l10n/id.json b/apps/files_external/l10n/id.json index 8f8179d7627..67389e54d15 100644 --- a/apps/files_external/l10n/id.json +++ b/apps/files_external/l10n/id.json @@ -52,7 +52,6 @@ "(group)" : "(grup)", "Saved" : "Disimpan", "<b>Note:</b> " : "<b>Catatan:</b> ", - " and " : "dan", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> \"%s\" belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js index 5834ff25f0b..a7bf4c37fcd 100644 --- a/apps/files_external/l10n/it.js +++ b/apps/files_external/l10n/it.js @@ -54,7 +54,7 @@ OC.L10N.register( "(group)" : "(gruppo)", "Saved" : "Salvato", "<b>Note:</b> " : "<b>Nota:</b>", - " and " : "e", + "and" : "e", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> il supporto a cURL di PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> il supporto a FTP in PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" non è installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json index b780cae57a6..bd7a62bb9bb 100644 --- a/apps/files_external/l10n/it.json +++ b/apps/files_external/l10n/it.json @@ -52,7 +52,7 @@ "(group)" : "(gruppo)", "Saved" : "Salvato", "<b>Note:</b> " : "<b>Nota:</b>", - " and " : "e", + "and" : "e", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> il supporto a cURL di PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> il supporto a FTP in PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" non è installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js index d4ef6347664..fd1285c04cc 100644 --- a/apps/files_external/l10n/ja.js +++ b/apps/files_external/l10n/ja.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(グループ)", "Saved" : "保存されました", "<b>Note:</b> " : "<b>注意:</b> ", - " and " : "と", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにcURLのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにFTPのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> \"%s\" がインストールされていません。%sをマウントできません。このシステムの管理者にインストールをお願いしてください。", diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json index d630e19904d..df7332347de 100644 --- a/apps/files_external/l10n/ja.json +++ b/apps/files_external/l10n/ja.json @@ -52,7 +52,6 @@ "(group)" : "(グループ)", "Saved" : "保存されました", "<b>Note:</b> " : "<b>注意:</b> ", - " and " : "と", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにcURLのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにFTPのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> \"%s\" がインストールされていません。%sをマウントできません。このシステムの管理者にインストールをお願いしてください。", diff --git a/apps/files_external/l10n/nb_NO.js b/apps/files_external/l10n/nb_NO.js index ebf113068a2..c04dccf75fa 100644 --- a/apps/files_external/l10n/nb_NO.js +++ b/apps/files_external/l10n/nb_NO.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(gruppe)", "Saved" : "Lagret", "<b>Note:</b> " : "<b>Merk:</b> ", - " and " : " og ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> Støtte for cURL i PHP er ikke aktivert eller installert. Oppkobling av %s er ikke mulig. Be systemadministratoren om å installere det.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> FTP-støtte i PHP er ikke slått på eller installert. Kan ikke koble opp %s. Ta kontakt med systemadministratoren for å installere det.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> \"%s\" er ikke installert. Oppkobling av %s er ikke mulig. Spør systemadministratoren om å installere det.", diff --git a/apps/files_external/l10n/nb_NO.json b/apps/files_external/l10n/nb_NO.json index b9b736fb13a..f6aaf962872 100644 --- a/apps/files_external/l10n/nb_NO.json +++ b/apps/files_external/l10n/nb_NO.json @@ -52,7 +52,6 @@ "(group)" : "(gruppe)", "Saved" : "Lagret", "<b>Note:</b> " : "<b>Merk:</b> ", - " and " : " og ", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> Støtte for cURL i PHP er ikke aktivert eller installert. Oppkobling av %s er ikke mulig. Be systemadministratoren om å installere det.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> FTP-støtte i PHP er ikke slått på eller installert. Kan ikke koble opp %s. Ta kontakt med systemadministratoren for å installere det.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Merk:</b> \"%s\" er ikke installert. Oppkobling av %s er ikke mulig. Spør systemadministratoren om å installere det.", diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js index 0dcbe8556a3..3afe1ce6b14 100644 --- a/apps/files_external/l10n/nl.js +++ b/apps/files_external/l10n/nl.js @@ -54,7 +54,7 @@ OC.L10N.register( "(group)" : "(groep)", "Saved" : "Bewaard", "<b>Note:</b> " : "<b>Let op:</b> ", - " and " : "en", + "and" : "en", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw systeembeheerder dit te installeren.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder dit te installeren.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> \"%s\" is niet geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder om dit te installeren.", diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json index 135aea89664..9cf4cc6b6f7 100644 --- a/apps/files_external/l10n/nl.json +++ b/apps/files_external/l10n/nl.json @@ -52,7 +52,7 @@ "(group)" : "(groep)", "Saved" : "Bewaard", "<b>Note:</b> " : "<b>Let op:</b> ", - " and " : "en", + "and" : "en", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw systeembeheerder dit te installeren.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder dit te installeren.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Let op:</b> \"%s\" is niet geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder om dit te installeren.", diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js index a20f61c4677..6112182db3d 100644 --- a/apps/files_external/l10n/pl.js +++ b/apps/files_external/l10n/pl.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(grupa)", "Saved" : "Zapisano", "<b>Note:</b> " : "<b>Uwaga:</b> ", - " and " : "oraz", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> Wsparcie dla cURL w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> Wsparcie dla FTP w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> \"%s\" nie jest zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json index c838595674d..d412d38c8df 100644 --- a/apps/files_external/l10n/pl.json +++ b/apps/files_external/l10n/pl.json @@ -52,7 +52,6 @@ "(group)" : "(grupa)", "Saved" : "Zapisano", "<b>Note:</b> " : "<b>Uwaga:</b> ", - " and " : "oraz", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> Wsparcie dla cURL w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> Wsparcie dla FTP w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Uwaga:</b> \"%s\" nie jest zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js index e9ec582e182..8bbcf728ad9 100644 --- a/apps/files_external/l10n/pt_BR.js +++ b/apps/files_external/l10n/pt_BR.js @@ -54,7 +54,7 @@ OC.L10N.register( "(group)" : "(grupo)", "Saved" : "Salvo", "<b>Note:</b> " : "<b>Nota:</b>", - " and " : "e", + "and" : "e", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> O suporte cURL do PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> O suporte FTP no PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" não está instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json index 9f0907b9d20..7cf03ec98d7 100644 --- a/apps/files_external/l10n/pt_BR.json +++ b/apps/files_external/l10n/pt_BR.json @@ -52,7 +52,7 @@ "(group)" : "(grupo)", "Saved" : "Salvo", "<b>Note:</b> " : "<b>Nota:</b>", - " and " : "e", + "and" : "e", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> O suporte cURL do PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> O suporte FTP no PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Nota:</b> \"%s\" não está instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", diff --git a/apps/files_external/l10n/pt_PT.js b/apps/files_external/l10n/pt_PT.js index 2d3f342e9e9..d2af54cfda9 100644 --- a/apps/files_external/l10n/pt_PT.js +++ b/apps/files_external/l10n/pt_PT.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(grupo)", "Saved" : "Guardado", "<b>Note:</b> " : "<b>Aviso:</b> ", - " and " : "e", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O cliente\"%s\" não está instalado. Não é possível montar \"%s\" . Peça ao seu administrador para instalar.", diff --git a/apps/files_external/l10n/pt_PT.json b/apps/files_external/l10n/pt_PT.json index cee9e1b7f1a..cb7411b9d33 100644 --- a/apps/files_external/l10n/pt_PT.json +++ b/apps/files_external/l10n/pt_PT.json @@ -52,7 +52,6 @@ "(group)" : "(grupo)", "Saved" : "Guardado", "<b>Note:</b> " : "<b>Aviso:</b> ", - " and " : "e", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O cliente\"%s\" não está instalado. Não é possível montar \"%s\" . Peça ao seu administrador para instalar.", diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js index 35eec150d01..37ec9648d44 100644 --- a/apps/files_external/l10n/ru.js +++ b/apps/files_external/l10n/ru.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(группа)", "Saved" : "Сохранено", "<b>Note:</b> " : "<b>Примечание:</b> ", - " and " : "и", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка cURL в PHP не включена или не установлена. Монтирование %s невозможно. Обратитесь к вашему системному администратору.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка FTP в PHP не включена или не установлена. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> \"%s\" не установлен. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.", diff --git a/apps/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json index 85b9bf38e4c..62c2b338d2f 100644 --- a/apps/files_external/l10n/ru.json +++ b/apps/files_external/l10n/ru.json @@ -52,7 +52,6 @@ "(group)" : "(группа)", "Saved" : "Сохранено", "<b>Note:</b> " : "<b>Примечание:</b> ", - " and " : "и", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка cURL в PHP не включена или не установлена. Монтирование %s невозможно. Обратитесь к вашему системному администратору.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> Поддержка FTP в PHP не включена или не установлена. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примечание:</b> \"%s\" не установлен. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.", diff --git a/apps/files_external/l10n/sk_SK.js b/apps/files_external/l10n/sk_SK.js index 636953c42ea..2a83a6d2330 100644 --- a/apps/files_external/l10n/sk_SK.js +++ b/apps/files_external/l10n/sk_SK.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(skupina)", "Saved" : "Uložené", "<b>Note:</b> " : "<b>Poznámka:</b> ", - " and " : "a", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> \"%s\" nie je nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", diff --git a/apps/files_external/l10n/sk_SK.json b/apps/files_external/l10n/sk_SK.json index 5d2ca0a95a0..ee47ebc7808 100644 --- a/apps/files_external/l10n/sk_SK.json +++ b/apps/files_external/l10n/sk_SK.json @@ -52,7 +52,6 @@ "(group)" : "(skupina)", "Saved" : "Uložené", "<b>Note:</b> " : "<b>Poznámka:</b> ", - " and " : "a", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> \"%s\" nie je nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", diff --git a/apps/files_external/l10n/sl.js b/apps/files_external/l10n/sl.js index 690fd9ae322..8effd328630 100644 --- a/apps/files_external/l10n/sl.js +++ b/apps/files_external/l10n/sl.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(skupina)", "Saved" : "Shranjeno", "<b>Note:</b> " : "<b>Opomba:</b> ", - " and " : "in", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Podpora za naslove cURL v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Podpora za protokol FTP v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Program \"%s\" ni nameščen. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", diff --git a/apps/files_external/l10n/sl.json b/apps/files_external/l10n/sl.json index c92e9a310d8..d1cc0330f93 100644 --- a/apps/files_external/l10n/sl.json +++ b/apps/files_external/l10n/sl.json @@ -52,7 +52,6 @@ "(group)" : "(skupina)", "Saved" : "Shranjeno", "<b>Note:</b> " : "<b>Opomba:</b> ", - " and " : "in", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Podpora za naslove cURL v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Podpora za protokol FTP v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Opomba:</b> Program \"%s\" ni nameščen. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", diff --git a/apps/files_external/l10n/sv.js b/apps/files_external/l10n/sv.js index cb12208c49a..3127293488a 100644 --- a/apps/files_external/l10n/sv.js +++ b/apps/files_external/l10n/sv.js @@ -48,7 +48,6 @@ OC.L10N.register( "System" : "System", "Saved" : "Sparad", "<b>Note:</b> " : "<b> OBS: </ b>", - " and " : "och", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> cURL stöd i PHP inte är aktiverat eller installeras. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> Den FTP-stöd i PHP inte är aktiverat eller installeras. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> \"%s\" är inte installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", diff --git a/apps/files_external/l10n/sv.json b/apps/files_external/l10n/sv.json index 12b9f36fd5d..a549ae33680 100644 --- a/apps/files_external/l10n/sv.json +++ b/apps/files_external/l10n/sv.json @@ -46,7 +46,6 @@ "System" : "System", "Saved" : "Sparad", "<b>Note:</b> " : "<b> OBS: </ b>", - " and " : "och", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> cURL stöd i PHP inte är aktiverat eller installeras. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> Den FTP-stöd i PHP inte är aktiverat eller installeras. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b> OBS: </ b> \"%s\" är inte installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js index cbe240b5818..74061e4e99b 100644 --- a/apps/files_external/l10n/tr.js +++ b/apps/files_external/l10n/tr.js @@ -54,7 +54,7 @@ OC.L10N.register( "(group)" : "(grup)", "Saved" : "Kaydedildi", "<b>Note:</b> " : "<b>Not:</b> ", - " and " : "ve", + "and" : "ve", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> \"%s\" kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json index 669608cca27..4c5c5d1a16c 100644 --- a/apps/files_external/l10n/tr.json +++ b/apps/files_external/l10n/tr.json @@ -52,7 +52,7 @@ "(group)" : "(grup)", "Saved" : "Kaydedildi", "<b>Note:</b> " : "<b>Not:</b> ", - " and " : "ve", + "and" : "ve", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> \"%s\" kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", diff --git a/apps/files_external/l10n/uk.js b/apps/files_external/l10n/uk.js index 7cf8533fd24..9d6548ab320 100644 --- a/apps/files_external/l10n/uk.js +++ b/apps/files_external/l10n/uk.js @@ -54,7 +54,6 @@ OC.L10N.register( "(group)" : "(група)", "Saved" : "Збереженно", "<b>Note:</b> " : "<b>Примітка:</b>", - " and " : "та", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку cURL в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку FTP в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> \"%s\" не встановлено. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", diff --git a/apps/files_external/l10n/uk.json b/apps/files_external/l10n/uk.json index 8ebccaf5c1c..d47a45bbaf4 100644 --- a/apps/files_external/l10n/uk.json +++ b/apps/files_external/l10n/uk.json @@ -52,7 +52,6 @@ "(group)" : "(група)", "Saved" : "Збереженно", "<b>Note:</b> " : "<b>Примітка:</b>", - " and " : "та", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку cURL в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> Підтримку FTP в PHP не ввімкнено чи не встановлена. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Примітка:</b> \"%s\" не встановлено. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", diff --git a/apps/files_external/l10n/zh_CN.js b/apps/files_external/l10n/zh_CN.js index 8c71da68db7..2b6f673e759 100644 --- a/apps/files_external/l10n/zh_CN.js +++ b/apps/files_external/l10n/zh_CN.js @@ -34,7 +34,6 @@ OC.L10N.register( "System" : "系统", "Saved" : "已保存", "<b>Note:</b> " : "<b>注意:</b>", - " and " : "和", "You don't have any external storages" : "您没有外部存储", "Name" : "名称", "Storage type" : "存储类型", diff --git a/apps/files_external/l10n/zh_CN.json b/apps/files_external/l10n/zh_CN.json index ba2ca93be86..a910b475d78 100644 --- a/apps/files_external/l10n/zh_CN.json +++ b/apps/files_external/l10n/zh_CN.json @@ -32,7 +32,6 @@ "System" : "系统", "Saved" : "已保存", "<b>Note:</b> " : "<b>注意:</b>", - " and " : "和", "You don't have any external storages" : "您没有外部存储", "Name" : "名称", "Storage type" : "存储类型", diff --git a/apps/files_external/l10n/zh_TW.js b/apps/files_external/l10n/zh_TW.js index a1f2d8a226d..f77bf964932 100644 --- a/apps/files_external/l10n/zh_TW.js +++ b/apps/files_external/l10n/zh_TW.js @@ -25,7 +25,6 @@ OC.L10N.register( "System" : "系統", "Saved" : "已儲存", "<b>Note:</b> " : "<b>警告:</b> ", - " and " : "與", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告:</b> PHP 並未啓用 Curl 的支援,因此無法掛載 %s 。請洽您的系統管理員將其安裝並啓用。", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告</b>:PHP 並未啓用 FTP 的支援,因此無法掛載 %s,請洽您的系統管理員將其安裝並啓用。", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告</b>並未安裝 \"%s\",因此無法掛載 %s。請洽您的系統管理員將其安裝並啓用。", diff --git a/apps/files_external/l10n/zh_TW.json b/apps/files_external/l10n/zh_TW.json index 03a20a3215e..25eb370a33a 100644 --- a/apps/files_external/l10n/zh_TW.json +++ b/apps/files_external/l10n/zh_TW.json @@ -23,7 +23,6 @@ "System" : "系統", "Saved" : "已儲存", "<b>Note:</b> " : "<b>警告:</b> ", - " and " : "與", "<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告:</b> PHP 並未啓用 Curl 的支援,因此無法掛載 %s 。請洽您的系統管理員將其安裝並啓用。", "<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告</b>:PHP 並未啓用 FTP 的支援,因此無法掛載 %s,請洽您的系統管理員將其安裝並啓用。", "<b>Note:</b> \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>警告</b>並未安裝 \"%s\",因此無法掛載 %s。請洽您的系統管理員將其安裝並啓用。", diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php index 9400bbdedc0..b4ab8b70f33 100644 --- a/apps/files_external/lib/config.php +++ b/apps/files_external/lib/config.php @@ -103,22 +103,6 @@ class OC_Mount_Config { * @param array $data */ public static function initMountPointsHook($data) { - $mountPoints = self::getAbsoluteMountPoints($data['user']); - $loader = \OC\Files\Filesystem::getLoader(); - $manager = \OC\Files\Filesystem::getMountManager(); - foreach ($mountPoints as $mountPoint => $options) { - if (isset($options['options']['objectstore'])) { - $objectClass = $options['options']['objectstore']['class']; - $options['options']['objectstore'] = new $objectClass($options['options']['objectstore']); - } - if (isset($options['personal']) && $options['personal']) { - $mount = new \OCA\Files_External\PersonalMount($options['class'], $mountPoint, $options['options'], $loader); - } else{ - $mount = new \OC\Files\Mount\Mount($options['class'], $mountPoint, $options['options'], $loader); - } - $manager->addMount($mount); - } - if ($data['user']) { $user = \OC::$server->getUserManager()->get($data['user']); if (!$user) { @@ -729,7 +713,7 @@ class OC_Mount_Config { $backends = ''; for ($i = 0; $i < $dependencyGroupCount; $i++) { if ($i > 0 && $i === $dependencyGroupCount - 1) { - $backends .= $l->t(' and '); + $backends .= ' '.$l->t('and').' '; } elseif ($i > 0) { $backends .= ', '; } diff --git a/apps/files_external/lib/config/configadapter.php b/apps/files_external/lib/config/configadapter.php new file mode 100644 index 00000000000..6294e27a774 --- /dev/null +++ b/apps/files_external/lib/config/configadapter.php @@ -0,0 +1,44 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCA\Files_External\Config; + +use OC\Files\Mount\MountPoint; +use OCP\Files\Storage\IStorageFactory; +use OCA\Files_External\PersonalMount; +use OCP\Files\Config\IMountProvider; +use OCP\IUser; + +/** + * Make the old files_external config work with the new public mount config api + */ +class ConfigAdapter implements IMountProvider { + /** + * Get all mountpoints applicable for the user + * + * @param \OCP\IUser $user + * @param \OCP\Files\Storage\IStorageFactory $loader + * @return \OCP\Files\Mount\IMountPoint[] + */ + public function getMountsForUser(IUser $user, IStorageFactory $loader) { + $mountPoints = \OC_Mount_Config::getAbsoluteMountPoints($user->getUID()); + $mounts = array(); + foreach ($mountPoints as $mountPoint => $options) { + if (isset($options['options']['objectstore'])) { + $objectClass = $options['options']['objectstore']['class']; + $options['options']['objectstore'] = new $objectClass($options['options']['objectstore']); + } + if (isset($options['personal']) && $options['personal']) { + $mounts[] = new PersonalMount($options['class'], $mountPoint, $options['options'], $loader); + } else { + $mounts[] = new MountPoint($options['class'], $mountPoint, $options['options'], $loader); + } + } + return $mounts; + } +} diff --git a/apps/files_external/lib/personalmount.php b/apps/files_external/lib/personalmount.php index 708128d644a..0c741179139 100644 --- a/apps/files_external/lib/personalmount.php +++ b/apps/files_external/lib/personalmount.php @@ -8,13 +8,13 @@ namespace OCA\Files_External; -use OC\Files\Mount\Mount; +use OC\Files\Mount\MountPoint; use OC\Files\Mount\MoveableMount; /** * Person mount points can be moved by the user */ -class PersonalMount extends Mount implements MoveableMount { +class PersonalMount extends MountPoint implements MoveableMount { /** * Move the mount point to $target * diff --git a/apps/files_sharing/lib/api.php b/apps/files_sharing/api/local.php index 8556036f118..d9291c29f61 100644 --- a/apps/files_sharing/lib/api.php +++ b/apps/files_sharing/api/local.php @@ -1,6 +1,6 @@ <?php /** - * ownCloud + * ownCloud - OCS API for local shares * * @author Bjoern Schiessle * @copyright 2013 Bjoern Schiessle schiessle@owncloud.com @@ -20,9 +20,9 @@ * */ -namespace OCA\Files\Share; +namespace OCA\Files_Sharing\API; -class Api { +class Local { /** * get all shares diff --git a/apps/files_sharing/api/server2server.php b/apps/files_sharing/api/server2server.php new file mode 100644 index 00000000000..2949e2dd09c --- /dev/null +++ b/apps/files_sharing/api/server2server.php @@ -0,0 +1,224 @@ +<?php +/** + * ownCloud - OCS API for server-to-server shares + * + * @copyright (C) 2014 ownCloud, Inc. + * + * @author Bjoern Schiessle <schiessle@owncloud.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\Files_Sharing\API; + +class Server2Server { + + /** + * create a new share + * + * @param array $params + * @return \OC_OCS_Result + */ + public function createShare($params) { + + if (!$this->isS2SEnabled(true)) { + return \OC_OCS_Result(null, 503, 'Server does not support server-to-server sharing'); + } + + $remote = isset($_POST['remote']) ? $_POST['remote'] : null; + $token = isset($_POST['token']) ? $_POST['token'] : null; + $name = isset($_POST['name']) ? $_POST['name'] : null; + $owner = isset($_POST['owner']) ? $_POST['owner'] : null; + $shareWith = isset($_POST['shareWith']) ? $_POST['shareWith'] : null; + $remoteId = isset($_POST['remote_id']) ? (int)$_POST['remote_id'] : null; + + if ($remote && $token && $name && $owner && $remoteId && $shareWith) { + + if(!\OCP\Util::isValidFileName($name)) { + return new \OC_OCS_Result(null, 400, 'The mountpoint name contains invalid characters.'); + } + + if (!\OCP\User::userExists($shareWith)) { + return new \OC_OCS_Result(null, 400, 'User does not exists'); + } + + \OC_Util::setupFS($shareWith); + + $mountPoint = \OC\Files\Filesystem::normalizePath('/' . $name); + $name = \OCP\Files::buildNotExistingFileName('/', $name); + + try { + \OCA\Files_Sharing\Helper::addServer2ServerShare($remote, $token, $name, $mountPoint, $owner, $shareWith, '', $remoteId); + + \OC::$server->getActivityManager()->publishActivity( + 'files_sharing', \OCA\Files_Sharing\Activity::SUBJECT_REMOTE_SHARE_RECEIVED, array($owner), '', array(), + '', '', $shareWith, \OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::PRIORITY_LOW); + + return new \OC_OCS_Result(); + } catch (\Exception $e) { + return new \OC_OCS_Result(null, 500, 'server can not add remote share, ' . $e->getMessage()); + } + } + + return new \OC_OCS_Result(null, 400, 'server can not add remote share, missing parameter'); + } + + /** + * accept server-to-server share + * + * @param array $params + * @return \OC_OCS_Result + */ + public function acceptShare($params) { + + if (!$this->isS2SEnabled()) { + return \OC_OCS_Result(null, 503, 'Server does not support server-to-server sharing'); + } + + $id = $params['id']; + $token = isset($_POST['token']) ? $_POST['token'] : null; + $share = self::getShare($id, $token); + + if ($share) { + list($file, $link) = self::getFile($share['uid_owner'], $share['file_source']); + + \OC::$server->getActivityManager()->publishActivity( + 'files_sharing', \OCA\Files_Sharing\Activity::SUBJECT_REMOTE_SHARE_ACCEPTED, array($share['share_with'], basename($file)), '', array(), + $file, $link, $share['uid_owner'], \OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::PRIORITY_LOW); + } + + return new \OC_OCS_Result(); + } + + /** + * decline server-to-server share + * + * @param array $params + * @return \OC_OCS_Result + */ + public function declineShare($params) { + + if (!$this->isS2SEnabled()) { + return \OC_OCS_Result(null, 503, 'Server does not support server-to-server sharing'); + } + + $id = $params['id']; + $token = isset($_POST['token']) ? $_POST['token'] : null; + + $share = $this->getShare($id, $token); + + if ($share) { + // userId must be set to the user who unshares + \OCP\Share::unshare($share['item_type'], $share['item_source'], $share['share_type'], null, $share['uid_owner']); + + list($file, $link) = $this->getFile($share['uid_owner'], $share['file_source']); + + \OC::$server->getActivityManager()->publishActivity( + 'files_sharing', \OCA\Files_Sharing\Activity::SUBJECT_REMOTE_SHARE_DECLINED, array($share['share_with'], basename($file)), '', array(), + $file, $link, $share['uid_owner'], \OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::PRIORITY_LOW); + } + + return new \OC_OCS_Result(); + } + + /** + * remove server-to-server share if it was unshared by the owner + * + * @param array $params + * @return \OC_OCS_Result + */ + public function unshare($params) { + + if (!$this->isS2SEnabled()) { + return \OC_OCS_Result(null, 503, 'Server does not support server-to-server sharing'); + } + + $id = $params['id']; + $token = isset($_POST['token']) ? $_POST['token'] : null; + + $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share_external` WHERE `remote_id` = ? AND `share_token` = ?'); + $query->execute(array($id, $token)); + $share = $query->fetchRow(); + + if ($token && $id && !empty($share)) { + + $owner = $share['owner'] . '@' . $share['remote']; + $mountpoint = $share['mountpoint']; + $user = $share['user']; + + $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share_external` WHERE `remote_id` = ? AND `share_token` = ?'); + $query->execute(array($id, $token)); + + \OC::$server->getActivityManager()->publishActivity( + 'files_sharing', \OCA\Files_Sharing\Activity::SUBJECT_REMOTE_SHARE_DECLINED, array($owner, $mountpoint), '', array(), + '', '', $user, \OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::PRIORITY_MEDIUM); + } + + return new \OC_OCS_Result(); + } + + /** + * get share + * + * @param int $id + * @param string $token + * @return array + */ + private function getShare($id, $token) { + $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share` WHERE `id` = ? AND `token` = ? AND `share_type` = ?'); + $query->execute(array($id, $token, \OCP\Share::SHARE_TYPE_REMOTE)); + $share = $query->fetchRow(); + + return $share; + } + + /** + * get file + * + * @param string $user + * @param int $fileSource + * @return array with internal path of the file and a absolute link to it + */ + private function getFile($user, $fileSource) { + \OC_Util::setupFS($user); + + $file = \OC\Files\Filesystem::getPath($fileSource); + $args = \OC\Files\Filesystem::is_dir($file) ? array('dir' => $file) : array('dir' => dirname($file), 'scrollto' => $file); + $link = \OCP\Util::linkToAbsolute('files', 'index.php', $args); + + return array($file, $link); + + } + + /** + * check if server-to-server sharing is enabled + * + * @param bool $incoming + * @return bool + */ + private function isS2SEnabled($incoming = false) { + + $result = \OCP\App::isEnabled('files_sharing'); + + if ($incoming) { + $result = $result && \OCA\Files_Sharing\Helper::isIncomingServer2serverShareEnabled(); + } else { + $result = $result && \OCA\Files_Sharing\Helper::isOutgoingServer2serverShareEnabled(); + } + + return $result; + } + +} diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php index a01f8d98c7d..329afa07519 100644 --- a/apps/files_sharing/appinfo/app.php +++ b/apps/files_sharing/appinfo/app.php @@ -8,7 +8,6 @@ OC::$CLASSPATH['OC\Files\Cache\Shared_Cache'] = 'files_sharing/lib/cache.php'; OC::$CLASSPATH['OC\Files\Cache\Shared_Permissions'] = 'files_sharing/lib/permissions.php'; OC::$CLASSPATH['OC\Files\Cache\Shared_Updater'] = 'files_sharing/lib/updater.php'; OC::$CLASSPATH['OC\Files\Cache\Shared_Watcher'] = 'files_sharing/lib/watcher.php'; -OC::$CLASSPATH['OCA\Files\Share\Api'] = 'files_sharing/lib/api.php'; OC::$CLASSPATH['OCA\Files\Share\Maintainer'] = 'files_sharing/lib/maintainer.php'; OC::$CLASSPATH['OCA\Files\Share\Proxy'] = 'files_sharing/lib/proxy.php'; @@ -28,6 +27,10 @@ OCP\Util::addScript('files_sharing', 'external'); OC_FileProxy::register(new OCA\Files\Share\Proxy()); +\OC::$server->getActivityManager()->registerExtension(function() { + return new \OCA\Files_Sharing\Activity(); +}); + $config = \OC::$server->getConfig(); if ($config->getAppValue('core', 'shareapi_enabled', 'yes') === 'yes') { diff --git a/apps/files_sharing/appinfo/database.xml b/apps/files_sharing/appinfo/database.xml index 73d64c527b7..38718ab0773 100644 --- a/apps/files_sharing/appinfo/database.xml +++ b/apps/files_sharing/appinfo/database.xml @@ -23,6 +23,12 @@ <comments>Url of the remove owncloud instance</comments> </field> <field> + <name>remote_id</name> + <type>integer</type> + <notnull>true</notnull> + <length>4</length> + </field> + <field> <name>share_token</name> <type>text</type> <notnull>true</notnull> @@ -32,7 +38,7 @@ <field> <name>password</name> <type>text</type> - <notnull>true</notnull> + <notnull>false</notnull> <length>64</length> <comments>Optional password for the public share</comments> </field> @@ -71,6 +77,13 @@ <length>32</length> <comments>md5 hash of the mountpoint</comments> </field> + <field> + <name>accepted</name> + <type>integer</type> + <default>0</default> + <notnull>true</notnull> + <length>4</length> + </field> <index> <name>sh_external_user</name> <field> diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index 68f33d94995..41bdf554fc5 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -22,25 +22,25 @@ $this->create('sharing_external_test_remote', '/testremote') OC_API::register('get', '/apps/files_sharing/api/v1/shares', - array('\OCA\Files\Share\Api', 'getAllShares'), + array('\OCA\Files_Sharing\API\Local', 'getAllShares'), 'files_sharing'); OC_API::register('post', '/apps/files_sharing/api/v1/shares', - array('\OCA\Files\Share\Api', 'createShare'), + array('\OCA\Files_Sharing\API\Local', 'createShare'), 'files_sharing'); OC_API::register('get', '/apps/files_sharing/api/v1/shares/{id}', - array('\OCA\Files\Share\Api', 'getShare'), + array('\OCA\Files_Sharing\API\Local', 'getShare'), 'files_sharing'); OC_API::register('put', '/apps/files_sharing/api/v1/shares/{id}', - array('\OCA\Files\Share\Api', 'updateShare'), + array('\OCA\Files_Sharing\API\Local', 'updateShare'), 'files_sharing'); OC_API::register('delete', '/apps/files_sharing/api/v1/shares/{id}', - array('\OCA\Files\Share\Api', 'deleteShare'), + array('\OCA\Files_Sharing\API\Local', 'deleteShare'), 'files_sharing'); diff --git a/apps/files_sharing/appinfo/version b/apps/files_sharing/appinfo/version index be14282b7ff..7d8568351b4 100644 --- a/apps/files_sharing/appinfo/version +++ b/apps/files_sharing/appinfo/version @@ -1 +1 @@ -0.5.3 +0.5.4 diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js index 7bbeefc9622..1b0082f6c1f 100644 --- a/apps/files_sharing/l10n/tr.js +++ b/apps/files_sharing/l10n/tr.js @@ -36,6 +36,6 @@ OC.L10N.register( "Direct link" : "Doğrudan bağlantı", "Server-to-Server Sharing" : "Sunucu-Sunucu Paylaşımı", "Allow users on this server to send shares to other servers" : "Bu sunucudaki kullanıcıların diğer sunuculara paylaşım göndermelerine izin ver", - "Allow users on this server to receive shares from other servers" : "Bu sunucudaki kullanıcıların diğer sunucularda paylaşım almalarına izin ver" + "Allow users on this server to receive shares from other servers" : "Bu sunucudaki kullanıcıların diğer sunuculardan paylaşım almalarına izin ver" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json index f91ab02288b..b9b4e46569e 100644 --- a/apps/files_sharing/l10n/tr.json +++ b/apps/files_sharing/l10n/tr.json @@ -34,6 +34,6 @@ "Direct link" : "Doğrudan bağlantı", "Server-to-Server Sharing" : "Sunucu-Sunucu Paylaşımı", "Allow users on this server to send shares to other servers" : "Bu sunucudaki kullanıcıların diğer sunuculara paylaşım göndermelerine izin ver", - "Allow users on this server to receive shares from other servers" : "Bu sunucudaki kullanıcıların diğer sunucularda paylaşım almalarına izin ver" + "Allow users on this server to receive shares from other servers" : "Bu sunucudaki kullanıcıların diğer sunuculardan paylaşım almalarına izin ver" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/lib/activity.php b/apps/files_sharing/lib/activity.php new file mode 100644 index 00000000000..0f7e8ab9b63 --- /dev/null +++ b/apps/files_sharing/lib/activity.php @@ -0,0 +1,165 @@ +<?php +/** + * ownCloud - publish activities + * + * @copyright (c) 2014, ownCloud Inc. + * + * @author Bjoern Schiessle <schiessle@owncloud.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + */ + +namespace OCA\Files_Sharing; + +class Activity implements \OCP\Activity\IExtension { + + const TYPE_REMOTE_SHARE = 'remote_share'; + const SUBJECT_REMOTE_SHARE_RECEIVED = 'remote_share_received'; + const SUBJECT_REMOTE_SHARE_ACCEPTED = 'remote_share_accepted'; + const SUBJECT_REMOTE_SHARE_DECLINED = 'remote_share_declined'; + const SUBJECT_REMOTE_SHARE_UNSHARED = 'remote_share_unshared'; + + /** + * The extension can return an array of additional notification types. + * If no additional types are to be added false is to be returned + * + * @param string $languageCode + * @return array|false + */ + public function getNotificationTypes($languageCode) { + $l = \OC::$server->getL10N('files_sharing', $languageCode); + return array(self::TYPE_REMOTE_SHARE => $l->t('A file or folder was shared from <strong>another server</strong>')); + } + + /** + * The extension can filter the types based on the filter if required. + * In case no filter is to be applied false is to be returned unchanged. + * + * @param array $types + * @param string $filter + * @return array|false + */ + public function filterNotificationTypes($types, $filter) { + return $types; + } + + /** + * For a given method additional types to be displayed in the settings can be returned. + * In case no additional types are to be added false is to be returned. + * + * @param string $method + * @return array|false + */ + public function getDefaultTypes($method) { + if ($method === 'stream') { + return array(self::TYPE_REMOTE_SHARE); + } + + return false; + } + + /** + * The extension can translate a given message to the requested languages. + * If no translation is available false is to be returned. + * + * @param string $app + * @param string $text + * @param array $params + * @param boolean $stripPath + * @param boolean $highlightParams + * @param string $languageCode + * @return string|false + */ + public function translate($app, $text, $params, $stripPath, $highlightParams, $languageCode) { + + $l = \OC::$server->getL10N('files_sharing', $languageCode); + + if (!$text) { + return ''; + } + + if ($app === 'files_sharing') { + switch ($text) { + case self::SUBJECT_REMOTE_SHARE_RECEIVED: + return $l->t('You received a new remote share from %s', $params)->__toString(); + case self::SUBJECT_REMOTE_SHARE_ACCEPTED: + return $l->t('%1$s accepted remote share <strong>%2$s</strong>', $params)->__toString(); + case self::SUBJECT_REMOTE_SHARE_DECLINED: + return $l->t('%1$s declined remote share <strong>%2$s</strong>', $params)->__toString(); + case self::SUBJECT_REMOTE_SHARE_UNSHARED: + return $l->t('%1$s unshared <strong>%2$s</strong>', $params)->__toString(); + } + } + } + + /** + * A string naming the css class for the icon to be used can be returned. + * If no icon is known for the given type false is to be returned. + * + * @param string $type + * @return string|false + */ + public function getTypeIcon($type) { + return 'icon-share'; + } + + /** + * The extension can define the parameter grouping by returning the index as integer. + * In case no grouping is required false is to be returned. + * + * @param array $activity + * @return integer|false + */ + public function getGroupParameter($activity) { + return false; + } + + /** + * The extension can define additional navigation entries. The array returned has to contain two keys 'top' + * and 'apps' which hold arrays with the relevant entries. + * If no further entries are to be added false is no be returned. + * + * @return array|false + */ + public function getNavigation() { + return false; + } + + /** + * The extension can check if a customer filter (given by a query string like filter=abc) is valid or not. + * + * @param string $filterValue + * @return boolean + */ + public function isFilterValid($filterValue) { + return false; + } + + /** + * For a given filter the extension can specify the sql query conditions including parameters for that query. + * In case the extension does not know the filter false is to be returned. + * The query condition and the parameters are to be returned as array with two elements. + * E.g. return array('`app` = ? and `message` like ?', array('mail', 'ownCloud%')); + * + * @param string $filter + * @return array|false + */ + public function getQueryForFilter($filter) { + if ($filter === 'shares') { + return array('`app` = ? and `type` = ?', array('files_sharing', self::TYPE_REMOTE_SHARE)); + } + return false; + } + +} diff --git a/apps/files_sharing/lib/external/manager.php b/apps/files_sharing/lib/external/manager.php index 8176302a86a..b52e1a5044e 100644 --- a/apps/files_sharing/lib/external/manager.php +++ b/apps/files_sharing/lib/external/manager.php @@ -24,7 +24,7 @@ class Manager { private $mountManager; /** - * @var \OC\Files\Storage\Loader + * @var \OC\Files\Storage\StorageFactory */ private $storageLoader; @@ -37,10 +37,10 @@ class Manager { * @param \OCP\IDBConnection $connection * @param \OC\Files\Mount\Manager $mountManager * @param \OC\User\Session $userSession - * @param \OC\Files\Storage\Loader $storageLoader + * @param \OC\Files\Storage\StorageFactory $storageLoader */ public function __construct(\OCP\IDBConnection $connection, \OC\Files\Mount\Manager $mountManager, - \OC\Files\Storage\Loader $storageLoader, \OC\User\Session $userSession) { + \OC\Files\Storage\StorageFactory $storageLoader, \OC\User\Session $userSession) { $this->connection = $connection; $this->mountManager = $mountManager; $this->userSession = $userSession; @@ -50,14 +50,8 @@ class Manager { public function addShare($remote, $token, $password, $name, $owner) { $user = $this->userSession->getUser(); if ($user) { - $query = $this->connection->prepare(' - INSERT INTO `*PREFIX*share_external` - (`remote`, `share_token`, `password`, `name`, `owner`, `user`, `mountpoint`, `mountpoint_hash`) - VALUES (?, ?, ?, ?, ?, ?, ?, ?) - '); $mountPoint = Filesystem::normalizePath('/' . $name); - $hash = md5($mountPoint); - $query->execute(array($remote, $token, $password, $name, $owner, $user->getUID(), $mountPoint, $hash)); + \OCA\Files_Sharing\Helper::addServer2ServerShare($remote, $token, $name, $mountPoint, $owner, $user->getUID(), $password, -1, true); $options = array( 'remote' => $remote, @@ -81,9 +75,9 @@ class Manager { $query = $this->connection->prepare(' SELECT `remote`, `share_token`, `password`, `mountpoint`, `owner` FROM `*PREFIX*share_external` - WHERE `user` = ? + WHERE `user` = ? AND `accepted` = ? '); - $query->execute(array($user->getUID())); + $query->execute(array($user->getUID(), 1)); while ($row = $query->fetch()) { $row['manager'] = $this; diff --git a/apps/files_sharing/lib/external/mount.php b/apps/files_sharing/lib/external/mount.php index e564dded69a..6fd9882cb2a 100644 --- a/apps/files_sharing/lib/external/mount.php +++ b/apps/files_sharing/lib/external/mount.php @@ -8,9 +8,10 @@ namespace OCA\Files_Sharing\External; +use OC\Files\Mount\MountPoint; use OC\Files\Mount\MoveableMount; -class Mount extends \OC\Files\Mount\Mount implements MoveableMount { +class Mount extends MountPoint implements MoveableMount { /** * @var \OCA\Files_Sharing\External\Manager @@ -22,7 +23,7 @@ class Mount extends \OC\Files\Mount\Mount implements MoveableMount { * @param string $mountpoint * @param array $options * @param \OCA\Files_Sharing\External\Manager $manager - * @param \OC\Files\Storage\Loader $loader + * @param \OC\Files\Storage\StorageFactory $loader */ public function __construct($storage, $mountpoint, $options, $manager, $loader = null) { parent::__construct($storage, $mountpoint, $options, $loader); diff --git a/apps/files_sharing/lib/helper.php b/apps/files_sharing/lib/helper.php index f7204a8db8f..c83debe952f 100644 --- a/apps/files_sharing/lib/helper.php +++ b/apps/files_sharing/lib/helper.php @@ -21,6 +21,30 @@ class Helper { } /** + * add server-to-server share to database + * + * @param string $remote + * @param string $token + * @param string $name + * @param string $mountPoint + * @param string $owner + * @param string $user + * @param string $password + * @param int $remoteId + * @param bool $accepted + */ + public static function addServer2ServerShare($remote, $token, $name, $mountPoint, $owner, $user, $password='', $remoteId=-1, $accepted = false) { + $accepted = $accepted ? 1 : 0; + $query = \OCP\DB::prepare(' + INSERT INTO `*PREFIX*share_external` + (`remote`, `share_token`, `password`, `name`, `owner`, `user`, `mountpoint`, `mountpoint_hash`, `accepted`, `remote_id`) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + '); + $hash = md5($mountPoint); + $query->execute(array($remote, $token, $password, $name, $owner, $user, $mountPoint, $hash, $accepted, $remoteId)); + } + + /** * Sets up the filesystem and user for public sharing * @param string $token string share token * @param string $relativePath optional path relative to the share diff --git a/apps/files_sharing/lib/sharedmount.php b/apps/files_sharing/lib/sharedmount.php index a93ecfb3b1b..d16dbf89ccf 100644 --- a/apps/files_sharing/lib/sharedmount.php +++ b/apps/files_sharing/lib/sharedmount.php @@ -8,13 +8,13 @@ namespace OCA\Files_Sharing; -use OC\Files\Mount\Mount; +use OC\Files\Mount\MountPoint; use OC\Files\Mount\MoveableMount; /** * Shared mount points can be moved by the user */ -class SharedMount extends Mount implements MoveableMount { +class SharedMount extends MountPoint implements MoveableMount { /** * @var \OC\Files\Storage\Shared $storage */ diff --git a/apps/files_sharing/tests/api.php b/apps/files_sharing/tests/api.php index 1259197423b..dd6de15010f 100644 --- a/apps/files_sharing/tests/api.php +++ b/apps/files_sharing/tests/api.php @@ -76,7 +76,7 @@ class Test_Files_Sharing_Api extends TestCase { $_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2; $_POST['shareType'] = \OCP\Share::SHARE_TYPE_USER; - $result = Share\Api::createShare(array()); + $result = \OCA\Files_Sharing\API\Local::createShare(array()); $this->assertTrue($result->succeeded()); $data = $result->getData(); @@ -93,7 +93,7 @@ class Test_Files_Sharing_Api extends TestCase { $_POST['path'] = $this->folder; $_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK; - $result = Share\Api::createShare(array()); + $result = \OCA\Files_Sharing\API\Local::createShare(array()); // check if API call was successful $this->assertTrue($result->succeeded()); @@ -129,7 +129,7 @@ class Test_Files_Sharing_Api extends TestCase { $_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK; - $result = Share\Api::createShare(array()); + $result = \OCA\Files_Sharing\API\Local::createShare(array()); $this->assertFalse($result->succeeded()); @@ -138,7 +138,7 @@ class Test_Files_Sharing_Api extends TestCase { $_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK; $_POST['password'] = ''; - $result = Share\Api::createShare(array()); + $result = \OCA\Files_Sharing\API\Local::createShare(array()); $this->assertFalse($result->succeeded()); // share with password should succeed @@ -146,7 +146,7 @@ class Test_Files_Sharing_Api extends TestCase { $_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK; $_POST['password'] = 'foo'; - $result = Share\Api::createShare(array()); + $result = \OCA\Files_Sharing\API\Local::createShare(array()); $this->assertTrue($result->succeeded()); $data = $result->getData(); @@ -157,7 +157,7 @@ class Test_Files_Sharing_Api extends TestCase { $params['_put'] = array(); $params['_put']['password'] = 'bar'; - $result = Share\Api::updateShare($params); + $result = \OCA\Files_Sharing\API\Local::updateShare($params); $this->assertTrue($result->succeeded()); // removing password should fail @@ -166,7 +166,7 @@ class Test_Files_Sharing_Api extends TestCase { $params['_put'] = array(); $params['_put']['password'] = ''; - $result = Share\Api::updateShare($params); + $result = \OCA\Files_Sharing\API\Local::updateShare($params); $this->assertFalse($result->succeeded()); // cleanup @@ -187,7 +187,7 @@ class Test_Files_Sharing_Api extends TestCase { $_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2; $_POST['shareType'] = \OCP\Share::SHARE_TYPE_USER; - $result = Share\Api::createShare(array()); + $result = \OCA\Files_Sharing\API\Local::createShare(array()); $this->assertTrue($result->succeeded()); $data = $result->getData(); @@ -213,7 +213,7 @@ class Test_Files_Sharing_Api extends TestCase { $_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2; $_POST['shareType'] = \OCP\Share::SHARE_TYPE_USER; - $result = Share\Api::createShare(array()); + $result = \OCA\Files_Sharing\API\Local::createShare(array()); $this->assertTrue($result->succeeded()); $data = $result->getData(); @@ -238,7 +238,7 @@ class Test_Files_Sharing_Api extends TestCase { $_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2; $_POST['shareType'] = \OCP\Share::SHARE_TYPE_USER; - $result = Share\Api::createShare(array()); + $result = \OCA\Files_Sharing\API\Local::createShare(array()); $this->assertFalse($result->succeeded()); @@ -259,7 +259,7 @@ class Test_Files_Sharing_Api extends TestCase { \OCP\Share::shareItem('file', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER, \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2, 31); - $result = Share\Api::getAllShares(array()); + $result = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result->succeeded()); @@ -286,7 +286,7 @@ class Test_Files_Sharing_Api extends TestCase { $_GET['path'] = $this->filename; - $result = Share\Api::getAllShares(array()); + $result = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result->succeeded()); @@ -323,7 +323,7 @@ class Test_Files_Sharing_Api extends TestCase { $_GET['path'] = $this->filename; - $result = Share\Api::getAllShares(array()); + $result = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result->succeeded()); @@ -333,7 +333,7 @@ class Test_Files_Sharing_Api extends TestCase { // now also ask for the reshares $_GET['reshares'] = 'true'; - $result = Share\Api::getAllShares(array()); + $result = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result->succeeded()); @@ -378,7 +378,7 @@ class Test_Files_Sharing_Api extends TestCase { // call getShare() with share ID $params = array('id' => $share['id']); - $result = Share\Api::getShare($params); + $result = \OCA\Files_Sharing\API\Local::getShare($params); $this->assertTrue($result->succeeded()); @@ -413,7 +413,7 @@ class Test_Files_Sharing_Api extends TestCase { $_GET['path'] = $this->folder; $_GET['subfiles'] = 'true'; - $result = Share\Api::getAllShares(array()); + $result = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result->succeeded()); @@ -470,7 +470,7 @@ class Test_Files_Sharing_Api extends TestCase { $_GET['path'] = $value['query']; $_GET['subfiles'] = 'true'; - $result = Share\Api::getAllShares(array()); + $result = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result->succeeded()); @@ -521,7 +521,7 @@ class Test_Files_Sharing_Api extends TestCase { $_GET['path'] = '/'; $_GET['subfiles'] = 'true'; - $result = Share\Api::getAllShares(array()); + $result = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result->succeeded()); @@ -583,7 +583,7 @@ class Test_Files_Sharing_Api extends TestCase { $_GET['path'] = '/'; $_GET['subfiles'] = 'true'; - $result = Share\Api::getAllShares(array()); + $result = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result->succeeded()); @@ -652,7 +652,7 @@ class Test_Files_Sharing_Api extends TestCase { $expectedPath1 = $this->subfolder; $_GET['path'] = $expectedPath1; - $result1 = Share\Api::getAllShares(array()); + $result1 = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result1->succeeded()); @@ -664,7 +664,7 @@ class Test_Files_Sharing_Api extends TestCase { $expectedPath2 = $this->folder . $this->subfolder; $_GET['path'] = $expectedPath2; - $result2 = Share\Api::getAllShares(array()); + $result2 = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result2->succeeded()); @@ -734,7 +734,7 @@ class Test_Files_Sharing_Api extends TestCase { $_GET['path'] = '/'; $_GET['subfiles'] = 'true'; - $result = Share\Api::getAllShares(array()); + $result = \OCA\Files_Sharing\API\Local::getAllShares(array()); $this->assertTrue($result->succeeded()); @@ -771,7 +771,7 @@ class Test_Files_Sharing_Api extends TestCase { $params = array('id' => 0); - $result = Share\Api::getShare($params); + $result = \OCA\Files_Sharing\API\Local::getShare($params); $this->assertEquals(404, $result->getStatusCode()); $meta = $result->getMeta(); @@ -831,7 +831,7 @@ class Test_Files_Sharing_Api extends TestCase { $params['_put'] = array(); $params['_put']['permissions'] = 1; - $result = Share\Api::updateShare($params); + $result = \OCA\Files_Sharing\API\Local::updateShare($params); $meta = $result->getMeta(); $this->assertTrue($result->succeeded(), $meta['message']); @@ -859,7 +859,7 @@ class Test_Files_Sharing_Api extends TestCase { $params['_put'] = array(); $params['_put']['password'] = 'foo'; - $result = Share\Api::updateShare($params); + $result = \OCA\Files_Sharing\API\Local::updateShare($params); $this->assertTrue($result->succeeded()); @@ -919,7 +919,7 @@ class Test_Files_Sharing_Api extends TestCase { $params['_put'] = array(); $params['_put']['publicUpload'] = 'true'; - $result = Share\Api::updateShare($params); + $result = \OCA\Files_Sharing\API\Local::updateShare($params); $this->assertTrue($result->succeeded()); @@ -977,7 +977,7 @@ class Test_Files_Sharing_Api extends TestCase { $params['_put'] = array(); $params['_put']['expireDate'] = $dateWithinRange->format('Y-m-d'); - $result = Share\Api::updateShare($params); + $result = \OCA\Files_Sharing\API\Local::updateShare($params); $this->assertTrue($result->succeeded()); @@ -995,7 +995,7 @@ class Test_Files_Sharing_Api extends TestCase { $params['_put'] = array(); $params['_put']['expireDate'] = $dateOutOfRange->format('Y-m-d'); - $result = Share\Api::updateShare($params); + $result = \OCA\Files_Sharing\API\Local::updateShare($params); $this->assertFalse($result->succeeded()); @@ -1033,7 +1033,7 @@ class Test_Files_Sharing_Api extends TestCase { $this->assertEquals(2, count($items)); foreach ($items as $item) { - $result = Share\Api::deleteShare(array('id' => $item['id'])); + $result = \OCA\Files_Sharing\API\Local::deleteShare(array('id' => $item['id'])); $this->assertTrue($result->succeeded()); } @@ -1072,7 +1072,7 @@ class Test_Files_Sharing_Api extends TestCase { $this->assertEquals(1, count($items)); $item = reset($items); - $result3 = Share\Api::deleteShare(array('id' => $item['id'])); + $result3 = \OCA\Files_Sharing\API\Local::deleteShare(array('id' => $item['id'])); $this->assertTrue($result3->succeeded()); diff --git a/apps/files_sharing/tests/server2server.php b/apps/files_sharing/tests/server2server.php new file mode 100644 index 00000000000..7aec0c4951f --- /dev/null +++ b/apps/files_sharing/tests/server2server.php @@ -0,0 +1,102 @@ +<?php +/** + * ownCloud - test server-to-server OCS API + * + * @copyright (c) ownCloud, Inc. + * + * @author Bjoern Schiessle <schiessle@owncloud.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +use OCA\Files_Sharing\Tests\TestCase; + +/** + * Class Test_Files_Sharing_Api + */ +class Test_Files_Sharing_S2S_OCS_API extends TestCase { + + const TEST_FOLDER_NAME = '/folder_share_api_test'; + + private $s2s; + + protected function setUp() { + parent::setUp(); + + self::loginHelper(self::TEST_FILES_SHARING_API_USER1); + \OCP\Share::registerBackend('test', 'Test_Share_Backend'); + + $this->s2s = new \OCA\Files_Sharing\API\Server2Server(); + } + + protected function tearDown() { + $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share_external`'); + $query->execute(); + + parent::tearDown(); + } + + /** + * @medium + */ + function testCreateShare() { + // simulate a post request + $_POST['remote'] = 'localhost'; + $_POST['token'] = 'token'; + $_POST['name'] = 'name'; + $_POST['owner'] = 'owner'; + $_POST['shareWith'] = self::TEST_FILES_SHARING_API_USER2; + $_POST['remote_id'] = 1; + + $result = $this->s2s->createShare(null); + + $this->assertTrue($result->succeeded()); + + $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share_external` WHERE `remote_id` = ?'); + $result = $query->execute(array('1')); + $data = $result->fetchRow(); + + $this->assertSame('localhost', $data['remote']); + $this->assertSame('token', $data['share_token']); + $this->assertSame('/name', $data['name']); + $this->assertSame('owner', $data['owner']); + $this->assertSame(self::TEST_FILES_SHARING_API_USER2, $data['user']); + $this->assertSame(1, (int)$data['remote_id']); + $this->assertSame(0, (int)$data['accepted']); + } + + + function testDeclineShare() { + $dummy = \OCP\DB::prepare(' + INSERT INTO `*PREFIX*share` + (`share_type`, `uid_owner`, `item_type`, `item_source`, `item_target`, `file_source`, `file_target`, `permissions`, `stime`, `token`) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + '); + $dummy->execute(array(\OCP\Share::SHARE_TYPE_REMOTE, self::TEST_FILES_SHARING_API_USER1, 'test', '1', '/1', '1', '/test.txt', '1', time(), 'token')); + + $verify = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share`'); + $result = $verify->execute(); + $data = $result->fetchAll(); + $this->assertSame(1, count($data)); + + $_POST['token'] = 'token'; + $this->s2s->declineShare(array('id' => $data[0]['id'])); + + $verify = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share`'); + $result = $verify->execute(); + $data = $result->fetchAll(); + $this->assertEmpty($data); + } +} diff --git a/apps/files_trashbin/js/app.js b/apps/files_trashbin/js/app.js index a9727542bad..72d9f4a6771 100644 --- a/apps/files_trashbin/js/app.js +++ b/apps/files_trashbin/js/app.js @@ -57,21 +57,34 @@ OCA.Trashbin.App = { ); }, t('files_trashbin', 'Restore')); - fileActions.register('all', 'Delete', OC.PERMISSION_READ, function() { - return OC.imagePath('core', 'actions/delete'); - }, function(filename, context) { - var fileList = context.fileList; - $('.tipsy').remove(); - var tr = fileList.findFileEl(filename); - var deleteAction = tr.children("td.date").children(".action.delete"); - deleteAction.removeClass('icon-delete').addClass('icon-loading-small'); - fileList.disableActions(); - $.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), { - files: JSON.stringify([filename]), - dir: fileList.getCurrentDirectory() - }, - _.bind(fileList._removeCallback, fileList) - ); + fileActions.registerAction({ + name: 'Delete', + displayName: '', + mime: 'all', + permissions: OC.PERMISSION_READ, + icon: function() { + return OC.imagePath('core', 'actions/delete'); + }, + render: function(actionSpec, isDefault, context) { + var $actionLink = fileActions._makeActionLink(actionSpec, context); + $actionLink.attr('original-title', t('files', 'Delete permanently')); + context.$file.find('td:last').append($actionLink); + return $actionLink; + }, + actionHandler: function(filename, context) { + var fileList = context.fileList; + $('.tipsy').remove(); + var tr = fileList.findFileEl(filename); + var deleteAction = tr.children("td.date").children(".action.delete"); + deleteAction.removeClass('icon-delete').addClass('icon-loading-small'); + fileList.disableActions(); + $.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), { + files: JSON.stringify([filename]), + dir: fileList.getCurrentDirectory() + }, + _.bind(fileList._removeCallback, fileList) + ); + } }); return fileActions; } diff --git a/apps/files_trashbin/js/filelist.js b/apps/files_trashbin/js/filelist.js index a3631a2d0fe..12f3f1982f6 100644 --- a/apps/files_trashbin/js/filelist.js +++ b/apps/files_trashbin/js/filelist.js @@ -268,6 +268,10 @@ updateStorageStatistics: function() { // no op because the trashbin doesn't have // storage info like free space / used space + }, + + isSelectedDeletable: function() { + return true; } }); diff --git a/apps/files_trashbin/lib/trashbin.php b/apps/files_trashbin/lib/trashbin.php index 661fc271dfc..b9d7a4aa6cf 100644 --- a/apps/files_trashbin/lib/trashbin.php +++ b/apps/files_trashbin/lib/trashbin.php @@ -621,11 +621,13 @@ class Trashbin { * @return int available free space for trash bin */ private static function calculateFreeSpace($trashbinSize, $user) { + $config = \OC::$server->getConfig(); + $softQuota = true; - $quota = \OC_Preferences::getValue($user, 'files', 'quota'); + $quota = $config->getUserValue($user, 'files', 'quota', null); $view = new \OC\Files\View('/' . $user); if ($quota === null || $quota === 'default') { - $quota = \OC::$server->getAppConfig()->getValue('files', 'default_quota'); + $quota = $config->getAppValue('files', 'default_quota', null); } if ($quota === null || $quota === 'none') { $quota = \OC\Files\Filesystem::free_space('/'); diff --git a/apps/files_versions/lib/storage.php b/apps/files_versions/lib/storage.php index 82e0ecc3e2f..3d30ada863a 100644 --- a/apps/files_versions/lib/storage.php +++ b/apps/files_versions/lib/storage.php @@ -479,15 +479,16 @@ class Storage { * Erase a file's versions which exceed the set quota */ private static function expire($filename, $versionsSize = null, $offset = 0) { - if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { + $config = \OC::$server->getConfig(); + if($config->getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { list($uid, $filename) = self::getUidAndFilename($filename); $versionsFileview = new \OC\Files\View('/'.$uid.'/files_versions'); // get available disk space for user $softQuota = true; - $quota = \OC_Preferences::getValue($uid, 'files', 'quota'); + $quota = $config->getUserValue($uid, 'files', 'quota', null); if ( $quota === null || $quota === 'default') { - $quota = \OC::$server->getAppConfig()->getValue('files', 'default_quota'); + $quota = $config->getAppValue('files', 'default_quota', null); } if ( $quota === null || $quota === 'none' ) { $quota = \OC\Files\Filesystem::free_space('/'); diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js index 6494fbb5142..b139c5b3fb4 100644 --- a/apps/user_ldap/l10n/ja.js +++ b/apps/user_ldap/l10n/ja.js @@ -33,6 +33,7 @@ OC.L10N.register( "Confirm Deletion" : "削除の確認", "_%s group found_::_%s groups found_" : ["%s グループが見つかりました"], "_%s user found_::_%s users found_" : ["%s ユーザーが見つかりました"], + "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "ユーザー表示名の属性を検出できませんでした。詳細設定で対応する属性を指定してください。", "Could not find the desired feature" : "望ましい機能は見つかりませんでした", "Invalid Host" : "無効なホスト", "Server" : "サーバー", diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json index 2e714112f19..25ad7f73bd8 100644 --- a/apps/user_ldap/l10n/ja.json +++ b/apps/user_ldap/l10n/ja.json @@ -31,6 +31,7 @@ "Confirm Deletion" : "削除の確認", "_%s group found_::_%s groups found_" : ["%s グループが見つかりました"], "_%s user found_::_%s users found_" : ["%s ユーザーが見つかりました"], + "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "ユーザー表示名の属性を検出できませんでした。詳細設定で対応する属性を指定してください。", "Could not find the desired feature" : "望ましい機能は見つかりませんでした", "Invalid Host" : "無効なホスト", "Server" : "サーバー", diff --git a/apps/user_ldap/l10n/sl.js b/apps/user_ldap/l10n/sl.js index 1437afcf5ba..04ea48e11ec 100644 --- a/apps/user_ldap/l10n/sl.js +++ b/apps/user_ldap/l10n/sl.js @@ -33,6 +33,7 @@ OC.L10N.register( "Confirm Deletion" : "Potrdi brisanje", "_%s group found_::_%s groups found_" : ["%s najdena skupina","%s najdeni skupini","%s najdene skupine","%s najdenih skupin"], "_%s user found_::_%s users found_" : ["%s najden uporabnik","%s najdena uporabnika","%s najdeni uporabniki","%s najdenih uporabnikov"], + "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Ni mogoče prebrati atributa prikaznega imena. Določiti ga je treba ročno med nastavitvami LDAP.", "Could not find the desired feature" : "Želene zmožnosti ni mogoče najti", "Invalid Host" : "Neveljaven gostitelj", "Server" : "Strežnik", diff --git a/apps/user_ldap/l10n/sl.json b/apps/user_ldap/l10n/sl.json index 56bf65210c3..ef7bdd1ce32 100644 --- a/apps/user_ldap/l10n/sl.json +++ b/apps/user_ldap/l10n/sl.json @@ -31,6 +31,7 @@ "Confirm Deletion" : "Potrdi brisanje", "_%s group found_::_%s groups found_" : ["%s najdena skupina","%s najdeni skupini","%s najdene skupine","%s najdenih skupin"], "_%s user found_::_%s users found_" : ["%s najden uporabnik","%s najdena uporabnika","%s najdeni uporabniki","%s najdenih uporabnikov"], + "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Ni mogoče prebrati atributa prikaznega imena. Določiti ga je treba ročno med nastavitvami LDAP.", "Could not find the desired feature" : "Želene zmožnosti ni mogoče najti", "Invalid Host" : "Neveljaven gostitelj", "Server" : "Strežnik", diff --git a/apps/user_ldap/lib/access.php b/apps/user_ldap/lib/access.php index 5a4d324fba2..76747be70cf 100644 --- a/apps/user_ldap/lib/access.php +++ b/apps/user_ldap/lib/access.php @@ -1085,12 +1085,18 @@ class Access extends LDAPUtility implements user\IUserTools { /** * escapes (user provided) parts for LDAP filter * @param string $input, the provided value + * @param bool $allowAsterisk wether in * at the beginning should be preserved * @return string the escaped string */ - public function escapeFilterPart($input) { + public function escapeFilterPart($input, $allowAsterisk = false) { + $asterisk = ''; + if($allowAsterisk && strlen($input) > 0 && $input[0] === '*') { + $asterisk = '*'; + $input = mb_substr($input, 1, null, 'UTF-8'); + } $search = array('*', '\\', '(', ')'); $replace = array('\\*', '\\\\', '\\(', '\\)'); - return str_replace($search, $replace, $input); + return $asterisk . str_replace($search, $replace, $input); } /** diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php index 38c32cbda4a..52278082312 100644 --- a/apps/user_ldap/user_ldap.php +++ b/apps/user_ldap/user_ldap.php @@ -93,7 +93,7 @@ class USER_LDAP extends BackendUtility implements \OCP\UserInterface { * Get a list of all users. */ public function getUsers($search = '', $limit = 10, $offset = 0) { - $search = $this->access->escapeFilterPart($search); + $search = $this->access->escapeFilterPart($search, true); $cachekey = 'getUsers-'.$search.'-'.$limit.'-'.$offset; //check if users are cached, if so return diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index f351c1b451a..db5365c124d 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -49,11 +49,16 @@ var afterCall = function(data, statusText, xhr) { var messages = []; if (xhr.status === 200 && data) { - if (!data.serverhasinternetconnection) { + if (!data.serverHasInternetConnection) { messages.push( t('core', 'This server has no working internet connection. This means that some of the features like mounting of external storage, notifications about updates or installation of 3rd party apps don´t work. Accessing files from remote and sending of notification emails might also not work. We suggest to enable internet connection for this server if you want to have all features.') ); } + if(!data.dataDirectoryProtected) { + messages.push( + t('core', 'Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root.') + ); + } } else { messages.push(t('core', 'Error occurred while checking server setup')); } diff --git a/lib/base.php b/lib/base.php index 7d70f98452f..af2474c7d76 100644 --- a/lib/base.php +++ b/lib/base.php @@ -188,7 +188,15 @@ class OC { public static function checkConfig() { $l = \OC::$server->getL10N('lib'); - $configFileWritable = file_exists(self::$configDir . "/config.php") && is_writable(self::$configDir . "/config.php"); + + // Create config in case it does not already exists + $configFilePath = self::$configDir .'/config.php'; + if(!file_exists($configFilePath)) { + @touch($configFilePath); + } + + // Check if config is writable + $configFileWritable = is_writable($configFilePath); if (!$configFileWritable && !OC_Helper::isReadOnlyConfigEnabled() || !$configFileWritable && \OCP\Util::needUpgrade()) { if (self::$CLI) { @@ -210,7 +218,7 @@ class OC { public static function checkInstalled() { // Redirect to installer if not installed - if (!\OC::$server->getConfig()->getSystemValue('installed', false) && OC::$SUBURI != '/index.php') { + if (!\OC::$server->getSystemConfig()->getValue('installed', false) && OC::$SUBURI != '/index.php') { if (OC::$CLI) { throw new Exception('Not installed'); } else { @@ -223,12 +231,12 @@ class OC { public static function checkSSL() { // redirect to https site if configured - if (\OC::$server->getConfig()->getSystemValue('forcessl', false)) { + if (\OC::$server->getSystemConfig()->getValue('forcessl', false)) { // Default HSTS policy $header = 'Strict-Transport-Security: max-age=31536000'; // If SSL for subdomains is enabled add "; includeSubDomains" to the header - if(\OC::$server->getConfig()->getSystemValue('forceSSLforSubdomains', false)) { + if(\OC::$server->getSystemConfig()->getValue('forceSSLforSubdomains', false)) { $header .= '; includeSubDomains'; } header($header); @@ -248,7 +256,7 @@ class OC { public static function checkMaintenanceMode() { // Allow ajax update script to execute without being stopped - if (\OC::$server->getConfig()->getSystemValue('maintenance', false) && OC::$SUBURI != '/core/ajax/update.php') { + if (\OC::$server->getSystemConfig()->getValue('maintenance', false) && OC::$SUBURI != '/core/ajax/update.php') { // send http status 503 header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); @@ -265,7 +273,7 @@ class OC { public static function checkSingleUserMode() { $user = OC_User::getUserSession()->getUser(); $group = OC_Group::getManager()->get('admin'); - if ($user && \OC::$server->getConfig()->getSystemValue('singleuser', false) && !$group->inGroup($user)) { + if ($user && \OC::$server->getSystemConfig()->getValue('singleuser', false) && !$group->inGroup($user)) { // send http status 503 header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); @@ -295,11 +303,11 @@ class OC { */ public static function checkUpgrade($showTemplate = true) { if (\OCP\Util::needUpgrade()) { - $config = \OC::$server->getConfig(); - if ($showTemplate && !$config->getSystemValue('maintenance', false)) { + $systemConfig = \OC::$server->getSystemConfig(); + if ($showTemplate && !$systemConfig->getValue('maintenance', false)) { $version = OC_Util::getVersion(); - $oldTheme = $config->getSystemValue('theme'); - $config->setSystemValue('theme', ''); + $oldTheme = $systemConfig->getValue('theme'); + $systemConfig->setValue('theme', ''); OC_Util::addScript('config'); // needed for web root OC_Util::addScript('update'); $tmpl = new OC_Template('', 'update.admin', 'guest'); @@ -353,7 +361,7 @@ class OC { OC_Util::addVendorScript('moment/min/moment-with-locales'); // avatars - if (\OC::$server->getConfig()->getSystemValue('enable_avatars', true) === true) { + if (\OC::$server->getSystemConfig()->getValue('enable_avatars', true) === true) { \OC_Util::addScript('placeholder'); \OC_Util::addVendorScript('blueimp-md5/js/md5'); \OC_Util::addScript('jquery.avatar'); @@ -549,10 +557,10 @@ class OC { $sessionLifeTime = self::getSessionLifeTime(); @ini_set('gc_maxlifetime', (string)$sessionLifeTime); - $config = \OC::$server->getConfig(); + $systemConfig = \OC::$server->getSystemConfig(); // User and Groups - if (!$config->getSystemValue("installed", false)) { + if (!$systemConfig->getValue("installed", false)) { self::$server->getSession()->set('user_id', ''); } @@ -575,14 +583,14 @@ class OC { $tmpManager = \OC::$server->getTempManager(); register_shutdown_function(array($tmpManager, 'clean')); - if ($config->getSystemValue('installed', false) && !self::checkUpgrade(false)) { - if (\OC::$server->getAppConfig()->getValue('core', 'backgroundjobs_mode', 'ajax') == 'ajax') { + if ($systemConfig->getValue('installed', false) && !self::checkUpgrade(false)) { + if (\OC::$server->getConfig()->getAppValue('core', 'backgroundjobs_mode', 'ajax') == 'ajax') { OC_Util::addScript('backgroundjobs'); } } // Check whether the sample configuration has been copied - if($config->getSystemValue('copied_sample_config', false)) { + if($systemConfig->getValue('copied_sample_config', false)) { $l = \OC::$server->getL10N('lib'); header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); @@ -624,7 +632,7 @@ class OC { * register hooks for the cache */ public static function registerCacheHooks() { - if (\OC::$server->getConfig()->getSystemValue('installed', false) && !\OCP\Util::needUpgrade()) { //don't try to do this before we are properly setup + if (\OC::$server->getSystemConfig()->getValue('installed', false) && !\OCP\Util::needUpgrade()) { //don't try to do this before we are properly setup \OCP\BackgroundJob::registerJob('OC\Cache\FileGlobalGC'); // NOTE: This will be replaced to use OCP @@ -637,11 +645,11 @@ class OC { * register hooks for the cache */ public static function registerLogRotate() { - $config = \OC::$server->getConfig(); - if ($config->getSystemValue('installed', false) && $config->getSystemValue('log_rotate_size', false) && !\OCP\Util::needUpgrade()) { + $systemConfig = \OC::$server->getSystemConfig(); + if ($systemConfig->getValue('installed', false) && $systemConfig->getValue('log_rotate_size', false) && !\OCP\Util::needUpgrade()) { //don't try to do this before we are properly setup //use custom logfile path if defined, otherwise use default of owncloud.log in data directory - \OCP\BackgroundJob::registerJob('OC\Log\Rotate', $config->getSystemValue('logfile', $config->getSystemValue('datadirectory', OC::$SERVERROOT . '/data') . '/owncloud.log')); + \OCP\BackgroundJob::registerJob('OC\Log\Rotate', $systemConfig->getValue('logfile', $systemConfig->getValue('datadirectory', OC::$SERVERROOT . '/data') . '/owncloud.log')); } } @@ -671,7 +679,7 @@ class OC { * register hooks for sharing */ public static function registerShareHooks() { - if (\OC::$server->getConfig()->getSystemValue('installed')) { + if (\OC::$server->getSystemConfig()->getValue('installed')) { OC_Hook::connect('OC_User', 'post_deleteUser', 'OC\Share\Hooks', 'post_deleteUser'); OC_Hook::connect('OC_User', 'post_addToGroup', 'OC\Share\Hooks', 'post_addToGroup'); OC_Hook::connect('OC_User', 'post_removeFromGroup', 'OC\Share\Hooks', 'post_removeFromGroup'); @@ -686,7 +694,7 @@ class OC { // generate an instanceid via \OC_Util::getInstanceId() because the // config file may not be writable. As such, we only register a class // loader cache if instanceid is available without trying to create one. - $instanceId = \OC::$server->getConfig()->getSystemValue('instanceid', null); + $instanceId = \OC::$server->getSystemConfig()->getValue('instanceid', null); if ($instanceId) { try { $memcacheFactory = new \OC\Memcache\Factory($instanceId); @@ -701,13 +709,13 @@ class OC { */ public static function handleRequest() { \OC::$server->getEventLogger()->start('handle_request', 'Handle request'); - $config = \OC::$server->getConfig(); + $systemConfig = \OC::$server->getSystemConfig(); // load all the classpaths from the enabled apps so they are available // in the routing files of each app OC::loadAppClassPaths(); // Check if ownCloud is installed or in maintenance (update) mode - if (!$config->getSystemValue('installed', false)) { + if (!$systemConfig->getValue('installed', false)) { \OC::$server->getSession()->clear(); $controller = new OC\Core\Setup\Controller(\OC::$server->getConfig()); $controller->run($_POST); @@ -722,7 +730,7 @@ class OC { if (!self::$CLI and (!isset($_GET["logout"]) or ($_GET["logout"] !== 'true'))) { try { - if (!$config->getSystemValue('maintenance', false) && !\OCP\Util::needUpgrade()) { + if (!$systemConfig->getValue('maintenance', false) && !\OCP\Util::needUpgrade()) { OC_App::loadApps(array('authentication')); OC_App::loadApps(array('filesystem', 'logging')); OC_App::loadApps(); @@ -788,7 +796,7 @@ class OC { if (isset($_GET["logout"]) and ($_GET["logout"])) { OC_JSON::callCheck(); if (isset($_COOKIE['oc_token'])) { - $config->deleteUserValue(OC_User::getUser(), 'login_token', $_COOKIE['oc_token']); + \OC::$server->getConfig()->deleteUserValue(OC_User::getUser(), 'login_token', $_COOKIE['oc_token']); } OC_User::logout(); // redirect to webroot and add slash if webroot is empty diff --git a/lib/l10n/da.js b/lib/l10n/da.js index 127055bf2d7..035431694e0 100644 --- a/lib/l10n/da.js +++ b/lib/l10n/da.js @@ -8,6 +8,8 @@ OC.L10N.register( "Sample configuration detected" : "Eksempel for konfiguration registreret", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Der er registreret at eksempel for konfiguration er blevet kopieret. Dette kan ødelægge din installation og understøttes ikke. Læs venligst dokumentationen før der foretages ændringer i config.php", "PHP %s or higher is required." : "Der kræves PHP %s eller nyere.", + "PHP with a version less then %s is required." : "Der kræves PHP i en version mindre end %s.", + "Following databases are supported: %s" : "Følgende databaser understøttes: %s", "Help" : "Hjælp", "Personal" : "Personligt", "Settings" : "Indstillinger", diff --git a/lib/l10n/da.json b/lib/l10n/da.json index 6601861af3d..abe888d4022 100644 --- a/lib/l10n/da.json +++ b/lib/l10n/da.json @@ -6,6 +6,8 @@ "Sample configuration detected" : "Eksempel for konfiguration registreret", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Der er registreret at eksempel for konfiguration er blevet kopieret. Dette kan ødelægge din installation og understøttes ikke. Læs venligst dokumentationen før der foretages ændringer i config.php", "PHP %s or higher is required." : "Der kræves PHP %s eller nyere.", + "PHP with a version less then %s is required." : "Der kræves PHP i en version mindre end %s.", + "Following databases are supported: %s" : "Følgende databaser understøttes: %s", "Help" : "Hjælp", "Personal" : "Personligt", "Settings" : "Indstillinger", diff --git a/lib/l10n/de.js b/lib/l10n/de.js index 8bc2bc47012..41732c87a2b 100644 --- a/lib/l10n/de.js +++ b/lib/l10n/de.js @@ -8,6 +8,8 @@ OC.L10N.register( "Sample configuration detected" : "Beispielkonfiguration gefunden", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde, Dies wird nicht unterstützt kann zum Abruch Ihrer Installation führen. Bitte lese die Dokumentation vor der Änderung an der config.php.", "PHP %s or higher is required." : "PHP %s oder höher wird benötigt.", + "PHP with a version less then %s is required." : "PHP wird in einer früheren Version als %s benötigt.", + "Following databases are supported: %s" : "Die folgenden Datenbanken werden unterstützt: %s", "Help" : "Hilfe", "Personal" : "Persönlich", "Settings" : "Einstellungen", diff --git a/lib/l10n/de.json b/lib/l10n/de.json index cd7811d8a18..f7c8a139860 100644 --- a/lib/l10n/de.json +++ b/lib/l10n/de.json @@ -6,6 +6,8 @@ "Sample configuration detected" : "Beispielkonfiguration gefunden", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde, Dies wird nicht unterstützt kann zum Abruch Ihrer Installation führen. Bitte lese die Dokumentation vor der Änderung an der config.php.", "PHP %s or higher is required." : "PHP %s oder höher wird benötigt.", + "PHP with a version less then %s is required." : "PHP wird in einer früheren Version als %s benötigt.", + "Following databases are supported: %s" : "Die folgenden Datenbanken werden unterstützt: %s", "Help" : "Hilfe", "Personal" : "Persönlich", "Settings" : "Einstellungen", diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js index 5095ebdb048..19ea55ea2b8 100644 --- a/lib/l10n/de_DE.js +++ b/lib/l10n/de_DE.js @@ -8,6 +8,8 @@ OC.L10N.register( "Sample configuration detected" : "Beispielkonfiguration gefunden", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde, Dies wird nicht unterstützt kann zum Abruch Ihrer Installation führen. Bitte lesen Sie die Dokumentation vor der Änderung an der config.php.", "PHP %s or higher is required." : "PHP %s oder höher wird benötigt.", + "PHP with a version less then %s is required." : "PHP wird in einer früheren Version als %s benötigt.", + "Following databases are supported: %s" : "Die folgenden Datenbanken werden unterstützt: %s", "Help" : "Hilfe", "Personal" : "Persönlich", "Settings" : "Einstellungen", diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json index 5b4c3cebc9f..801beb7fb3b 100644 --- a/lib/l10n/de_DE.json +++ b/lib/l10n/de_DE.json @@ -6,6 +6,8 @@ "Sample configuration detected" : "Beispielkonfiguration gefunden", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde, Dies wird nicht unterstützt kann zum Abruch Ihrer Installation führen. Bitte lesen Sie die Dokumentation vor der Änderung an der config.php.", "PHP %s or higher is required." : "PHP %s oder höher wird benötigt.", + "PHP with a version less then %s is required." : "PHP wird in einer früheren Version als %s benötigt.", + "Following databases are supported: %s" : "Die folgenden Datenbanken werden unterstützt: %s", "Help" : "Hilfe", "Personal" : "Persönlich", "Settings" : "Einstellungen", diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js index 93e87cc976f..ff29fa5f174 100644 --- a/lib/l10n/ja.js +++ b/lib/l10n/ja.js @@ -8,6 +8,8 @@ OC.L10N.register( "Sample configuration detected" : "サンプル設定が見つかりました。", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "サンプル設定がコピーされてそのままです。このままではインストールが失敗し、サポート対象外になります。config.phpを変更する前にドキュメントを確認してください。", "PHP %s or higher is required." : "PHP %s 以上が必要です。", + "PHP with a version less then %s is required." : "%s 以前のバージョンのPHPが必要です。", + "Following databases are supported: %s" : "次のデータベースをサポートしています: %s", "Help" : "ヘルプ", "Personal" : "個人", "Settings" : "設定", diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json index 4ea611636ee..d7d4f0ae7ff 100644 --- a/lib/l10n/ja.json +++ b/lib/l10n/ja.json @@ -6,6 +6,8 @@ "Sample configuration detected" : "サンプル設定が見つかりました。", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "サンプル設定がコピーされてそのままです。このままではインストールが失敗し、サポート対象外になります。config.phpを変更する前にドキュメントを確認してください。", "PHP %s or higher is required." : "PHP %s 以上が必要です。", + "PHP with a version less then %s is required." : "%s 以前のバージョンのPHPが必要です。", + "Following databases are supported: %s" : "次のデータベースをサポートしています: %s", "Help" : "ヘルプ", "Personal" : "個人", "Settings" : "設定", diff --git a/lib/l10n/sl.js b/lib/l10n/sl.js index a3defc63153..0a50257326d 100644 --- a/lib/l10n/sl.js +++ b/lib/l10n/sl.js @@ -8,6 +8,8 @@ OC.L10N.register( "Sample configuration detected" : "Zaznana je neustrezna preizkusna nastavitev", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Zaznano je, da je bila v sistem kopirana datoteka z enostavno nastavitvijo. To lahko vpliva na namestitev in zato možnost ni podprta. Pred spremembami datoteke config.php si natančno preberite dokumentacijo.", "PHP %s or higher is required." : "Zahtevana je različica PHP %s ali višja.", + "PHP with a version less then %s is required." : "Zahtevana je različica PHP manj kot %s.", + "Following databases are supported: %s" : "Podprte so navedene podatkovne zbirke: %s", "Help" : "Pomoč", "Personal" : "Osebno", "Settings" : "Nastavitve", diff --git a/lib/l10n/sl.json b/lib/l10n/sl.json index f4555555d5a..ba7d63e08df 100644 --- a/lib/l10n/sl.json +++ b/lib/l10n/sl.json @@ -6,6 +6,8 @@ "Sample configuration detected" : "Zaznana je neustrezna preizkusna nastavitev", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Zaznano je, da je bila v sistem kopirana datoteka z enostavno nastavitvijo. To lahko vpliva na namestitev in zato možnost ni podprta. Pred spremembami datoteke config.php si natančno preberite dokumentacijo.", "PHP %s or higher is required." : "Zahtevana je različica PHP %s ali višja.", + "PHP with a version less then %s is required." : "Zahtevana je različica PHP manj kot %s.", + "Following databases are supported: %s" : "Podprte so navedene podatkovne zbirke: %s", "Help" : "Pomoč", "Personal" : "Osebno", "Settings" : "Nastavitve", diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js index 33e966f626a..4fab0909e92 100644 --- a/lib/l10n/tr.js +++ b/lib/l10n/tr.js @@ -8,6 +8,8 @@ OC.L10N.register( "Sample configuration detected" : "Örnek yapılandırma tespit edildi", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Örnek yapılandırmanın kopyalanmış olabileceği tespit edildi. Bu kurulumunuzu bozabilir ve desteklenmemektedir. Lütfen config.php dosyasında değişiklik yapmadan önce belgelendirmeyi okuyun", "PHP %s or higher is required." : "PHP %s veya daha üst sürümü gerekli.", + "PHP with a version less then %s is required." : "PHP'nin %s sürümü öncesi gerekli.", + "Following databases are supported: %s" : "Şu veritabanları desteklenmekte: %s", "Help" : "Yardım", "Personal" : "Kişisel", "Settings" : "Ayarlar", diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json index c02d60368b7..1a16d30517c 100644 --- a/lib/l10n/tr.json +++ b/lib/l10n/tr.json @@ -6,6 +6,8 @@ "Sample configuration detected" : "Örnek yapılandırma tespit edildi", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Örnek yapılandırmanın kopyalanmış olabileceği tespit edildi. Bu kurulumunuzu bozabilir ve desteklenmemektedir. Lütfen config.php dosyasında değişiklik yapmadan önce belgelendirmeyi okuyun", "PHP %s or higher is required." : "PHP %s veya daha üst sürümü gerekli.", + "PHP with a version less then %s is required." : "PHP'nin %s sürümü öncesi gerekli.", + "Following databases are supported: %s" : "Şu veritabanları desteklenmekte: %s", "Help" : "Yardım", "Personal" : "Kişisel", "Settings" : "Ayarlar", diff --git a/lib/private/allconfig.php b/lib/private/allconfig.php index 7ebff7cf2db..e20f3698258 100644 --- a/lib/private/allconfig.php +++ b/lib/private/allconfig.php @@ -8,11 +8,67 @@ */ namespace OC; +use OCP\IDBConnection; +use OCP\PreConditionNotMetException; /** * Class to combine all the configuration options ownCloud offers */ class AllConfig implements \OCP\IConfig { + /** @var SystemConfig */ + private $systemConfig; + + /** @var IDBConnection */ + private $connection; + + /** + * 3 dimensional array with the following structure: + * [ $userId => + * [ $appId => + * [ $key => $value ] + * ] + * ] + * + * database table: preferences + * + * methods that use this: + * - setUserValue + * - getUserValue + * - getUserKeys + * - deleteUserValue + * - deleteAllUserValues + * - deleteAppFromAllUsers + * + * @var array $userCache + */ + private $userCache = array(); + + /** + * @param SystemConfig $systemConfig + */ + function __construct(SystemConfig $systemConfig) { + $this->systemConfig = $systemConfig; + } + + /** + * TODO - FIXME This fixes an issue with base.php that cause cyclic + * dependencies, especially with autoconfig setup + * + * Replace this by properly injected database connection. Currently the + * base.php triggers the getDatabaseConnection too early which causes in + * autoconfig setup case a too early distributed database connection and + * the autoconfig then needs to reinit all already initialized dependencies + * that use the database connection. + * + * otherwise a SQLite database is created in the wrong directory + * because the database connection was created with an uninitialized config + */ + private function fixDIInit() { + if($this->connection === null) { + $this->connection = \OC::$server->getDatabaseConnection(); + } + } + /** * Sets a new system wide value * @@ -20,7 +76,7 @@ class AllConfig implements \OCP\IConfig { * @param mixed $value the value that should be stored */ public function setSystemValue($key, $value) { - \OCP\Config::setSystemValue($key, $value); + $this->systemConfig->setValue($key, $value); } /** @@ -31,7 +87,7 @@ class AllConfig implements \OCP\IConfig { * @return mixed the value or $default */ public function getSystemValue($key, $default = '') { - return \OCP\Config::getSystemValue($key, $default); + return $this->systemConfig->getValue($key, $default); } /** @@ -40,7 +96,7 @@ class AllConfig implements \OCP\IConfig { * @param string $key the key of the value, under which it was saved */ public function deleteSystemValue($key) { - \OCP\Config::deleteSystemValue($key); + $this->systemConfig->deleteValue($key); } /** @@ -61,7 +117,7 @@ class AllConfig implements \OCP\IConfig { * @param string $value the value that should be stored */ public function setAppValue($appName, $key, $value) { - \OCP\Config::setAppValue($appName, $key, $value); + \OC::$server->getAppConfig()->setValue($appName, $key, $value); } /** @@ -73,7 +129,7 @@ class AllConfig implements \OCP\IConfig { * @return string the saved value */ public function getAppValue($appName, $key, $default = '') { - return \OCP\Config::getAppValue($appName, $key, $default); + return \OC::$server->getAppConfig()->getValue($appName, $key, $default); } /** @@ -83,7 +139,16 @@ class AllConfig implements \OCP\IConfig { * @param string $key the key of the value, under which it was saved */ public function deleteAppValue($appName, $key) { - \OC_Appconfig::deleteKey($appName, $key); + \OC::$server->getAppConfig()->deleteKey($appName, $key); + } + + /** + * Removes all keys in appconfig belonging to the app + * + * @param string $appName the appName the configs are stored under + */ + public function deleteAppValues($appName) { + \OC::$server->getAppConfig()->deleteApp($appName); } @@ -94,13 +159,60 @@ class AllConfig implements \OCP\IConfig { * @param string $appName the appName that we want to store the value under * @param string $key the key under which the value is being stored * @param string $value the value that you want to store + * @param string $preCondition only update if the config value was previously the value passed as $preCondition + * @throws \OCP\PreConditionNotMetException if a precondition is specified and is not met */ - public function setUserValue($userId, $appName, $key, $value) { - \OCP\Config::setUserValue($userId, $appName, $key, $value); + public function setUserValue($userId, $appName, $key, $value, $preCondition = null) { + // TODO - FIXME + $this->fixDIInit(); + + // Check if the key does exist + $sql = 'SELECT `configvalue` FROM `*PREFIX*preferences` '. + 'WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'; + $result = $this->connection->executeQuery($sql, array($userId, $appName, $key)); + $oldValue = $result->fetchColumn(); + $exists = $oldValue !== false; + + if($oldValue === strval($value)) { + // no changes + return; + } + + $data = array($value, $userId, $appName, $key); + if (!$exists && $preCondition === null) { + $sql = 'INSERT INTO `*PREFIX*preferences` (`configvalue`, `userid`, `appid`, `configkey`)'. + 'VALUES (?, ?, ?, ?)'; + } elseif ($exists) { + $sql = 'UPDATE `*PREFIX*preferences` SET `configvalue` = ? '. + 'WHERE `userid` = ? AND `appid` = ? AND `configkey` = ? '; + + if($preCondition !== null) { + if($this->getSystemValue('dbtype', 'sqlite') === 'oci') { + //oracle hack: need to explicitly cast CLOB to CHAR for comparison + $sql .= 'AND to_char(`configvalue`) = ?'; + } else { + $sql .= 'AND `configvalue` = ?'; + } + $data[] = $preCondition; + } + } + $affectedRows = $this->connection->executeUpdate($sql, $data); + + // only add to the cache if we already loaded data for the user + if ($affectedRows > 0 && isset($this->userCache[$userId])) { + if (!isset($this->userCache[$userId][$appName])) { + $this->userCache[$userId][$appName] = array(); + } + $this->userCache[$userId][$appName][$key] = $value; + } + + if ($preCondition !== null && $affectedRows === 0) { + throw new PreConditionNotMetException; + } } /** - * Shortcut for getting a user defined value + * Getting a user defined value * * @param string $userId the userId of the user that we want to store the value under * @param string $appName the appName that we stored the value under @@ -109,7 +221,12 @@ class AllConfig implements \OCP\IConfig { * @return string */ public function getUserValue($userId, $appName, $key, $default = '') { - return \OCP\Config::getUserValue($userId, $appName, $key, $default); + $data = $this->getUserValues($userId); + if (isset($data[$appName]) and isset($data[$appName][$key])) { + return $data[$appName][$key]; + } else { + return $default; + } } /** @@ -120,7 +237,12 @@ class AllConfig implements \OCP\IConfig { * @return string[] */ public function getUserKeys($userId, $appName) { - return \OC_Preferences::getKeys($userId, $appName); + $data = $this->getUserValues($userId); + if (isset($data[$appName])) { + return array_keys($data[$appName]); + } else { + return array(); + } } /** @@ -131,6 +253,153 @@ class AllConfig implements \OCP\IConfig { * @param string $key the key under which the value is being stored */ public function deleteUserValue($userId, $appName, $key) { - \OC_Preferences::deleteKey($userId, $appName, $key); + // TODO - FIXME + $this->fixDIInit(); + + $sql = 'DELETE FROM `*PREFIX*preferences` '. + 'WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'; + $this->connection->executeUpdate($sql, array($userId, $appName, $key)); + + if (isset($this->userCache[$userId]) and isset($this->userCache[$userId][$appName])) { + unset($this->userCache[$userId][$appName][$key]); + } + } + + /** + * Delete all user values + * + * @param string $userId the userId of the user that we want to remove all values from + */ + public function deleteAllUserValues($userId) { + // TODO - FIXME + $this->fixDIInit(); + + $sql = 'DELETE FROM `*PREFIX*preferences` '. + 'WHERE `userid` = ?'; + $this->connection->executeUpdate($sql, array($userId)); + + unset($this->userCache[$userId]); + } + + /** + * Delete all user related values of one app + * + * @param string $appName the appName of the app that we want to remove all values from + */ + public function deleteAppFromAllUsers($appName) { + // TODO - FIXME + $this->fixDIInit(); + + $sql = 'DELETE FROM `*PREFIX*preferences` '. + 'WHERE `appid` = ?'; + $this->connection->executeUpdate($sql, array($appName)); + + foreach ($this->userCache as &$userCache) { + unset($userCache[$appName]); + } + } + + /** + * Returns all user configs sorted by app of one user + * + * @param string $userId the user ID to get the app configs from + * @return array[] - 2 dimensional array with the following structure: + * [ $appId => + * [ $key => $value ] + * ] + */ + private function getUserValues($userId) { + // TODO - FIXME + $this->fixDIInit(); + + if (isset($this->userCache[$userId])) { + return $this->userCache[$userId]; + } + $data = array(); + $query = 'SELECT `appid`, `configkey`, `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ?'; + $result = $this->connection->executeQuery($query, array($userId)); + while ($row = $result->fetch()) { + $appId = $row['appid']; + if (!isset($data[$appId])) { + $data[$appId] = array(); + } + $data[$appId][$row['configkey']] = $row['configvalue']; + } + $this->userCache[$userId] = $data; + return $data; + } + + /** + * Fetches a mapped list of userId -> value, for a specified app and key and a list of user IDs. + * + * @param $appName app to get the value for + * @param $key the key to get the value for + * @param $userIds the user IDs to fetch the values for + * @return array Mapped values: userId => value + */ + public function getUserValueForUsers($appName, $key, $userIds) { + // TODO - FIXME + $this->fixDIInit(); + + if (empty($userIds) || !is_array($userIds)) { + return array(); + } + + $chunkedUsers = array_chunk($userIds, 50, true); + $placeholders50 = implode(',', array_fill(0, 50, '?')); + + $userValues = array(); + foreach ($chunkedUsers as $chunk) { + $queryParams = $chunk; + // create [$app, $key, $chunkedUsers] + array_unshift($queryParams, $key); + array_unshift($queryParams, $appName); + + $placeholders = (sizeof($chunk) == 50) ? $placeholders50 : implode(',', array_fill(0, sizeof($chunk), '?')); + + $query = 'SELECT `userid`, `configvalue` ' . + 'FROM `*PREFIX*preferences` ' . + 'WHERE `appid` = ? AND `configkey` = ? ' . + 'AND `userid` IN (' . $placeholders . ')'; + $result = $this->connection->executeQuery($query, $queryParams); + + while ($row = $result->fetch()) { + $userValues[$row['userid']] = $row['configvalue']; + } + } + + return $userValues; + } + + /** + * Determines the users that have the given value set for a specific app-key-pair + * + * @param string $appName the app to get the user for + * @param string $key the key to get the user for + * @param string $value the value to get the user for + * @return array of user IDs + */ + public function getUsersForUserValue($appName, $key, $value) { + // TODO - FIXME + $this->fixDIInit(); + + $sql = 'SELECT `userid` FROM `*PREFIX*preferences` ' . + 'WHERE `appid` = ? AND `configkey` = ? '; + + if($this->getSystemValue('dbtype', 'sqlite') === 'oci') { + //oracle hack: need to explicitly cast CLOB to CHAR for comparison + $sql .= 'AND to_char(`configvalue`) = ?'; + } else { + $sql .= 'AND `configvalue` = ?'; + } + + $result = $this->connection->executeQuery($sql, array($appName, $key, $value)); + + $userIDs = array(); + while ($row = $result->fetch()) { + $userIDs[] = $row['userid']; + } + + return $userIDs; } } diff --git a/lib/private/config.php b/lib/private/config.php index cc07d6a1ed1..8544de34b72 100644 --- a/lib/private/config.php +++ b/lib/private/config.php @@ -40,24 +40,6 @@ class Config { } /** - * Enables or disables the debug mode - * @param bool $state True to enable, false to disable - */ - public function setDebugMode($state) { - $this->debugMode = $state; - $this->writeData(); - $this->cache; - } - - /** - * Returns whether the debug mode is enabled or disabled - * @return bool True when enabled, false otherwise - */ - public function isDebugMode() { - return $this->debugMode; - } - - /** * Lists all available config keys * @return array an array of key names * diff --git a/lib/private/db/connectionfactory.php b/lib/private/db/connectionfactory.php index 58043b30440..9c75baf887d 100644 --- a/lib/private/db/connectionfactory.php +++ b/lib/private/db/connectionfactory.php @@ -123,23 +123,23 @@ class ConnectionFactory { /** * Create the connection parameters for the config * - * @param \OCP\IConfig $config + * @param \OC\SystemConfig $config * @return array */ public function createConnectionParams($config) { - $type = $config->getSystemValue('dbtype', 'sqlite'); + $type = $config->getValue('dbtype', 'sqlite'); $connectionParams = array( - 'user' => $config->getSystemValue('dbuser', ''), - 'password' => $config->getSystemValue('dbpassword', ''), + 'user' => $config->getValue('dbuser', ''), + 'password' => $config->getValue('dbpassword', ''), ); - $name = $config->getSystemValue('dbname', 'owncloud'); + $name = $config->getValue('dbname', 'owncloud'); if ($this->normalizeType($type) === 'sqlite3') { - $datadir = $config->getSystemValue("datadirectory", \OC::$SERVERROOT . '/data'); + $datadir = $config->getValue("datadirectory", \OC::$SERVERROOT . '/data'); $connectionParams['path'] = $datadir . '/' . $name . '.db'; } else { - $host = $config->getSystemValue('dbhost', ''); + $host = $config->getValue('dbhost', ''); if (strpos($host, ':')) { // Host variable may carry a port or socket. list($host, $portOrSocket) = explode(':', $host, 2); @@ -153,11 +153,11 @@ class ConnectionFactory { $connectionParams['dbname'] = $name; } - $connectionParams['tablePrefix'] = $config->getSystemValue('dbtableprefix', 'oc_'); - $connectionParams['sqlite.journal_mode'] = $config->getSystemValue('sqlite.journal_mode', 'WAL'); + $connectionParams['tablePrefix'] = $config->getValue('dbtableprefix', 'oc_'); + $connectionParams['sqlite.journal_mode'] = $config->getValue('sqlite.journal_mode', 'WAL'); //additional driver options, eg. for mysql ssl - $driverOptions = $config->getSystemValue('dbdriveroptions', null); + $driverOptions = $config->getValue('dbdriveroptions', null); if ($driverOptions) { $connectionParams['driverOptions'] = $driverOptions; } diff --git a/lib/private/files/config/mountprovidercollection.php b/lib/private/files/config/mountprovidercollection.php new file mode 100644 index 00000000000..49d026f1bda --- /dev/null +++ b/lib/private/files/config/mountprovidercollection.php @@ -0,0 +1,55 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Files\Config; + +use OCP\Files\Config\IMountProviderCollection; +use OCP\Files\Config\IMountProvider; +use OCP\Files\Storage\IStorageFactory; +use OCP\IUser; + +class MountProviderCollection implements IMountProviderCollection { + /** + * @var \OCP\Files\Config\IMountProvider[] + */ + private $providers = array(); + + /** + * @var \OCP\Files\Storage\IStorageFactory + */ + private $loader; + + /** + * @param \OCP\Files\Storage\IStorageFactory $loader + */ + public function __construct(IStorageFactory $loader) { + $this->loader = $loader; + } + + /** + * Get all configured mount points for the user + * + * @param \OCP\IUser $user + * @return \OCP\Files\Mount\IMountPoint[] + */ + public function getMountsForUser(IUser $user) { + $loader = $this->loader; + return array_reduce($this->providers, function ($mounts, IMountProvider $provider) use ($user, $loader) { + return array_merge($mounts, $provider->getMountsForUser($user, $loader)); + }, array()); + } + + /** + * Add a provider for mount points + * + * @param \OCP\Files\Config\IMountProvider $provider + */ + public function registerProvider(IMountProvider $provider) { + $this->providers[] = $provider; + } +} diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php index 6c8fa8c90ba..90643839e22 100644 --- a/lib/private/files/filesystem.php +++ b/lib/private/files/filesystem.php @@ -30,7 +30,7 @@ namespace OC\Files; -use OC\Files\Storage\Loader; +use OC\Files\Storage\StorageFactory; class Filesystem { @@ -165,7 +165,7 @@ class Filesystem { const signal_param_users = 'users'; /** - * @var \OC\Files\Storage\Loader $loader + * @var \OC\Files\Storage\StorageFactory $loader */ private static $loader; @@ -183,7 +183,7 @@ class Filesystem { public static function getLoader() { if (!self::$loader) { - self::$loader = new Loader(); + self::$loader = new StorageFactory(); } return self::$loader; } @@ -250,7 +250,7 @@ class Filesystem { /** * @param string $id - * @return Mount\Mount[] + * @return Mount\MountPoint[] */ public static function getMountByStorageId($id) { if (!self::$mounts) { @@ -261,7 +261,7 @@ class Filesystem { /** * @param int $id - * @return Mount\Mount[] + * @return Mount\MountPoint[] */ public static function getMountByNumericId($id) { if (!self::$mounts) { @@ -370,6 +370,11 @@ class Filesystem { self::mountCacheDir($user); // Chance to mount for other storages + if($userObject) { + $mountConfigManager = \OC::$server->getMountProviderCollection(); + $mounts = $mountConfigManager->getMountsForUser($userObject); + array_walk($mounts, array(self::$mounts, 'addMount')); + } \OC_Hook::emit('OC_Filesystem', 'post_initMountPoints', array('user' => $user, 'user_dir' => $root)); } @@ -447,7 +452,7 @@ class Filesystem { if (!self::$mounts) { \OC_Util::setupFS(); } - $mount = new Mount\Mount($class, $mountpoint, $arguments, self::getLoader()); + $mount = new Mount\MountPoint($class, $mountpoint, $arguments, self::getLoader()); self::$mounts->addMount($mount); } diff --git a/lib/private/files/mount/manager.php b/lib/private/files/mount/manager.php index 0ccf42941de..8472ebc976a 100644 --- a/lib/private/files/mount/manager.php +++ b/lib/private/files/mount/manager.php @@ -12,14 +12,14 @@ use \OC\Files\Filesystem; class Manager { /** - * @var Mount[] + * @var MountPoint[] */ private $mounts = array(); /** - * @param Mount $mount + * @param MountPoint $mount */ - public function addMount(Mount $mount) { + public function addMount(MountPoint $mount) { $this->mounts[$mount->getMountPoint()] = $mount; } @@ -47,7 +47,7 @@ class Manager { * Find the mount for $path * * @param string $path - * @return Mount + * @return MountPoint */ public function find($path) { \OC_Util::setupFS(); @@ -75,7 +75,7 @@ class Manager { * Find all mounts in $path * * @param string $path - * @return Mount[] + * @return MountPoint[] */ public function findIn($path) { \OC_Util::setupFS(); @@ -99,7 +99,7 @@ class Manager { * Find mounts by storage id * * @param string $id - * @return Mount[] + * @return MountPoint[] */ public function findByStorageId($id) { \OC_Util::setupFS(); @@ -116,7 +116,7 @@ class Manager { } /** - * @return Mount[] + * @return MountPoint[] */ public function getAll() { return $this->mounts; @@ -126,7 +126,7 @@ class Manager { * Find mounts by numeric storage id * * @param int $id - * @return Mount[] + * @return MountPoint[] */ public function findByNumericId($id) { $storageId = \OC\Files\Cache\Storage::getStorageId($id); diff --git a/lib/private/files/mount/mount.php b/lib/private/files/mount/mountpoint.php index 48c9d88c23c..b2c50f9d881 100644 --- a/lib/private/files/mount/mount.php +++ b/lib/private/files/mount/mountpoint.php @@ -9,10 +9,11 @@ namespace OC\Files\Mount; use \OC\Files\Filesystem; -use OC\Files\Storage\Loader; +use OC\Files\Storage\StorageFactory; use OC\Files\Storage\Storage; +use OCP\Files\Mount\IMountPoint; -class Mount { +class MountPoint implements IMountPoint { /** * @var \OC\Files\Storage\Storage $storage */ @@ -23,7 +24,7 @@ class Mount { protected $mountPoint; /** - * @var \OC\Files\Storage\Loader $loader + * @var \OC\Files\Storage\StorageFactory $loader */ private $loader; @@ -31,14 +32,14 @@ class Mount { * @param string|\OC\Files\Storage\Storage $storage * @param string $mountpoint * @param array $arguments (optional)\ - * @param \OC\Files\Storage\Loader $loader + * @param \OCP\Files\Storage\IStorageFactory $loader */ public function __construct($storage, $mountpoint, $arguments = null, $loader = null) { if (is_null($arguments)) { $arguments = array(); } if (is_null($loader)) { - $this->loader = new Loader(); + $this->loader = new StorageFactory(); } else { $this->loader = $loader; } @@ -68,15 +69,6 @@ class Mount { } /** - * get name of the mount point - * - * @return string - */ - public function getMountPointName() { - return basename(rtrim($this->mountPoint, '/')); - } - - /** * @param string $mountPoint new mount point */ public function setMountPoint($mountPoint) { @@ -91,7 +83,7 @@ class Mount { private function createStorage() { if (class_exists($this->class)) { try { - return $this->loader->load($this->mountPoint, $this->class, $this->arguments); + return $this->loader->getInstance($this->mountPoint, $this->class, $this->arguments); } catch (\Exception $exception) { if ($this->mountPoint === '/') { // the root storage could not be initialized, show the user! diff --git a/lib/private/files/node/folder.php b/lib/private/files/node/folder.php index 54a699be532..6fdcff13e1c 100644 --- a/lib/private/files/node/folder.php +++ b/lib/private/files/node/folder.php @@ -301,7 +301,7 @@ class Folder extends Node implements \OCP\Files\Folder { $nodes = array(); foreach ($mounts as $mount) { /** - * @var \OC\Files\Mount\Mount $mount + * @var \OC\Files\Mount\MountPoint $mount */ if ($mount->getStorage()) { $cache = $mount->getStorage()->getCache(); diff --git a/lib/private/files/node/root.php b/lib/private/files/node/root.php index 1e8387dc5cb..35132f5458d 100644 --- a/lib/private/files/node/root.php +++ b/lib/private/files/node/root.php @@ -10,7 +10,7 @@ namespace OC\Files\Node; use OC\Files\Cache\Cache; use OC\Files\Mount\Manager; -use OC\Files\Mount\Mount; +use OC\Files\Mount\MountPoint; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; use OC\Hooks\Emitter; @@ -106,13 +106,13 @@ class Root extends Folder implements Emitter { * @param array $arguments */ public function mount($storage, $mountPoint, $arguments = array()) { - $mount = new Mount($storage, $mountPoint, $arguments); + $mount = new MountPoint($storage, $mountPoint, $arguments); $this->mountManager->addMount($mount); } /** * @param string $mountPoint - * @return \OC\Files\Mount\Mount + * @return \OC\Files\Mount\MountPoint */ public function getMount($mountPoint) { return $this->mountManager->find($mountPoint); @@ -120,7 +120,7 @@ class Root extends Folder implements Emitter { /** * @param string $mountPoint - * @return \OC\Files\Mount\Mount[] + * @return \OC\Files\Mount\MountPoint[] */ public function getMountsIn($mountPoint) { return $this->mountManager->findIn($mountPoint); @@ -128,7 +128,7 @@ class Root extends Folder implements Emitter { /** * @param string $storageId - * @return \OC\Files\Mount\Mount[] + * @return \OC\Files\Mount\MountPoint[] */ public function getMountByStorageId($storageId) { return $this->mountManager->findByStorageId($storageId); @@ -136,14 +136,14 @@ class Root extends Folder implements Emitter { /** * @param int $numericId - * @return Mount[] + * @return MountPoint[] */ public function getMountByNumericStorageId($numericId) { return $this->mountManager->findByNumericId($numericId); } /** - * @param \OC\Files\Mount\Mount $mount + * @param \OC\Files\Mount\MountPoint $mount */ public function unMount($mount) { $this->mountManager->remove($mount); diff --git a/lib/private/files/storage/loader.php b/lib/private/files/storage/storagefactory.php index c75a0a976a7..c9e8d422f9d 100644 --- a/lib/private/files/storage/loader.php +++ b/lib/private/files/storage/storagefactory.php @@ -8,7 +8,9 @@ namespace OC\Files\Storage; -class Loader { +use OCP\Files\Storage\IStorageFactory; + +class StorageFactory implements IStorageFactory { /** * @var callable[] $storageWrappers */ @@ -19,6 +21,7 @@ class Loader { * * $callback should be a function of type (string $mountPoint, Storage $storage) => Storage * + * @param string $wrapperName * @param callable $callback */ public function addStorageWrapper($wrapperName, $callback) { @@ -26,15 +29,21 @@ class Loader { } /** + * Create an instance of a storage and apply the registered storage wrappers + * * @param string|boolean $mountPoint * @param string $class + * @param array $arguments + * @return \OCP\Files\Storage */ - public function load($mountPoint, $class, $arguments) { + public function getInstance($mountPoint, $class, $arguments) { return $this->wrap($mountPoint, new $class($arguments)); } /** * @param string|boolean $mountPoint + * @param \OCP\Files\Storage $storage + * @return \OCP\Files\Storage */ public function wrap($mountPoint, $storage) { foreach ($this->storageWrappers as $wrapper) { diff --git a/lib/private/files/utils/scanner.php b/lib/private/files/utils/scanner.php index adb66497be0..19a2ed38e1b 100644 --- a/lib/private/files/utils/scanner.php +++ b/lib/private/files/utils/scanner.php @@ -53,7 +53,7 @@ class Scanner extends PublicEmitter { * get all storages for $dir * * @param string $dir - * @return \OC\Files\Mount\Mount[] + * @return \OC\Files\Mount\MountPoint[] */ protected function getMounts($dir) { //TODO: move to the node based fileapi once that's done @@ -72,7 +72,7 @@ class Scanner extends PublicEmitter { /** * attach listeners to the scanner * - * @param \OC\Files\Mount\Mount $mount + * @param \OC\Files\Mount\MountPoint $mount */ protected function attachListener($mount) { $scanner = $mount->getStorage()->getScanner(); diff --git a/lib/private/files/view.php b/lib/private/files/view.php index 331ab9ba6cd..4b3d167f8e9 100644 --- a/lib/private/files/view.php +++ b/lib/private/files/view.php @@ -465,7 +465,7 @@ class View { if ($internalPath1 === '' and $mount instanceof MoveableMount) { if ($this->isTargetAllowed($absolutePath2)) { /** - * @var \OC\Files\Mount\Mount | \OC\Files\Mount\MoveableMount $mount + * @var \OC\Files\Mount\MountPoint | \OC\Files\Mount\MoveableMount $mount */ $sourceMountPoint = $mount->getMountPoint(); $result = $mount->moveMount($absolutePath2); @@ -1227,7 +1227,7 @@ class View { $mounts = array_reverse($mounts); foreach ($mounts as $mount) { /** - * @var \OC\Files\Mount\Mount $mount + * @var \OC\Files\Mount\MountPoint $mount */ if ($mount->getStorage()) { $cache = $mount->getStorage()->getCache(); diff --git a/lib/private/group.php b/lib/private/group.php index 49f683c411a..d6e6e17f881 100644 --- a/lib/private/group.php +++ b/lib/private/group.php @@ -37,6 +37,7 @@ class OC_Group { /** * @return \OC\Group\Manager + * @deprecated Use \OC::$server->getGroupManager(); */ public static function getManager() { return \OC::$server->getGroupManager(); @@ -44,6 +45,7 @@ class OC_Group { /** * @return \OC\User\Manager + * @deprecated Use \OC::$server->getUserManager() */ private static function getUserManager() { return \OC::$server->getUserManager(); @@ -73,12 +75,10 @@ class OC_Group { * * Tries to create a new group. If the group name already exists, false will * be returned. Basic checking of Group name + * @deprecated Use \OC::$server->getGroupManager()->createGroup() instead */ public static function createGroup($gid) { - OC_Hook::emit("OC_Group", "pre_createGroup", array("run" => true, "gid" => $gid)); - if (self::getManager()->createGroup($gid)) { - OC_Hook::emit("OC_User", "post_createGroup", array("gid" => $gid)); return true; } else { return false; @@ -91,19 +91,12 @@ class OC_Group { * @return bool * * Deletes a group and removes it from the group_user-table + * @deprecated Use \OC::$server->getGroupManager()->delete() instead */ public static function deleteGroup($gid) { - // Prevent users from deleting group admin - if ($gid == "admin") { - return false; - } - - OC_Hook::emit("OC_Group", "pre_deleteGroup", array("run" => true, "gid" => $gid)); - $group = self::getManager()->get($gid); if ($group) { if ($group->delete()) { - OC_Hook::emit("OC_User", "post_deleteGroup", array("gid" => $gid)); return true; } } @@ -117,6 +110,7 @@ class OC_Group { * @return bool * * Checks whether the user is member of a group or not. + * @deprecated Use \OC::$server->getGroupManager->inGroup($user); */ public static function inGroup($uid, $gid) { $group = self::getManager()->get($gid); @@ -134,14 +128,13 @@ class OC_Group { * @return bool * * Adds a user to a group. + * @deprecated Use \OC::$server->getGroupManager->addUser(); */ public static function addToGroup($uid, $gid) { $group = self::getManager()->get($gid); $user = self::getUserManager()->get($uid); if ($group and $user) { - OC_Hook::emit("OC_Group", "pre_addToGroup", array("run" => true, "uid" => $uid, "gid" => $gid)); $group->addUser($user); - OC_Hook::emit("OC_User", "post_addToGroup", array("uid" => $uid, "gid" => $gid)); return true; } else { return false; @@ -176,6 +169,7 @@ class OC_Group { * * This function fetches all groups a user belongs to. It does not check * if the user exists at all. + * @deprecated Use \OC::$server->getGroupManager->getuserGroupIds($user) */ public static function getUserGroups($uid) { $user = self::getUserManager()->get($uid); @@ -209,6 +203,7 @@ class OC_Group { * * @param string $gid * @return bool + * @deprecated Use \OC::$server->getGroupManager->groupExists($gid) */ public static function groupExists($gid) { return self::getManager()->groupExists($gid); @@ -260,6 +255,7 @@ class OC_Group { * @param int $limit * @param int $offset * @return array an array of display names (value) and user ids(key) + * @deprecated Use \OC::$server->getGroupManager->displayNamesInGroup($gid, $search, $limit, $offset) */ public static function displayNamesInGroup($gid, $search = '', $limit = -1, $offset = 0) { return self::getManager()->displayNamesInGroup($gid, $search, $limit, $offset); diff --git a/lib/private/group/group.php b/lib/private/group/group.php index 6111051ea09..5f439e91cde 100644 --- a/lib/private/group/group.php +++ b/lib/private/group/group.php @@ -229,6 +229,11 @@ class Group implements IGroup { * @return bool */ public function delete() { + // Prevent users from deleting group admin + if ($this->getGID() === 'admin') { + return false; + } + $result = false; if ($this->emitter) { $this->emitter->emit('\OC\Group', 'preDelete', array($this)); diff --git a/lib/private/group/metadata.php b/lib/private/group/metadata.php index 687a735347c..c702c924ff7 100644 --- a/lib/private/group/metadata.php +++ b/lib/private/group/metadata.php @@ -29,7 +29,7 @@ class MetaData { protected $metaData = array(); /** - * @var \OC\Group\Manager $groupManager + * @var \OCP\IGroupManager $groupManager */ protected $groupManager; @@ -41,12 +41,12 @@ class MetaData { /** * @param string $user the uid of the current user * @param bool $isAdmin whether the current users is an admin - * @param \OC\Group\Manager $groupManager + * @param \OCP\IGroupManager $groupManager */ public function __construct( $user, $isAdmin, - \OC\Group\Manager $groupManager + \OCP\IGroupManager $groupManager ) { $this->user = $user; $this->isAdmin = (bool)$isAdmin; @@ -168,6 +168,7 @@ class MetaData { if($this->isAdmin) { return $this->groupManager->search($search); } else { + // FIXME: Remove static method call $groupIds = \OC_SubAdmin::getSubAdminsGroups($this->user); /* \OC_SubAdmin::getSubAdminsGroups() returns an array of GIDs, but this diff --git a/lib/private/httphelper.php b/lib/private/httphelper.php index dfc1bcf47cd..846825dee8d 100644 --- a/lib/private/httphelper.php +++ b/lib/private/httphelper.php @@ -8,16 +8,18 @@ namespace OC; +use \OCP\IConfig; + class HTTPHelper { const USER_AGENT = 'ownCloud Server Crawler'; - /** @var \OC\AllConfig */ + /** @var \OCP\IConfig */ private $config; /** - * @param \OC\AllConfig $config + * @param \OCP\IConfig $config */ - public function __construct(AllConfig $config) { + public function __construct(IConfig $config) { $this->config = $config; } diff --git a/lib/private/legacy/preferences.php b/lib/private/legacy/preferences.php index 4b68b0e69aa..907aafbc915 100644 --- a/lib/private/legacy/preferences.php +++ b/lib/private/legacy/preferences.php @@ -21,47 +21,23 @@ * */ -OC_Preferences::$object = new \OC\Preferences(OC_DB::getConnection()); /** * This class provides an easy way for storing user preferences. - * @deprecated use \OC\Preferences instead + * @deprecated use \OCP\IConfig methods instead */ class OC_Preferences{ - public static $object; - /** - * Get all users using the preferences - * @return array an array of user ids - * - * This function returns a list of all users that have at least one entry - * in the preferences table. - */ - public static function getUsers() { - return self::$object->getUsers(); - } - - /** - * Get all apps of a user - * @param string $user user - * @return integer[] with app ids - * - * This function returns a list of all apps of the user that have at least - * one entry in the preferences table. - */ - public static function getApps( $user ) { - return self::$object->getApps( $user ); - } - /** * Get the available keys for an app * @param string $user user * @param string $app the app we are looking for * @return array an array of key names + * @deprecated use getUserKeys of \OCP\IConfig instead * * This function gets all keys of an app of an user. Please note that the * values are not returned. */ public static function getKeys( $user, $app ) { - return self::$object->getKeys( $user, $app ); + return \OC::$server->getConfig()->getUserKeys($user, $app); } /** @@ -71,12 +47,13 @@ class OC_Preferences{ * @param string $key key * @param string $default = null, default value if the key does not exist * @return string the value or $default + * @deprecated use getUserValue of \OCP\IConfig instead * * This function gets a value from the preferences table. If the key does * not exist the default value will be returned */ public static function getValue( $user, $app, $key, $default = null ) { - return self::$object->getValue( $user, $app, $key, $default ); + return \OC::$server->getConfig()->getUserValue($user, $app, $key, $default); } /** @@ -87,12 +64,18 @@ class OC_Preferences{ * @param string $value value * @param string $preCondition only set value if the key had a specific value before * @return bool true if value was set, otherwise false + * @deprecated use setUserValue of \OCP\IConfig instead * * Adds a value to the preferences. If the key did not exist before, it * will be added automagically. */ public static function setValue( $user, $app, $key, $value, $preCondition = null ) { - return self::$object->setValue( $user, $app, $key, $value, $preCondition ); + try { + \OC::$server->getConfig()->setUserValue($user, $app, $key, $value, $preCondition); + return true; + } catch(\OCP\PreConditionNotMetException $e) { + return false; + } } /** @@ -100,24 +83,13 @@ class OC_Preferences{ * @param string $user user * @param string $app app * @param string $key key + * @return bool true + * @deprecated use deleteUserValue of \OCP\IConfig instead * * Deletes a key. */ public static function deleteKey( $user, $app, $key ) { - self::$object->deleteKey( $user, $app, $key ); - return true; - } - - /** - * Remove app of user from preferences - * @param string $user user - * @param string $app app - * @return bool - * - * Removes all keys in preferences belonging to the app and the user. - */ - public static function deleteApp( $user, $app ) { - self::$object->deleteApp( $user, $app ); + \OC::$server->getConfig()->deleteUserValue($user, $app, $key); return true; } @@ -125,11 +97,12 @@ class OC_Preferences{ * Remove user from preferences * @param string $user user * @return bool + * @deprecated use deleteUser of \OCP\IConfig instead * * Removes all keys in preferences belonging to the user. */ public static function deleteUser( $user ) { - self::$object->deleteUser( $user ); + \OC::$server->getConfig()->deleteAllUserValues($user); return true; } @@ -137,11 +110,12 @@ class OC_Preferences{ * Remove app from all users * @param string $app app * @return bool + * @deprecated use deleteAppFromAllUsers of \OCP\IConfig instead * * Removes all keys in preferences belonging to the app. */ public static function deleteAppFromAllUsers( $app ) { - self::$object->deleteAppFromAllUsers( $app ); + \OC::$server->getConfig()->deleteAppFromAllUsers($app); return true; } } diff --git a/lib/private/ocs/cloud.php b/lib/private/ocs/cloud.php index 3ced0af8ee1..552aa96a26b 100644 --- a/lib/private/ocs/cloud.php +++ b/lib/private/ocs/cloud.php @@ -91,7 +91,7 @@ class OC_OCS_Cloud { } public static function getCurrentUser() { - $email=OC_Preferences::getValue(OC_User::getUser(), 'settings', 'email', ''); + $email=\OC::$server->getConfig()->getUserValue(OC_User::getUser(), 'settings', 'email', ''); $data = array( 'id' => OC_User::getUser(), 'display-name' => OC_User::getDisplayName(), diff --git a/lib/private/preferences.php b/lib/private/preferences.php index cdaa207449d..cd4a9fd1c19 100644 --- a/lib/private/preferences.php +++ b/lib/private/preferences.php @@ -37,16 +37,14 @@ namespace OC; use OCP\IDBConnection; +use OCP\PreConditionNotMetException; /** * This class provides an easy way for storing user preferences. + * @deprecated use \OCP\IConfig methods instead */ class Preferences { - /** - * @var \OC\DB\Connection - */ - protected $conn; /** * 3 dimensional array with the following structure: @@ -60,65 +58,14 @@ class Preferences { */ protected $cache = array(); + /** @var \OCP\IConfig */ + protected $config; + /** * @param \OCP\IDBConnection $conn */ public function __construct(IDBConnection $conn) { - $this->conn = $conn; - } - - /** - * Get all users using the preferences - * @return array an array of user ids - * - * This function returns a list of all users that have at least one entry - * in the preferences table. - */ - public function getUsers() { - $query = 'SELECT DISTINCT `userid` FROM `*PREFIX*preferences`'; - $result = $this->conn->executeQuery($query); - - $users = array(); - while ($userid = $result->fetchColumn()) { - $users[] = $userid; - } - - return $users; - } - - /** - * @param string $user - * @return array[] - */ - protected function getUserValues($user) { - if (isset($this->cache[$user])) { - return $this->cache[$user]; - } - $data = array(); - $query = 'SELECT `appid`, `configkey`, `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ?'; - $result = $this->conn->executeQuery($query, array($user)); - while ($row = $result->fetch()) { - $app = $row['appid']; - if (!isset($data[$app])) { - $data[$app] = array(); - } - $data[$app][$row['configkey']] = $row['configvalue']; - } - $this->cache[$user] = $data; - return $data; - } - - /** - * Get all apps of an user - * @param string $user user - * @return integer[] with app ids - * - * This function returns a list of all apps of the user that have at least - * one entry in the preferences table. - */ - public function getApps($user) { - $data = $this->getUserValues($user); - return array_keys($data); + $this->config = \OC::$server->getConfig(); } /** @@ -126,17 +73,13 @@ class Preferences { * @param string $user user * @param string $app the app we are looking for * @return array an array of key names + * @deprecated use getUserKeys of \OCP\IConfig instead * * This function gets all keys of an app of an user. Please note that the * values are not returned. */ public function getKeys($user, $app) { - $data = $this->getUserValues($user); - if (isset($data[$app])) { - return array_keys($data[$app]); - } else { - return array(); - } + return $this->config->getUserKeys($user, $app); } /** @@ -146,17 +89,13 @@ class Preferences { * @param string $key key * @param string $default = null, default value if the key does not exist * @return string the value or $default + * @deprecated use getUserValue of \OCP\IConfig instead * * This function gets a value from the preferences table. If the key does * not exist the default value will be returned */ public function getValue($user, $app, $key, $default = null) { - $data = $this->getUserValues($user); - if (isset($data[$app]) and isset($data[$app][$key])) { - return $data[$app][$key]; - } else { - return $default; - } + return $this->config->getUserValue($user, $app, $key, $default); } /** @@ -167,59 +106,18 @@ class Preferences { * @param string $value value * @param string $preCondition only set value if the key had a specific value before * @return bool true if value was set, otherwise false + * @deprecated use setUserValue of \OCP\IConfig instead * * Adds a value to the preferences. If the key did not exist before, it * will be added automagically. */ public function setValue($user, $app, $key, $value, $preCondition = null) { - // Check if the key does exist - $query = 'SELECT `configvalue` FROM `*PREFIX*preferences`' - . ' WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'; - $oldValue = $this->conn->fetchColumn($query, array($user, $app, $key)); - $exists = $oldValue !== false; - - if($oldValue === strval($value)) { - // no changes + try { + $this->config->setUserValue($user, $app, $key, $value, $preCondition); return true; + } catch(PreConditionNotMetException $e) { + return false; } - - $affectedRows = 0; - - if (!$exists && $preCondition === null) { - $data = array( - 'userid' => $user, - 'appid' => $app, - 'configkey' => $key, - 'configvalue' => $value, - ); - $affectedRows = $this->conn->insert('*PREFIX*preferences', $data); - } elseif ($exists) { - $data = array($value, $user, $app, $key); - $sql = "UPDATE `*PREFIX*preferences` SET `configvalue` = ?" - . " WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?"; - - if ($preCondition !== null) { - if (\OC_Config::getValue( 'dbtype', 'sqlite' ) === 'oci') { - //oracle hack: need to explicitly cast CLOB to CHAR for comparison - $sql .= " AND to_char(`configvalue`) = ?"; - } else { - $sql .= " AND `configvalue` = ?"; - } - $data[] = $preCondition; - } - $affectedRows = $this->conn->executeUpdate($sql, $data); - } - - // only add to the cache if we already loaded data for the user - if ($affectedRows > 0 && isset($this->cache[$user])) { - if (!isset($this->cache[$user][$app])) { - $this->cache[$user][$app] = array(); - } - $this->cache[$user][$app][$key] = $value; - } - - return ($affectedRows > 0) ? true : false; - } /** @@ -228,35 +126,10 @@ class Preferences { * @param string $key * @param array $users * @return array Mapped values: userid => value + * @deprecated use getUserValueForUsers of \OCP\IConfig instead */ public function getValueForUsers($app, $key, $users) { - if (empty($users) || !is_array($users)) { - return array(); - } - - $chunked_users = array_chunk($users, 50, true); - $placeholders_50 = implode(',', array_fill(0, 50, '?')); - - $userValues = array(); - foreach ($chunked_users as $chunk) { - $queryParams = $chunk; - array_unshift($queryParams, $key); - array_unshift($queryParams, $app); - - $placeholders = (sizeof($chunk) == 50) ? $placeholders_50 : implode(',', array_fill(0, sizeof($chunk), '?')); - - $query = 'SELECT `userid`, `configvalue` ' - . ' FROM `*PREFIX*preferences` ' - . ' WHERE `appid` = ? AND `configkey` = ?' - . ' AND `userid` IN (' . $placeholders . ')'; - $result = $this->conn->executeQuery($query, $queryParams); - - while ($row = $result->fetch()) { - $userValues[$row['userid']] = $row['configvalue']; - } - } - - return $userValues; + return $this->config->getUserValueForUsers($app, $key, $users); } /** @@ -265,28 +138,10 @@ class Preferences { * @param string $key * @param string $value * @return array + * @deprecated use getUsersForUserValue of \OCP\IConfig instead */ public function getUsersForValue($app, $key, $value) { - $users = array(); - - $query = 'SELECT `userid` ' - . ' FROM `*PREFIX*preferences` ' - . ' WHERE `appid` = ? AND `configkey` = ? AND '; - - if (\OC_Config::getValue( 'dbtype', 'sqlite' ) === 'oci') { - //FIXME oracle hack: need to explicitly cast CLOB to CHAR for comparison - $query .= ' to_char(`configvalue`)= ?'; - } else { - $query .= ' `configvalue` = ?'; - } - - $result = $this->conn->executeQuery($query, array($app, $key, $value)); - - while ($row = $result->fetch()) { - $users[] = $row['userid']; - } - - return $users; + return $this->config->getUsersForUserValue($app, $key, $value); } /** @@ -294,72 +149,33 @@ class Preferences { * @param string $user user * @param string $app app * @param string $key key + * @deprecated use deleteUserValue of \OCP\IConfig instead * * Deletes a key. */ public function deleteKey($user, $app, $key) { - $where = array( - 'userid' => $user, - 'appid' => $app, - 'configkey' => $key, - ); - $this->conn->delete('*PREFIX*preferences', $where); - - if (isset($this->cache[$user]) and isset($this->cache[$user][$app])) { - unset($this->cache[$user][$app][$key]); - } - } - - /** - * Remove app of user from preferences - * @param string $user user - * @param string $app app - * - * Removes all keys in preferences belonging to the app and the user. - */ - public function deleteApp($user, $app) { - $where = array( - 'userid' => $user, - 'appid' => $app, - ); - $this->conn->delete('*PREFIX*preferences', $where); - - if (isset($this->cache[$user])) { - unset($this->cache[$user][$app]); - } + $this->config->deleteUserValue($user, $app, $key); } /** * Remove user from preferences * @param string $user user + * @deprecated use deleteAllUserValues of \OCP\IConfig instead * * Removes all keys in preferences belonging to the user. */ public function deleteUser($user) { - $where = array( - 'userid' => $user, - ); - $this->conn->delete('*PREFIX*preferences', $where); - - unset($this->cache[$user]); + $this->config->deleteAllUserValues($user); } /** * Remove app from all users * @param string $app app + * @deprecated use deleteAppFromAllUsers of \OCP\IConfig instead * * Removes all keys in preferences belonging to the app. */ public function deleteAppFromAllUsers($app) { - $where = array( - 'appid' => $app, - ); - $this->conn->delete('*PREFIX*preferences', $where); - - foreach ($this->cache as &$userCache) { - unset($userCache[$app]); - } + $this->config->deleteAppFromAllUsers($app); } } - -require_once __DIR__ . '/legacy/' . basename(__FILE__); diff --git a/lib/private/server.php b/lib/private/server.php index 7bd7f8ca45d..ce21980c532 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -9,6 +9,7 @@ use OC\Cache\UserCache; use OC\Diagnostics\NullQueryLogger; use OC\Diagnostics\EventLogger; use OC\Diagnostics\QueryLogger; +use OC\Files\Config\StorageManager; use OC\Security\CertificateManager; use OC\DB\ConnectionWrapper; use OC\Files\Node\Root; @@ -104,8 +105,26 @@ class Server extends SimpleContainer implements IServerContainer { return new \OC\User\Manager($config); }); $this->registerService('GroupManager', function (Server $c) { - $userManager = $c->getUserManager(); - return new \OC\Group\Manager($userManager); + $groupManager = new \OC\Group\Manager($this->getUserManager()); + $groupManager->listen('\OC\Group', 'preCreate', function ($gid) { + \OC_Hook::emit('OC_Group', 'pre_createGroup', array('run' => true, 'gid' => $gid)); + }); + $groupManager->listen('\OC\Group', 'postCreate', function (\OC\Group\Group $gid) { + \OC_Hook::emit('OC_User', 'post_createGroup', array('gid' => $gid->getGID())); + }); + $groupManager->listen('\OC\Group', 'preDelete', function (\OC\Group\Group $group) { + \OC_Hook::emit('OC_Group', 'pre_deleteGroup', array('run' => true, 'gid' => $group->getGID())); + }); + $groupManager->listen('\OC\Group', 'postDelete', function (\OC\Group\Group $group) { + \OC_Hook::emit('OC_User', 'post_deleteGroup', array('gid' => $group->getGID())); + }); + $groupManager->listen('\OC\Group', 'preAddUser', function (\OC\Group\Group $group, \OC\User\User $user) { + \OC_Hook::emit('OC_Group', 'pre_addToGroup', array('run' => true, 'uid' => $user->getUID(), 'gid' => $group->getGID())); + }); + $groupManager->listen('\OC\Group', 'postAddUser', function (\OC\Group\Group $group, \OC\User\User $user) { + \OC_Hook::emit('OC_Group', 'post_addToGroup', array('uid' => $user->getUID(), 'gid' => $group->getGID())); + }); + return $groupManager; }); $this->registerService('UserSession', function (Server $c) { $manager = $c->getUserManager(); @@ -148,8 +167,13 @@ class Server extends SimpleContainer implements IServerContainer { $this->registerService('NavigationManager', function ($c) { return new \OC\NavigationManager(); }); - $this->registerService('AllConfig', function ($c) { - return new \OC\AllConfig(); + $this->registerService('AllConfig', function (Server $c) { + return new \OC\AllConfig( + $c->getSystemConfig() + ); + }); + $this->registerService('SystemConfig', function ($c) { + return new \OC\SystemConfig(); }); $this->registerService('AppConfig', function ($c) { return new \OC\AppConfig(\OC_DB::getConnection()); @@ -211,11 +235,12 @@ class Server extends SimpleContainer implements IServerContainer { }); $this->registerService('DatabaseConnection', function (Server $c) { $factory = new \OC\DB\ConnectionFactory(); - $type = $c->getConfig()->getSystemValue('dbtype', 'sqlite'); + $systemConfig = $c->getSystemConfig(); + $type = $systemConfig->getValue('dbtype', 'sqlite'); if (!$factory->isValidType($type)) { throw new \OC\DatabaseException('Invalid database type'); } - $connectionParams = $factory->createConnectionParams($c->getConfig()); + $connectionParams = $factory->createConnectionParams($systemConfig); $connection = $factory->getConnection($type, $connectionParams); $connection->getConfiguration()->setSQLLogger($c->getQueryLogger()); return $connection; @@ -250,6 +275,10 @@ class Server extends SimpleContainer implements IServerContainer { $groupManager = $c->getGroupManager(); return new \OC\App\AppManager($userSession, $appConfig, $groupManager); }); + $this->registerService('MountConfigManager', function () { + $loader = \OC\Files\Filesystem::getLoader(); + return new \OC\Files\Config\MountProviderCollection($loader); + }); } /** @@ -423,6 +452,15 @@ class Server extends SimpleContainer implements IServerContainer { } /** + * For internal use only + * + * @return \OC\SystemConfig + */ + function getSystemConfig() { + return $this->query('SystemConfig'); + } + + /** * Returns the app config manager * * @return \OCP\IAppConfig @@ -647,4 +685,11 @@ class Server extends SimpleContainer implements IServerContainer { function getWebRoot() { return $this->webRoot; } + + /** + * @return \OCP\Files\Config\IMountProviderCollection + */ + function getMountProviderCollection(){ + return $this->query('MountConfigManager'); + } } diff --git a/lib/private/share/mailnotifications.php b/lib/private/share/mailnotifications.php index 2f704fb2b3c..342d3d5057a 100644 --- a/lib/private/share/mailnotifications.php +++ b/lib/private/share/mailnotifications.php @@ -79,7 +79,7 @@ class MailNotifications { foreach ($recipientList as $recipient) { $recipientDisplayName = \OCP\User::getDisplayName($recipient); - $to = \OC_Preferences::getValue($recipient, 'settings', 'email', ''); + $to = \OC::$server->getConfig()->getUserValue($recipient, 'settings', 'email', ''); if ($to === '') { $noMail[] = $recipientDisplayName; diff --git a/lib/private/share/share.php b/lib/private/share/share.php index c6fd1604ac7..abcd14f6ec2 100644 --- a/lib/private/share/share.php +++ b/lib/private/share/share.php @@ -699,18 +699,19 @@ class Share extends \OC\Share\Constants { * @param string $itemSource * @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK * @param string $shareWith User or group the item is being shared with + * @param string $owner owner of the share, if null the current user is used * @return boolean true on success or false on failure */ - public static function unshare($itemType, $itemSource, $shareType, $shareWith) { + public static function unshare($itemType, $itemSource, $shareType, $shareWith, $owner = null) { // check if it is a valid itemType self::getBackend($itemType); - $items = self::getItemSharedWithUser($itemType, $itemSource, $shareWith, null, $shareType); + $items = self::getItemSharedWithUser($itemType, $itemSource, $shareWith, $owner, $shareType); $toDelete = array(); $newParent = null; - $currentUser = \OC_User::getUser(); + $currentUser = $owner ? $owner : \OC_User::getUser(); foreach ($items as $item) { // delete the item with the expected share_type and owner if ((int)$item['share_type'] === (int)$shareType && $item['uid_owner'] === $currentUser) { diff --git a/lib/private/systemconfig.php b/lib/private/systemconfig.php new file mode 100644 index 00000000000..ce6883e5ab3 --- /dev/null +++ b/lib/private/systemconfig.php @@ -0,0 +1,49 @@ +<?php +/** + * Copyright (c) 2014 Morris Jobke <hey@morrisjobke.de> + * 2013 Bart Visscher <bartv@thisnet.nl> + * + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + * + */ + +namespace OC; + +/** + * Class which provides access to the system config values stored in config.php + * Internal class for bootstrap only. + * fixes cyclic DI: AllConfig needs AppConfig needs Database needs AllConfig + */ +class SystemConfig { + /** + * Sets a new system wide value + * + * @param string $key the key of the value, under which will be saved + * @param mixed $value the value that should be stored + */ + public function setValue($key, $value) { + \OC_Config::setValue($key, $value); + } + + /** + * Looks up a system wide defined value + * + * @param string $key the key of the value, under which it was saved + * @param mixed $default the default value to be returned if the value isn't set + * @return mixed the value or $default + */ + public function getValue($key, $default = '') { + return \OC_Config::getValue($key, $default); + } + + /** + * Delete a system wide defined value + * + * @param string $key the key of the value, under which it was saved + */ + public function deleteValue($key) { + \OC_Config::deleteKey($key); + } +} diff --git a/lib/private/user.php b/lib/private/user.php index b2a235425c4..f93b76a3a64 100644 --- a/lib/private/user.php +++ b/lib/private/user.php @@ -47,6 +47,7 @@ class OC_User { /** * @return \OC\User\Manager + * @deprecated Use \OC::$server->getUserManager() */ public static function getManager() { return OC::$server->getUserManager(); @@ -179,6 +180,7 @@ class OC_User { * itself, not in its subclasses. * * Allowed characters in the username are: "a-z", "A-Z", "0-9" and "_.@-" + * @deprecated Use \OC::$server->getUserManager->createUser($uid, $password) */ public static function createUser($uid, $password) { return self::getManager()->createUser($uid, $password); @@ -190,30 +192,12 @@ class OC_User { * @return bool * * Deletes a user + * @deprecated Use \OC::$server->getUserManager->delete() */ public static function deleteUser($uid) { $user = self::getManager()->get($uid); if ($user) { - $result = $user->delete(); - - // if delete was successful we clean-up the rest - if ($result) { - - // We have to delete the user from all groups - foreach (OC_Group::getUserGroups($uid) as $i) { - OC_Group::removeFromGroup($uid, $i); - } - // Delete the user's keys in preferences - OC_Preferences::deleteUser($uid); - - // Delete user files in /data/ - OC_Helper::rmdirr(\OC_User::getHome($uid)); - - // Delete the users entry in the storage table - \OC\Files\Cache\Storage::remove('home::' . $uid); - } - - return true; + return $user->delete(); } else { return false; } @@ -525,6 +509,7 @@ class OC_User { * @return string * * returns the path to the users home directory + * @deprecated Use \OC::$server->getUserManager->getHome() */ public static function getHome($uid) { $user = self::getManager()->get($uid); diff --git a/lib/private/user/manager.php b/lib/private/user/manager.php index 0c01f957bd3..4fa3711e3b8 100644 --- a/lib/private/user/manager.php +++ b/lib/private/user/manager.php @@ -11,6 +11,7 @@ namespace OC\User; use OC\Hooks\PublicEmitter; use OCP\IUserManager; +use OCP\IConfig; /** * Class Manager @@ -37,14 +38,14 @@ class Manager extends PublicEmitter implements IUserManager { private $cachedUsers = array(); /** - * @var \OC\AllConfig $config + * @var \OCP\IConfig $config */ private $config; /** - * @param \OC\AllConfig $config + * @param \OCP\IConfig $config */ - public function __construct($config = null) { + public function __construct(IConfig $config = null) { $this->config = $config; $cachedUsers = &$this->cachedUsers; $this->listen('\OC\User', 'postDelete', function ($user) use (&$cachedUsers) { @@ -220,7 +221,7 @@ class Manager extends PublicEmitter implements IUserManager { * @param string $uid * @param string $password * @throws \Exception - * @return bool|\OC\User\User the created user of false + * @return bool|\OC\User\User the created user or false */ public function createUser($uid, $password) { $l = \OC::$server->getL10N('lib'); diff --git a/lib/private/user/session.php b/lib/private/user/session.php index 94abaca3e76..277aa1a047e 100644 --- a/lib/private/user/session.php +++ b/lib/private/user/session.php @@ -211,15 +211,15 @@ class Session implements IUserSession, Emitter { } // get stored tokens - $tokens = \OC_Preferences::getKeys($uid, 'login_token'); + $tokens = \OC::$server->getConfig()->getUserKeys($uid, 'login_token'); // test cookies token against stored tokens if (!in_array($currentToken, $tokens, true)) { return false; } // replace successfully used token with a new one - \OC_Preferences::deleteKey($uid, 'login_token', $currentToken); + \OC::$server->getConfig()->deleteUserValue($uid, 'login_token', $currentToken); $newToken = \OC::$server->getSecureRandom()->getMediumStrengthGenerator()->generate(32); - \OC_Preferences::setValue($uid, 'login_token', $newToken, time()); + \OC::$server->getConfig()->setUserValue($uid, 'login_token', $newToken, time()); $this->setMagicInCookie($user->getUID(), $newToken); //login diff --git a/lib/private/user/user.php b/lib/private/user/user.php index 9ad2f5f0d3a..00ded84f955 100644 --- a/lib/private/user/user.php +++ b/lib/private/user/user.php @@ -11,6 +11,7 @@ namespace OC\User; use OC\Hooks\Emitter; use OCP\IUser; +use OCP\IConfig; class User implements IUser { /** @@ -49,7 +50,7 @@ class User implements IUser { private $lastLogin; /** - * @var \OC\AllConfig $config + * @var \OCP\IConfig $config */ private $config; @@ -57,9 +58,9 @@ class User implements IUser { * @param string $uid * @param \OC_User_Interface $backend * @param \OC\Hooks\Emitter $emitter - * @param \OC\AllConfig $config + * @param \OCP\IConfig $config */ - public function __construct($uid, $backend, $emitter = null, $config = null) { + public function __construct($uid, $backend, $emitter = null, IConfig $config = null) { $this->uid = $uid; $this->backend = $backend; $this->emitter = $emitter; @@ -67,10 +68,11 @@ class User implements IUser { if ($this->config) { $enabled = $this->config->getUserValue($uid, 'core', 'enabled', 'true'); $this->enabled = ($enabled === 'true'); + $this->lastLogin = $this->config->getUserValue($uid, 'login', 'lastLogin', 0); } else { $this->enabled = true; + $this->lastLogin = \OC::$server->getConfig()->getUserValue($uid, 'login', 'lastLogin', 0); } - $this->lastLogin = \OC_Preferences::getValue($uid, 'login', 'lastLogin', 0); } /** @@ -139,7 +141,7 @@ class User implements IUser { */ public function updateLastLoginTimestamp() { $this->lastLogin = time(); - \OC_Preferences::setValue( + \OC::$server->getConfig()->setUserValue( $this->uid, 'login', 'lastLogin', $this->lastLogin); } @@ -153,6 +155,24 @@ class User implements IUser { $this->emitter->emit('\OC\User', 'preDelete', array($this)); } $result = $this->backend->deleteUser($this->uid); + if ($result) { + + // FIXME: Feels like an hack - suggestions? + + // We have to delete the user from all groups + foreach (\OC_Group::getUserGroups($this->uid) as $i) { + \OC_Group::removeFromGroup($this->uid, $i); + } + // Delete the user's keys in preferences + \OC::$server->getConfig()->deleteAllUserValues($this->uid); + + // Delete user files in /data/ + \OC_Helper::rmdirr(\OC_User::getHome($this->uid)); + + // Delete the users entry in the storage table + \OC\Files\Cache\Storage::remove('home::' . $this->uid); + } + if ($this->emitter) { $this->emitter->emit('\OC\User', 'postDelete', array($this)); } diff --git a/lib/public/config.php b/lib/public/config.php index 65dde39cdce..70ff3a3fed0 100644 --- a/lib/public/config.php +++ b/lib/public/config.php @@ -37,6 +37,7 @@ namespace OCP; /** * This class provides functions to read and write configuration data. * configuration can be on a system, application or user level + * @deprecated use methods of \OCP\IConfig */ class Config { /** @@ -44,12 +45,13 @@ class Config { * @param string $key key * @param mixed $default = null default value * @return mixed the value or $default + * @deprecated use method getSystemValue of \OCP\IConfig * * This function gets the value from config.php. If it does not exist, * $default will be returned. */ public static function getSystemValue( $key, $default = null ) { - return \OC_Config::getValue( $key, $default ); + return \OC::$server->getConfig()->getSystemValue( $key, $default ); } /** @@ -57,13 +59,14 @@ class Config { * @param string $key key * @param mixed $value value * @return bool + * @deprecated use method setSystemValue of \OCP\IConfig * * This function sets the value and writes the config.php. If the file can * not be written, false will be returned. */ public static function setSystemValue( $key, $value ) { try { - \OC_Config::setValue( $key, $value ); + \OC::$server->getConfig()->setSystemValue( $key, $value ); } catch (\Exception $e) { return false; } @@ -73,11 +76,12 @@ class Config { /** * Deletes a value from config.php * @param string $key key + * @deprecated use method deleteSystemValue of \OCP\IConfig * * This function deletes the value from config.php. */ public static function deleteSystemValue( $key ) { - return \OC_Config::deleteKey( $key ); + \OC::$server->getConfig()->deleteSystemValue( $key ); } /** @@ -86,12 +90,13 @@ class Config { * @param string $key key * @param string $default = null, default value if the key does not exist * @return string the value or $default + * @deprecated use method getAppValue of \OCP\IConfig * * This function gets a value from the appconfig table. If the key does * not exist the default value will be returned */ public static function getAppValue( $app, $key, $default = null ) { - return \OC_Appconfig::getValue( $app, $key, $default ); + return \OC::$server->getConfig()->getAppValue( $app, $key, $default ); } /** @@ -100,12 +105,13 @@ class Config { * @param string $key key * @param string $value value * @return boolean true/false + * @deprecated use method setAppValue of \OCP\IConfig * * Sets a value. If the key did not exist before it will be created. */ public static function setAppValue( $app, $key, $value ) { try { - \OC_Appconfig::setValue( $app, $key, $value ); + \OC::$server->getConfig()->setAppValue( $app, $key, $value ); } catch (\Exception $e) { return false; } @@ -119,12 +125,13 @@ class Config { * @param string $key key * @param string $default = null, default value if the key does not exist * @return string the value or $default + * @deprecated use method getUserValue of \OCP\IConfig * * This function gets a value from the preferences table. If the key does * not exist the default value will be returned */ public static function getUserValue( $user, $app, $key, $default = null ) { - return \OC_Preferences::getValue( $user, $app, $key, $default ); + return \OC::$server->getConfig()->getUserValue( $user, $app, $key, $default ); } /** @@ -134,13 +141,14 @@ class Config { * @param string $key key * @param string $value value * @return bool + * @deprecated use method setUserValue of \OCP\IConfig * * Adds a value to the preferences. If the key did not exist before, it * will be added automagically. */ public static function setUserValue( $user, $app, $key, $value ) { try { - \OC_Preferences::setValue( $user, $app, $key, $value ); + \OC::$server->getConfig()->setUserValue( $user, $app, $key, $value ); } catch (\Exception $e) { return false; } diff --git a/lib/public/files/config/imountprovider.php b/lib/public/files/config/imountprovider.php new file mode 100644 index 00000000000..5a39e6c8948 --- /dev/null +++ b/lib/public/files/config/imountprovider.php @@ -0,0 +1,26 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCP\Files\Config; + +use OCP\Files\Storage\IStorageFactory; +use OCP\IUser; + +/** + * Provides + */ +interface IMountProvider { + /** + * Get all mountpoints applicable for the user + * + * @param \OCP\IUser $user + * @param \OCP\Files\Storage\IStorageFactory $loader + * @return \OCP\Files\Mount\IMountPoint[] + */ + public function getMountsForUser(IUser $user, IStorageFactory $loader); +} diff --git a/lib/public/files/config/imountprovidercollection.php b/lib/public/files/config/imountprovidercollection.php new file mode 100644 index 00000000000..52797414ab9 --- /dev/null +++ b/lib/public/files/config/imountprovidercollection.php @@ -0,0 +1,31 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCP\Files\Config; + +use OCP\IUser; + +/** + * Manages the different mount providers + */ +interface IMountProviderCollection { + /** + * Get all configured mount points for the user + * + * @param \OCP\IUser $user + * @return \OCP\Files\Mount\IMountPoint[] + */ + public function getMountsForUser(IUser $user); + + /** + * Add a provider for mount points + * + * @param \OCP\Files\Config\IMountProvider $provider + */ + public function registerProvider(IMountProvider $provider); +} diff --git a/lib/public/files/mount/imountpoint.php b/lib/public/files/mount/imountpoint.php new file mode 100644 index 00000000000..dac634bae4c --- /dev/null +++ b/lib/public/files/mount/imountpoint.php @@ -0,0 +1,58 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCP\Files\Mount; + +/** + * A storage mounted to folder on the filesystem + */ +interface IMountPoint { + + /** + * get complete path to the mount point + * + * @return string + */ + public function getMountPoint(); + + /** + * Set the mountpoint + * + * @param string $mountPoint new mount point + */ + public function setMountPoint($mountPoint); + + /** + * Get the storage that is mounted + * + * @return \OC\Files\Storage\Storage + */ + public function getStorage(); + + /** + * Get the id of the storages + * + * @return string + */ + public function getStorageId(); + + /** + * Get the path relative to the mountpoint + * + * @param string $path absolute path to a file or folder + * @return string + */ + public function getInternalPath($path); + + /** + * Apply a storage wrapper to the mounted storage + * + * @param callable $wrapper + */ + public function wrapStorage($wrapper); +} diff --git a/lib/public/files/storage/istoragefactory.php b/lib/public/files/storage/istoragefactory.php new file mode 100644 index 00000000000..769d7011de4 --- /dev/null +++ b/lib/public/files/storage/istoragefactory.php @@ -0,0 +1,32 @@ +<?php +/** + * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCP\Files\Storage; + +/** + * Creates storage instances and manages and applies storage wrappers + */ +interface IStorageFactory { + /** + * allow modifier storage behaviour by adding wrappers around storages + * + * $callback should be a function of type (string $mountPoint, Storage $storage) => Storage + * + * @param string $wrapperName + * @param callable $callback + */ + public function addStorageWrapper($wrapperName, $callback); + + /** + * @param string|boolean $mountPoint + * @param string $class + * @param array $arguments + * @return \OCP\Files\Storage + */ + public function getInstance($mountPoint, $class, $arguments); +} diff --git a/lib/public/iappconfig.php b/lib/public/iappconfig.php index d43eb70ee04..cbd1a7e0573 100644 --- a/lib/public/iappconfig.php +++ b/lib/public/iappconfig.php @@ -26,6 +26,7 @@ interface IAppConfig { * @param string $key key * @param string $default = null, default value if the key does not exist * @return string the value or $default + * @deprecated use method getAppValue of \OCP\IConfig * * This function gets a value from the appconfig table. If the key does * not exist the default value will be returned @@ -37,8 +38,7 @@ interface IAppConfig { * @param string $app app * @param string $key key * @return bool - * - * Deletes a key. + * @deprecated use method deleteAppValue of \OCP\IConfig */ public function deleteKey($app, $key); @@ -46,6 +46,7 @@ interface IAppConfig { * Get the available keys for an app * @param string $app the app we are looking for * @return array an array of key names + * @deprecated use method getAppKeys of \OCP\IConfig * * This function gets all keys of an app. Please note that the values are * not returned. @@ -66,6 +67,7 @@ interface IAppConfig { * @param string $app app * @param string $key key * @param string $value value + * @deprecated use method setAppValue of \OCP\IConfig * * Sets a value. If the key did not exist before it will be created. * @return void @@ -85,6 +87,7 @@ interface IAppConfig { * Remove app from appconfig * @param string $app app * @return bool + * @deprecated use method deleteAppValue of \OCP\IConfig * * Removes all keys in appconfig belonging to the app. */ diff --git a/lib/public/iconfig.php b/lib/public/iconfig.php index 554fee5b22f..fe0f1273a80 100644 --- a/lib/public/iconfig.php +++ b/lib/public/iconfig.php @@ -94,6 +94,13 @@ interface IConfig { */ public function deleteAppValue($appName, $key); + /** + * Removes all keys in appconfig belonging to the app + * + * @param string $appName the appName the configs are stored under + */ + public function deleteAppValues($appName); + /** * Set a user defined value @@ -102,9 +109,10 @@ interface IConfig { * @param string $appName the appName that we want to store the value under * @param string $key the key under which the value is being stored * @param string $value the value that you want to store - * @return void + * @param string $preCondition only update if the config value was previously the value passed as $preCondition + * @throws \OCP\PreConditionNotMetException if a precondition is specified and is not met */ - public function setUserValue($userId, $appName, $key, $value); + public function setUserValue($userId, $appName, $key, $value, $preCondition = null); /** * Shortcut for getting a user defined value @@ -118,6 +126,16 @@ interface IConfig { public function getUserValue($userId, $appName, $key, $default = ''); /** + * Fetches a mapped list of userId -> value, for a specified app and key and a list of user IDs. + * + * @param $appName app to get the value for + * @param $key the key to get the value for + * @param $userIds the user IDs to fetch the values for + * @return array Mapped values: userId => value + */ + public function getUserValueForUsers($appName, $key, $userIds); + + /** * Get the keys of all stored by an app for the user * * @param string $userId the userId of the user that we want to store the value under @@ -134,4 +152,28 @@ interface IConfig { * @param string $key the key under which the value is being stored */ public function deleteUserValue($userId, $appName, $key); + + /** + * Delete all user values + * + * @param string $userId the userId of the user that we want to remove all values from + */ + public function deleteAllUserValues($userId); + + /** + * Delete all user related values of one app + * + * @param string $appName the appName of the app that we want to remove all values from + */ + public function deleteAppFromAllUsers($appName); + + /** + * Determines the users that have the given value set for a specific app-key-pair + * + * @param string $appName the app to get the user for + * @param string $key the key to get the user for + * @param string $value the value to get the user for + * @return array of user IDs + */ + public function getUsersForUserValue($appName, $key, $value); } diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php index 301f47c68fa..657c9be423b 100644 --- a/lib/public/iservercontainer.php +++ b/lib/public/iservercontainer.php @@ -305,4 +305,9 @@ interface IServerContainer { * @return string */ function getWebRoot(); + + /** + * @return \OCP\Files\Config\IMountProviderCollection + */ + function getMountProviderCollection(); } diff --git a/lib/public/preconditionnotmetexception.php b/lib/public/preconditionnotmetexception.php new file mode 100644 index 00000000000..ceba01a0b4b --- /dev/null +++ b/lib/public/preconditionnotmetexception.php @@ -0,0 +1,30 @@ +<?php +/** + * ownCloud + * + * @author Morris Jobke + * @copyright 2014 Morris Jobke <hey@morrisjobke.de> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +// use OCP namespace for all classes that are considered public. +// This means that they should be used by apps instead of the internal ownCloud classes +namespace OCP; + +/** + * Exception if the precondition of the config update method isn't met + */ +class PreConditionNotMetException extends \Exception {} diff --git a/lib/public/share.php b/lib/public/share.php index b3ece8fab94..60e5a6fd85b 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -242,10 +242,11 @@ class Share extends \OC\Share\Constants { * @param string $itemSource * @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK * @param string $shareWith User or group the item is being shared with + * @param string $owner owner of the share, if null the current user is used * @return boolean true on success or false on failure */ - public static function unshare($itemType, $itemSource, $shareType, $shareWith) { - return \OC\Share\Share::unshare($itemType, $itemSource, $shareType, $shareWith); + public static function unshare($itemType, $itemSource, $shareType, $shareWith, $owner = null) { + return \OC\Share\Share::unshare($itemType, $itemSource, $shareType, $shareWith, $owner); } /** diff --git a/ocs/routes.php b/ocs/routes.php index 845ee49a46d..567f9ccb23d 100644 --- a/ocs/routes.php +++ b/ocs/routes.php @@ -81,3 +81,33 @@ OC_API::register( 'core', OC_API::USER_AUTH ); + +// Server-to-Server Sharing +$s2s = new \OCA\Files_Sharing\API\Server2Server(); +OC_API::register('post', + '/cloud/shares', + array($s2s, 'createShare'), + 'files_sharing', + OC_API::GUEST_AUTH +); + +OC_API::register('post', + '/cloud/shares/{id}/accept', + array($s2s, 'acceptShare'), + 'files_sharing', + OC_API::GUEST_AUTH +); + +OC_API::register('post', + '/cloud/shares/{id}/decline', + array($s2s, 'declineShare'), + 'files_sharing', + OC_API::GUEST_AUTH +); + +OC_API::register('post', + '/cloud/shares/{id}/unshare', + array($s2s, 'unshare'), + 'files_sharing', + OC_API::GUEST_AUTH +); diff --git a/settings/admin.php b/settings/admin.php index a5f07037911..bb5f47b36a9 100644 --- a/settings/admin.php +++ b/settings/admin.php @@ -9,7 +9,6 @@ OC_Util::checkAdminUser(); OC_App::setActiveNavigationEntry("admin"); $template = new OC_Template('settings', 'admin', 'user'); -$htAccessWorking = OC_Util::isHtaccessWorking(); $entries = OC_Log_Owncloud::getEntries(3); $entriesRemaining = count(OC_Log_Owncloud::getEntries(4)) > 3; @@ -32,7 +31,6 @@ $template->assign('mail_smtpname', $config->getSystemValue("mail_smtpname", '')) $template->assign('mail_smtppassword', $config->getSystemValue("mail_smtppassword", '')); $template->assign('entries', $entries); $template->assign('entriesremain', $entriesRemaining); -$template->assign('htaccessworking', $htAccessWorking); $template->assign('readOnlyConfigEnabled', OC_Helper::isReadOnlyConfigEnabled()); $template->assign('isLocaleWorking', OC_Util::isSetLocaleWorking()); $template->assign('isPhpCharSetUtf8', OC_Util::isPhpCharSetUtf8()); @@ -78,7 +76,7 @@ $template->assign('databaseOverload', $databaseOverload); $forms = OC_App::getForms('admin'); $l = OC_L10N::get('settings'); $formsAndMore = array(); -if (OC_Request::serverProtocol() !== 'https' || !$htAccessWorking || !OC_Util::isAnnotationsWorking() || +if (OC_Request::serverProtocol() !== 'https' || !OC_Util::isAnnotationsWorking() || $suggestedOverwriteWebRoot || !OC_Util::isSetLocaleWorking() || !OC_Util::isPhpCharSetUtf8() || !OC_Util::fileInfoLoaded() || $databaseOverload ) { diff --git a/settings/ajax/checksetup.php b/settings/ajax/checksetup.php index 6bf5bc5642e..64718933317 100644 --- a/settings/ajax/checksetup.php +++ b/settings/ajax/checksetup.php @@ -17,7 +17,8 @@ if (OC_Util::isInternetConnectionEnabled()) { } OCP\JSON::success( - array( - 'serverhasinternetconnection' => $hasInternet + array ( + 'serverHasInternetConnection' => $hasInternet, + 'dataDirectoryProtected' => OC_Util::isHtaccessWorking() ) ); diff --git a/settings/ajax/creategroup.php b/settings/ajax/creategroup.php deleted file mode 100644 index be376bea9dc..00000000000 --- a/settings/ajax/creategroup.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -OCP\JSON::callCheck(); -OC_JSON::checkAdminUser(); - -$groupname = $_POST["groupname"]; -$l = \OC::$server->getL10N('settings'); - -// Does the group exist? -if( in_array( $groupname, OC_Group::getGroups())) { - OC_JSON::error(array("data" => array( "message" => $l->t("Group already exists") ))); - exit(); -} - -// Return Success story -if( OC_Group::createGroup( $groupname )) { - OC_JSON::success(array("data" => array( "groupname" => $groupname ))); -} -else{ - OC_JSON::error(array("data" => array( "message" => $l->t("Unable to add group") ))); -} diff --git a/settings/ajax/createuser.php b/settings/ajax/createuser.php deleted file mode 100644 index 463c15d59e8..00000000000 --- a/settings/ajax/createuser.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php - -OCP\JSON::callCheck(); -OC_JSON::checkSubAdminUser(); - -if(OC_User::isAdminUser(OC_User::getUser())) { - $groups = array(); - if (!empty($_POST["groups"])) { - $groups = $_POST["groups"]; - } -}else{ - if (isset($_POST["groups"])) { - $groups = array(); - if (!empty($_POST["groups"])) { - foreach ($_POST["groups"] as $group) { - if (OC_SubAdmin::isGroupAccessible(OC_User::getUser(), $group)) { - $groups[] = $group; - } - } - } - if (empty($groups)) { - $groups = OC_SubAdmin::getSubAdminsGroups(OC_User::getUser()); - } - } else { - $groups = OC_SubAdmin::getSubAdminsGroups(OC_User::getUser()); - } -} -$username = $_POST["username"]; -$password = $_POST["password"]; - -// Return Success story -try { - // check whether the user's files home exists - $userDirectory = OC_User::getHome($username) . '/files/'; - $homeExists = file_exists($userDirectory); - - if (!OC_User::createUser($username, $password)) { - OC_JSON::error(array('data' => array( 'message' => 'User creation failed for '.$username ))); - exit(); - } - foreach( $groups as $i ) { - if(!OC_Group::groupExists($i)) { - OC_Group::createGroup($i); - } - OC_Group::addToGroup( $username, $i ); - } - - $userManager = \OC_User::getManager(); - $user = $userManager->get($username); - OCP\JSON::success(array("data" => - array( - // returns whether the home already existed - "homeExists" => $homeExists, - "username" => $username, - "groups" => OC_Group::getUserGroups( $username ), - 'storageLocation' => $user->getHome()))); -} catch (Exception $exception) { - OCP\JSON::error(array("data" => array( "message" => $exception->getMessage()))); -} diff --git a/settings/ajax/grouplist.php b/settings/ajax/grouplist.php deleted file mode 100644 index 93bb510773d..00000000000 --- a/settings/ajax/grouplist.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** - * ownCloud - * - * @author Arthur Schiwon - * @copyright 2014 Arthur Schiwon <blizzz@owncloud.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this library. If not, see <http://www.gnu.org/licenses/>. - * - */ - -OC_JSON::callCheck(); -OC_JSON::checkSubAdminUser(); -if (isset($_GET['pattern']) && !empty($_GET['pattern'])) { - $pattern = $_GET['pattern']; -} else { - $pattern = ''; -} -if (isset($_GET['filterGroups']) && !empty($_GET['filterGroups'])) { - $filterGroups = intval($_GET['filterGroups']) === 1; -} else { - $filterGroups = false; -} -$groupPattern = $filterGroups ? $pattern : ''; -$groups = array(); -$adminGroups = array(); -$groupManager = \OC_Group::getManager(); -$isAdmin = OC_User::isAdminUser(OC_User::getUser()); - -$groupsInfo = new \OC\Group\MetaData(OC_User::getUser(), $isAdmin, $groupManager); -$groupsInfo->setSorting($groupsInfo::SORT_USERCOUNT); -list($adminGroups, $groups) = $groupsInfo->get($groupPattern, $pattern); - -OC_JSON::success( - array('data' => array('adminGroups' => $adminGroups, 'groups' => $groups))); diff --git a/settings/ajax/lostpassword.php b/settings/ajax/lostpassword.php index 395ba31f92b..b0fb20c4a7e 100644 --- a/settings/ajax/lostpassword.php +++ b/settings/ajax/lostpassword.php @@ -8,7 +8,7 @@ $l = \OC::$server->getL10N('settings'); // Get data if( isset( $_POST['email'] ) && OC_Mail::validateAddress($_POST['email']) ) { $email=trim($_POST['email']); - OC_Preferences::setValue(OC_User::getUser(), 'settings', 'email', $email); + \OC::$server->getConfig()->setUserValue(OC_User::getUser(), 'settings', 'email', $email); OC_JSON::success(array("data" => array( "message" => $l->t("Email saved") ))); }else{ OC_JSON::error(array("data" => array( "message" => $l->t("Invalid email") ))); diff --git a/settings/ajax/removegroup.php b/settings/ajax/removegroup.php deleted file mode 100644 index 798d7916e61..00000000000 --- a/settings/ajax/removegroup.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -OC_JSON::checkAdminUser(); -OCP\JSON::callCheck(); - -$name = $_POST["groupname"]; - -// Return Success story -if( OC_Group::deleteGroup( $name )) { - OC_JSON::success(array("data" => array( "groupname" => $name ))); -} -else{ - OC_JSON::error(array("data" => array( "message" => $l->t("Unable to delete group") ))); -} diff --git a/settings/ajax/removeuser.php b/settings/ajax/removeuser.php deleted file mode 100644 index eda85238780..00000000000 --- a/settings/ajax/removeuser.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php - -OC_JSON::checkSubAdminUser(); -OCP\JSON::callCheck(); - -$username = $_POST["username"]; - -// A user shouldn't be able to delete his own account -if(OC_User::getUser() === $username) { - exit; -} - -if(!OC_User::isAdminUser(OC_User::getUser()) && !OC_SubAdmin::isUserAccessible(OC_User::getUser(), $username)) { - $l = \OC::$server->getL10N('core'); - OC_JSON::error(array( 'data' => array( 'message' => $l->t('Authentication error') ))); - exit(); -} - -// Return Success story -if( OC_User::deleteUser( $username )) { - OC_JSON::success(array("data" => array( "username" => $username ))); -} -else{ - $l = \OC::$server->getL10N('core'); - OC_JSON::error(array("data" => array( "message" => $l->t("Unable to delete user") ))); -} diff --git a/settings/ajax/setlanguage.php b/settings/ajax/setlanguage.php index a3988db85bb..a83212927bf 100644 --- a/settings/ajax/setlanguage.php +++ b/settings/ajax/setlanguage.php @@ -11,7 +11,7 @@ if( isset( $_POST['lang'] ) ) { $languageCodes=OC_L10N::findAvailableLanguages(); $lang=$_POST['lang']; if(array_search($lang, $languageCodes) or $lang === 'en') { - OC_Preferences::setValue( OC_User::getUser(), 'core', 'lang', $lang ); + \OC::$server->getConfig()->setUserValue( OC_User::getUser(), 'core', 'lang', $lang ); OC_JSON::success(array("data" => array( "message" => $l->t("Language changed") ))); }else{ OC_JSON::error(array("data" => array( "message" => $l->t("Invalid request") ))); diff --git a/settings/ajax/setquota.php b/settings/ajax/setquota.php index f19506a0456..64a686e83d7 100644 --- a/settings/ajax/setquota.php +++ b/settings/ajax/setquota.php @@ -27,7 +27,7 @@ if($quota !== 'none' and $quota !== 'default') { // Return Success story if($username) { - OC_Preferences::setValue($username, 'files', 'quota', $quota); + \OC::$server->getConfig()->setUserValue($username, 'files', 'quota', $quota); }else{//set the default quota when no username is specified if($quota === 'default') {//'default' as default quota makes no sense $quota='none'; diff --git a/settings/ajax/userlist.php b/settings/ajax/userlist.php deleted file mode 100644 index 807cf5f1899..00000000000 --- a/settings/ajax/userlist.php +++ /dev/null @@ -1,92 +0,0 @@ -<?php -/** - * ownCloud - * - * @author Michael Gapczynski - * @copyright 2012 Michael Gapczynski mtgap@owncloud.com - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU AFFERO GENERAL PUBLIC LICENSE for more details. - * - * You should have received a copy of the GNU Affero General Public - * License along with this library. If not, see <http://www.gnu.org/licenses/>. - * - */ - -OC_JSON::callCheck(); -OC_JSON::checkSubAdminUser(); -if (isset($_GET['offset'])) { - $offset = $_GET['offset']; -} else { - $offset = 0; -} -if (isset($_GET['limit'])) { - $limit = $_GET['limit']; -} else { - $limit = 10; -} -if (isset($_GET['gid']) && !empty($_GET['gid'])) { - $gid = $_GET['gid']; - if ($gid === '_everyone') { - $gid = false; - } -} else { - $gid = false; -} -if (isset($_GET['pattern']) && !empty($_GET['pattern'])) { - $pattern = $_GET['pattern']; -} else { - $pattern = ''; -} -$users = array(); -$userManager = \OC_User::getManager(); -if (OC_User::isAdminUser(OC_User::getUser())) { - if($gid !== false) { - $batch = OC_Group::displayNamesInGroup($gid, $pattern, $limit, $offset); - } else { - $batch = OC_User::getDisplayNames($pattern, $limit, $offset); - } - foreach ($batch as $uid => $displayname) { - $user = $userManager->get($uid); - $users[] = array( - 'name' => $uid, - 'displayname' => $displayname, - 'groups' => OC_Group::getUserGroups($uid), - 'subadmin' => OC_SubAdmin::getSubAdminsGroups($uid), - 'quota' => OC_Preferences::getValue($uid, 'files', 'quota', 'default'), - 'storageLocation' => $user->getHome(), - 'lastLogin' => $user->getLastLogin(), - ); - } -} else { - $groups = OC_SubAdmin::getSubAdminsGroups(OC_User::getUser()); - if($gid !== false && in_array($gid, $groups)) { - $groups = array($gid); - } elseif($gid !== false) { - //don't you try to investigate loops you must not know about - $groups = array(); - } - $batch = OC_Group::usersInGroups($groups, $pattern, $limit, $offset); - foreach ($batch as $uid) { - $user = $userManager->get($uid); - - // Only add the groups, this user is a subadmin of - $userGroups = array_intersect(OC_Group::getUserGroups($uid), OC_SubAdmin::getSubAdminsGroups(OC_User::getUser())); - $users[] = array( - 'name' => $uid, - 'displayname' => $user->getDisplayName(), - 'groups' => $userGroups, - 'quota' => OC_Preferences::getValue($uid, 'files', 'quota', 'default'), - 'storageLocation' => $user->getHome(), - 'lastLogin' => $user->getLastLogin(), - ); - } -} -OC_JSON::success(array('data' => $users)); diff --git a/settings/application.php b/settings/application.php index 64aa4671228..0a80bd8b1e7 100644 --- a/settings/application.php +++ b/settings/application.php @@ -10,11 +10,14 @@ namespace OC\Settings; -use OC\AppFramework\Utility\SimpleContainer; use OC\Settings\Controller\AppSettingsController; +use OC\Settings\Controller\GroupsController; use OC\Settings\Controller\MailSettingsController; use OC\Settings\Controller\SecuritySettingsController; +use OC\Settings\Controller\UsersController; +use OC\Settings\Middleware\SubadminMiddleware; use \OCP\AppFramework\App; +use OCP\IContainer; use \OCP\Util; /** @@ -34,7 +37,7 @@ class Application extends App { /** * Controllers */ - $container->registerService('MailSettingsController', function(SimpleContainer $c) { + $container->registerService('MailSettingsController', function(IContainer $c) { return new MailSettingsController( $c->query('AppName'), $c->query('Request'), @@ -46,7 +49,7 @@ class Application extends App { $c->query('DefaultMailAddress') ); }); - $container->registerService('AppSettingsController', function(SimpleContainer $c) { + $container->registerService('AppSettingsController', function(IContainer $c) { return new AppSettingsController( $c->query('AppName'), $c->query('Request'), @@ -54,33 +57,81 @@ class Application extends App { $c->query('Config') ); }); - $container->registerService('SecuritySettingsController', function(SimpleContainer $c) { + $container->registerService('SecuritySettingsController', function(IContainer $c) { return new SecuritySettingsController( $c->query('AppName'), $c->query('Request'), $c->query('Config') ); }); + $container->registerService('GroupsController', function(IContainer $c) { + return new GroupsController( + $c->query('AppName'), + $c->query('Request'), + $c->query('GroupManager'), + $c->query('UserSession'), + $c->query('IsAdmin'), + $c->query('L10N') + ); + }); + $container->registerService('UsersController', function(IContainer $c) { + return new UsersController( + $c->query('AppName'), + $c->query('Request'), + $c->query('UserManager'), + $c->query('GroupManager'), + $c->query('UserSession'), + $c->query('Config'), + $c->query('IsAdmin'), + $c->query('L10N') + ); + }); + + /** + * Middleware + */ + $container->registerService('SubadminMiddleware', function(IContainer $c){ + return new SubadminMiddleware( + $c->query('ControllerMethodReflector'), + $c->query('IsSubAdmin') + ); + }); + // Execute middlewares + $container->registerMiddleware('SubadminMiddleware'); /** * Core class wrappers */ - $container->registerService('Config', function(SimpleContainer $c) { + $container->registerService('Config', function(IContainer $c) { return $c->query('ServerContainer')->getConfig(); }); - $container->registerService('L10N', function(SimpleContainer $c) { + $container->registerService('L10N', function(IContainer $c) { return $c->query('ServerContainer')->getL10N('settings'); }); - $container->registerService('UserSession', function(SimpleContainer $c) { + $container->registerService('GroupManager', function(IContainer $c) { + return $c->query('ServerContainer')->getGroupManager(); + }); + $container->registerService('UserManager', function(IContainer $c) { + return $c->query('ServerContainer')->getUserManager(); + }); + $container->registerService('UserSession', function(IContainer $c) { return $c->query('ServerContainer')->getUserSession(); }); - $container->registerService('Mail', function(SimpleContainer $c) { + /** FIXME: Remove once OC_User is non-static and mockable */ + $container->registerService('IsAdmin', function(IContainer $c) { + return \OC_User::isAdminUser(\OC_User::getUser()); + }); + /** FIXME: Remove once OC_SubAdmin is non-static and mockable */ + $container->registerService('IsSubAdmin', function(IContainer $c) { + return \OC_Subadmin::isSubAdmin(\OC_User::getUser()); + }); + $container->registerService('Mail', function(IContainer $c) { return new \OC_Mail; }); - $container->registerService('Defaults', function(SimpleContainer $c) { + $container->registerService('Defaults', function(IContainer $c) { return new \OC_Defaults; }); - $container->registerService('DefaultMailAddress', function(SimpleContainer $c) { + $container->registerService('DefaultMailAddress', function(IContainer $c) { return Util::getDefaultEmailAddress('no-reply'); }); } diff --git a/settings/controller/groupscontroller.php b/settings/controller/groupscontroller.php new file mode 100644 index 00000000000..82e72821c3d --- /dev/null +++ b/settings/controller/groupscontroller.php @@ -0,0 +1,140 @@ +<?php +/** + * @author Lukas Reschke + * @copyright 2014 Lukas Reschke lukas@owncloud.com + * + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Settings\Controller; + +use OC\AppFramework\Http; +use \OCP\AppFramework\Controller; +use OCP\AppFramework\Http\DataResponse; +use OCP\IGroupManager; +use OCP\IL10N; +use OCP\IRequest; +use OCP\IUserSession; + +/** + * @package OC\Settings\Controller + */ +class GroupsController extends Controller { + /** @var IGroupManager */ + private $groupManager; + /** @var IL10N */ + private $l10n; + /** @var IUserSession */ + private $userSession; + /** @var bool */ + private $isAdmin; + + /** + * @param string $appName + * @param IRequest $request + * @param IGroupManager $groupManager + * @param IUserSession $userSession + * @param bool $isAdmin + * @param IL10N $l10n + */ + public function __construct($appName, + IRequest $request, + IGroupManager $groupManager, + IUserSession $userSession, + $isAdmin, + IL10N $l10n) { + parent::__construct($appName, $request); + $this->groupManager = $groupManager; + $this->userSession = $userSession; + $this->isAdmin = $isAdmin; + $this->l10n = $l10n; + } + + /** + * @NoAdminRequired + * + * @param string $pattern + * @param bool $filterGroups + * @return DataResponse + */ + public function index($pattern = '', $filterGroups = false) { + $groupPattern = $filterGroups ? $pattern : ''; + + $groupsInfo = new \OC\Group\MetaData($this->userSession->getUser()->getUID(), + $this->isAdmin, $this->groupManager); + $groupsInfo->setSorting($groupsInfo::SORT_USERCOUNT); + list($adminGroups, $groups) = $groupsInfo->get($groupPattern, $pattern); + + return new DataResponse( + array( + 'data' => array('adminGroups' => $adminGroups, 'groups' => $groups) + ) + ); + } + + /** + * @param string $id + * @return DataResponse + */ + public function create($id) { + if($this->groupManager->groupExists($id)) { + return new DataResponse( + array( + 'message' => (string)$this->l10n->t('Group already exists.') + ), + Http::STATUS_CONFLICT + ); + } + if($this->groupManager->createGroup($id)) { + return new DataResponse( + array( + 'groupname' => $id + ), + Http::STATUS_CREATED + ); + } + + return new DataResponse( + array( + 'status' => 'error', + 'data' => array( + 'message' => (string)$this->l10n->t('Unable to add group.') + ) + ), + Http::STATUS_FORBIDDEN + ); + } + + /** + * @param string $id + * @return DataResponse + */ + public function destroy($id) { + $group = $this->groupManager->get($id); + if ($group) { + if ($group->delete()) { + return new DataResponse( + array( + 'status' => 'success', + 'data' => array( + 'groupname' => $id + ) + ), + Http::STATUS_NO_CONTENT + ); + } + } + return new DataResponse( + array( + 'status' => 'error', + 'data' => array( + 'message' => (string)$this->l10n->t('Unable to delete group.') + ), + ), + Http::STATUS_FORBIDDEN + ); + } + +} diff --git a/settings/controller/userscontroller.php b/settings/controller/userscontroller.php new file mode 100644 index 00000000000..5bd4b555106 --- /dev/null +++ b/settings/controller/userscontroller.php @@ -0,0 +1,253 @@ +<?php +/** + * @author Lukas Reschke + * @copyright 2014 Lukas Reschke lukas@owncloud.com + * + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Settings\Controller; + +use OC\AppFramework\Http; +use OC\User\User; +use \OCP\AppFramework\Controller; +use OCP\AppFramework\Http\DataResponse; +use OCP\IConfig; +use OCP\IGroupManager; +use OCP\IL10N; +use OCP\IRequest; +use OCP\IUserManager; +use OCP\IUserSession; + +/** + * @package OC\Settings\Controller + */ +class UsersController extends Controller { + /** @var IL10N */ + private $l10n; + /** @var IUserSession */ + private $userSession; + /** @var bool */ + private $isAdmin; + /** @var IUserManager */ + private $userManager; + /** @var IGroupManager */ + private $groupManager; + /** @var IConfig */ + private $config; + + /** + * @param string $appName + * @param IRequest $request + * @param IUserManager $userManager + * @param IGroupManager $groupManager + * @param IUserSession $userSession + * @param IConfig $config + * @param bool $isAdmin + * @param IL10N $l10n + */ + public function __construct($appName, + IRequest $request, + IUserManager $userManager, + IGroupManager $groupManager, + IUserSession $userSession, + IConfig $config, + $isAdmin, + IL10N $l10n) { + parent::__construct($appName, $request); + $this->userManager = $userManager; + $this->groupManager = $groupManager; + $this->userSession = $userSession; + $this->config = $config; + $this->isAdmin = $isAdmin; + $this->l10n = $l10n; + } + + /** + * @NoAdminRequired + * @NoCSRFRequired + * @param int $offset + * @param int $limit + * @param string $gid + * @param string $pattern + * @return DataResponse + * + * TODO: Tidy up and write unit tests - code is mainly static method calls + */ + public function index($offset = 0, $limit = 10, $gid = '', $pattern = '') { + // FIXME: The JS sends the group '_everyone' instead of no GID for the "all users" group. + if($gid === '_everyone') { + $gid = ''; + } + $users = array(); + if ($this->isAdmin) { + if($gid !== '') { + $batch = $this->groupManager->displayNamesInGroup($gid, $pattern, $limit, $offset); + } else { + // FIXME: Remove static method call + $batch = \OC_User::getDisplayNames($pattern, $limit, $offset); + } + + foreach ($batch as $uid => $displayname) { + $user = $this->userManager->get($uid); + $users[] = array( + 'name' => $uid, + 'displayname' => $displayname, + 'groups' => $this->groupManager->getUserGroupIds($user), + 'subadmin' => \OC_SubAdmin::getSubAdminsGroups($uid), + 'quota' => $this->config->getUserValue($uid, 'files', 'quota', 'default'), + 'storageLocation' => $user->getHome(), + 'lastLogin' => $user->getLastLogin(), + ); + } + } else { + $groups = \OC_SubAdmin::getSubAdminsGroups($this->userSession->getUser()->getUID()); + if($gid !== '' && in_array($gid, $groups)) { + $groups = array($gid); + } elseif($gid !== '') { + //don't you try to investigate loops you must not know about + $groups = array(); + } + $batch = \OC_Group::usersInGroups($groups, $pattern, $limit, $offset); + foreach ($batch as $uid) { + $user = $this->userManager->get($uid); + + // Only add the groups, this user is a subadmin of + $userGroups = array_intersect($this->groupManager->getUserGroupIds($user), \OC_SubAdmin::getSubAdminsGroups($this->userSession->getUser()->getUID())); + $users[] = array( + 'name' => $uid, + 'displayname' => $user->getDisplayName(), + 'groups' => $userGroups, + 'quota' => $this->config->getUserValue($uid, 'files', 'quota', 'default'), + 'storageLocation' => $user->getHome(), + 'lastLogin' => $user->getLastLogin(), + ); + } + } + + // FIXME: That assignment on "data" is uneeded here - JS should be adjusted + return new DataResponse(array('data' => $users, 'status' => 'success')); + } + + /** + * @NoAdminRequired + * + * @param string $username + * @param string $password + * @param array $groups + * @return DataResponse + * + * TODO: Tidy up and write unit tests - code is mainly static method calls + */ + public function create($username, $password, array $groups) { + + if (!$this->isAdmin) { + if (!empty($groups)) { + foreach ($groups as $key => $group) { + if (!\OC_SubAdmin::isGroupAccessible($this->userSession->getUser()->getUID(), $group)) { + unset($groups[$key]); + } + } + } + if (empty($groups)) { + $groups = \OC_SubAdmin::getSubAdminsGroups($this->userSession->getUser()->getUID()); + } + } + + try { + $user = $this->userManager->createUser($username, $password); + } catch (\Exception $exception) { + return new DataResponse( + array( + 'message' => (string)$this->l10n->t('Unable to create user.') + ), + Http::STATUS_FORBIDDEN + ); + } + + if($user instanceof User) { + foreach( $groups as $groupName ) { + $group = $this->groupManager->get($groupName); + + if(empty($group)) { + $group = $this->groupManager->createGroup($groupName); + } + $group->addUser($user); + } + } + + return new DataResponse( + array( + 'username' => $username, + 'groups' => $this->groupManager->getUserGroupIds($user), + 'storageLocation' => $user->getHome() + ), + Http::STATUS_CREATED + ); + + } + + /** + * @NoAdminRequired + * + * @param string $id + * @return DataResponse + * + * TODO: Tidy up and write unit tests - code is mainly static method calls + */ + public function destroy($id) { + if($this->userSession->getUser()->getUID() === $id) { + return new DataResponse( + array( + 'status' => 'error', + 'data' => array( + 'message' => (string)$this->l10n->t('Unable to delete user.') + ) + ), + Http::STATUS_FORBIDDEN + ); + } + + // FIXME: Remove this static function call at some point… + if(!$this->isAdmin && !\OC_SubAdmin::isUserAccessible($this->userSession->getUser()->getUID(), $id)) { + return new DataResponse( + array( + 'status' => 'error', + 'data' => array( + 'message' => (string)$this->l10n->t('Authentication error') + ) + ), + Http::STATUS_FORBIDDEN + ); + } + + $user = $this->userManager->get($id); + if($user) { + if($user->delete()) { + return new DataResponse( + array( + 'status' => 'success', + 'data' => array( + 'username' => $id + ) + ), + Http::STATUS_NO_CONTENT + ); + } + } + + return new DataResponse( + array( + 'status' => 'error', + 'data' => array( + 'message' => (string)$this->l10n->t('Unable to delete user.') + ) + ), + Http::STATUS_FORBIDDEN + ); + + } + +} diff --git a/settings/js/settings.js b/settings/js/settings.js index 13c56a8f53a..e98bd2cc895 100644 --- a/settings/js/settings.js +++ b/settings/js/settings.js @@ -41,7 +41,7 @@ OC.Settings = _.extend(OC.Settings, { }; } $.ajax({ - url: OC.generateUrl('/settings/ajax/grouplist'), + url: OC.generateUrl('/settings/users/groups'), data: queryData, dataType: 'json', success: function(data) { diff --git a/settings/js/users/deleteHandler.js b/settings/js/users/deleteHandler.js index c89a844044e..942bae91cd3 100644 --- a/settings/js/users/deleteHandler.js +++ b/settings/js/users/deleteHandler.js @@ -189,11 +189,10 @@ DeleteHandler.prototype.deleteEntry = function(keepNotification) { var payload = {}; payload[dh.ajaxParamID] = dh.oidToDelete; $.ajax({ - type: 'POST', - url: OC.filePath('settings', 'ajax', dh.ajaxEndpoint), + type: 'DELETE', + url: OC.generateUrl(dh.ajaxEndpoint+'/'+this.oidToDelete), // FIXME: do not use synchronous ajax calls as they block the browser ! async: false, - data: payload, success: function (result) { if (result.status === 'success') { // Remove undo option, & remove user from table diff --git a/settings/js/users/groups.js b/settings/js/users/groups.js index 081842734f0..c06bc5ff14b 100644 --- a/settings/js/users/groups.js +++ b/settings/js/users/groups.js @@ -84,29 +84,24 @@ GroupList = { createGroup: function (groupname) { $.post( - OC.filePath('settings', 'ajax', 'creategroup.php'), + OC.generateUrl('/settings/users/groups'), { - groupname: groupname + id: groupname }, function (result) { - if (result.status !== 'success') { - OC.dialogs.alert(result.data.message, - t('settings', 'Error creating group')); + if (result.groupname) { + var addedGroup = result.groupname; + UserList.availableGroups = $.unique($.merge(UserList.availableGroups, [addedGroup])); + GroupList.addGroup(result.groupname); + + $('.groupsselect, .subadminsselect') + .append($('<option>', { value: result.groupname }) + .text(result.groupname)); } - else { - if (result.data.groupname) { - var addedGroup = result.data.groupname; - UserList.availableGroups = $.unique($.merge(UserList.availableGroups, [addedGroup])); - GroupList.addGroup(result.data.groupname); - - $('.groupsselect, .subadminsselect') - .append($('<option>', { value: result.data.groupname }) - .text(result.data.groupname)); - } - GroupList.toggleAddGroup(); - } - } - ); + GroupList.toggleAddGroup(); + }).fail(function(result, textStatus, errorThrown) { + OC.dialogs.alert(result.responseJSON.message, t('settings', 'Error creating group')); + }); }, update: function () { @@ -115,7 +110,7 @@ GroupList = { } GroupList.updating = true; $.get( - OC.generateUrl('/settings/ajax/grouplist'), + OC.generateUrl('/settings/users/groups'), { pattern: filter.getPattern(), filterGroups: filter.filterGroups ? 1 : 0 @@ -221,7 +216,7 @@ GroupList = { }, initDeleteHandling: function () { //set up handler - GroupDeleteHandler = new DeleteHandler('removegroup.php', 'groupname', + GroupDeleteHandler = new DeleteHandler('/settings/users/groups', 'groupname', GroupList.hide, GroupList.remove); //configure undo diff --git a/settings/js/users/users.js b/settings/js/users/users.js index 5e0c0cac189..1bca6d06b33 100644 --- a/settings/js/users/users.js +++ b/settings/js/users/users.js @@ -292,7 +292,7 @@ var UserList = { }, initDeleteHandling: function() { //set up handler - UserDeleteHandler = new DeleteHandler('removeuser.php', 'username', + UserDeleteHandler = new DeleteHandler('/settings/users/users', 'username', UserList.markRemove, UserList.remove); //configure undo @@ -326,7 +326,7 @@ var UserList = { UserList.currentGid = gid; var pattern = filter.getPattern(); $.get( - OC.generateUrl('/settings/ajax/userlist'), + OC.generateUrl('/settings/users/users'), { offset: UserList.offset, limit: UserList.usersToLoad, gid: gid, pattern: pattern }, function (result) { var loadedUsers = 0; @@ -667,49 +667,44 @@ $(document).ready(function () { var groups = $('#newusergroups').val(); $('#newuser').get(0).reset(); $.post( - OC.filePath('settings', 'ajax', 'createuser.php'), + OC.generateUrl('/settings/users/users'), { username: username, password: password, groups: groups }, function (result) { - if (result.status !== 'success') { - OC.dialogs.alert(result.data.message, - t('settings', 'Error creating user')); - } else { - if (result.data.groups) { - var addedGroups = result.data.groups; - for (var i in result.data.groups) { - var gid = result.data.groups[i]; - if(UserList.availableGroups.indexOf(gid) === -1) { - UserList.availableGroups.push(gid); - } - $li = GroupList.getGroupLI(gid); - userCount = GroupList.getUserCount($li); - GroupList.setUserCount($li, userCount + 1); + if (result.groups) { + for (var i in result.groups) { + var gid = result.groups[i]; + if(UserList.availableGroups.indexOf(gid) === -1) { + UserList.availableGroups.push(gid); } + $li = GroupList.getGroupLI(gid); + userCount = GroupList.getUserCount($li); + GroupList.setUserCount($li, userCount + 1); } - if (result.data.homeExists){ - OC.Notification.hide(); - OC.Notification.show(t('settings', 'Warning: Home directory for user "{user}" already exists', {user: result.data.username})); - if (UserList.notificationTimeout){ - window.clearTimeout(UserList.notificationTimeout); - } - UserList.notificationTimeout = window.setTimeout( - function(){ - OC.Notification.hide(); - UserList.notificationTimeout = null; - }, 10000); - } - if(!UserList.has(username)) { - UserList.add(username, username, result.data.groups, null, 'default', result.data.storageLocation, 0, true); + } + if (result.homeExists){ + OC.Notification.hide(); + OC.Notification.show(t('settings', 'Warning: Home directory for user "{user}" already exists', {user: result.username})); + if (UserList.notificationTimeout){ + window.clearTimeout(UserList.notificationTimeout); } - $('#newusername').focus(); - GroupList.incEveryoneCount(); + UserList.notificationTimeout = window.setTimeout( + function(){ + OC.Notification.hide(); + UserList.notificationTimeout = null; + }, 10000); } - } - ); + if(!UserList.has(username)) { + UserList.add(username, username, result.groups, null, 'default', result.storageLocation, 0, true); + } + $('#newusername').focus(); + GroupList.incEveryoneCount(); + }).fail(function(result, textStatus, errorThrown) { + OC.dialogs.alert(result.responseJSON.message, t('settings', 'Error creating user')); + }); }); // Option to display/hide the "Storage location" column diff --git a/settings/l10n/ar.js b/settings/l10n/ar.js index f3e4d498cbd..61173b62149 100644 --- a/settings/l10n/ar.js +++ b/settings/l10n/ar.js @@ -9,12 +9,8 @@ OC.L10N.register( "Authentication error" : "لم يتم التأكد من الشخصية بنجاح", "Your full name has been changed." : "اسمك الكامل تم تغييره.", "Unable to change full name" : "لم يتم التمكن من تغيير اسمك الكامل", - "Group already exists" : "المجموعة موجودة مسبقاً", - "Unable to add group" : "فشل إضافة المجموعة", "Email saved" : "تم حفظ البريد الإلكتروني", "Invalid email" : "البريد الإلكتروني غير صالح", - "Unable to delete group" : "فشل إزالة المجموعة", - "Unable to delete user" : "فشل إزالة المستخدم", "Backups restored successfully" : "تم إسترجاع النسخة الإحتياطية بنجاح", "Language changed" : "تم تغيير اللغة", "Invalid request" : "طلب غير مفهوم", @@ -72,7 +68,6 @@ OC.L10N.register( "Login" : "تسجيل الدخول", "Security Warning" : "تحذير أمان", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "انت تستخدم %s عن طريق HTTP . نحن نقترح باصرار ان تهيء الخادم ليتمكن من الوصول عن طريق HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "مجلد data و ملفاتك يمكن الوصول لها عن طريق الانترنت. ملف .htaccess لا يمكن تشغيلة. نحن نقترح باصرار ان تعيد اعداد خادمك لمنع الدخول الى بياناتك عن طريق الانترنت او بالامكان ان تنقل مجلد data خارج document root بشكل مؤقت. ", "Setup Warning" : "تحذير في التنصيب", "Module 'fileinfo' missing" : "الموديل 'fileinfo' مفقود", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "موديل 'fileinfo' الخاص بالـPHP مفقود . نوصي بتفعيل هذا الموديل للحصول على أفضل النتائج مع خاصية التحقق ", diff --git a/settings/l10n/ar.json b/settings/l10n/ar.json index bd5171b4350..c44761e7324 100644 --- a/settings/l10n/ar.json +++ b/settings/l10n/ar.json @@ -7,12 +7,8 @@ "Authentication error" : "لم يتم التأكد من الشخصية بنجاح", "Your full name has been changed." : "اسمك الكامل تم تغييره.", "Unable to change full name" : "لم يتم التمكن من تغيير اسمك الكامل", - "Group already exists" : "المجموعة موجودة مسبقاً", - "Unable to add group" : "فشل إضافة المجموعة", "Email saved" : "تم حفظ البريد الإلكتروني", "Invalid email" : "البريد الإلكتروني غير صالح", - "Unable to delete group" : "فشل إزالة المجموعة", - "Unable to delete user" : "فشل إزالة المستخدم", "Backups restored successfully" : "تم إسترجاع النسخة الإحتياطية بنجاح", "Language changed" : "تم تغيير اللغة", "Invalid request" : "طلب غير مفهوم", @@ -70,7 +66,6 @@ "Login" : "تسجيل الدخول", "Security Warning" : "تحذير أمان", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "انت تستخدم %s عن طريق HTTP . نحن نقترح باصرار ان تهيء الخادم ليتمكن من الوصول عن طريق HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "مجلد data و ملفاتك يمكن الوصول لها عن طريق الانترنت. ملف .htaccess لا يمكن تشغيلة. نحن نقترح باصرار ان تعيد اعداد خادمك لمنع الدخول الى بياناتك عن طريق الانترنت او بالامكان ان تنقل مجلد data خارج document root بشكل مؤقت. ", "Setup Warning" : "تحذير في التنصيب", "Module 'fileinfo' missing" : "الموديل 'fileinfo' مفقود", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "موديل 'fileinfo' الخاص بالـPHP مفقود . نوصي بتفعيل هذا الموديل للحصول على أفضل النتائج مع خاصية التحقق ", diff --git a/settings/l10n/ast.js b/settings/l10n/ast.js index 3c0e0cbd58a..30f3dd64433 100644 --- a/settings/l10n/ast.js +++ b/settings/l10n/ast.js @@ -9,8 +9,6 @@ OC.L10N.register( "Authentication error" : "Fallu d'autenticación", "Your full name has been changed." : "Camudóse'l nome completu.", "Unable to change full name" : "Nun pue camudase'l nome completu", - "Group already exists" : "El grupu yá esiste", - "Unable to add group" : "Nun pudo amestase'l grupu", "Files decrypted successfully" : "Descifráronse los ficheros", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nun pudieron descifrase sus ficheros. Revisa'l owncloud.log o consulta col alministrador", "Couldn't decrypt your files, check your password and try again" : "Nun pudieron descifrase los ficheros. Revisa la contraseña ya inténtalo dempués", @@ -19,8 +17,6 @@ OC.L10N.register( "Couldn't remove app." : "Nun pudo desaniciase l'aplicación.", "Email saved" : "Corréu-e guardáu", "Invalid email" : "Corréu electrónicu non válidu", - "Unable to delete group" : "Nun pudo desaniciase'l grupu", - "Unable to delete user" : "Nun pudo desaniciase l'usuariu", "Backups restored successfully" : "Copia de seguridá restaurada", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Nun pudieron restaurase dafechu les tos claves de cifráu, por favor comprueba'l to owncloud.log o entruga a un alministrador", "Language changed" : "Camudóse la llingua", @@ -101,7 +97,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Avisu de seguridá", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Tas ingresando a %s vía HTTP. Encamentámoste que configures el sirvidor pa solicitar HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "El direutoriu de datos y ficheros ye dablemente accesible dende Internet, darréu que'l ficheru .htaccess nun ta funcionando. Suxerímoste que configures el sirvidor web de mou que'l direutoriu de datos nun seya accesible o que muevas talu direutoriu fuera del raigañu de documentos del sirvidor web.", "Setup Warning" : "Avisu de configuración", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ta aparentemente configuráu pa desaniciar bloques de documentos en llinia. Esto va facer que delles aplicaciones principales nun tean accesibles.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.", diff --git a/settings/l10n/ast.json b/settings/l10n/ast.json index 2d1a48006c7..041603959b1 100644 --- a/settings/l10n/ast.json +++ b/settings/l10n/ast.json @@ -7,8 +7,6 @@ "Authentication error" : "Fallu d'autenticación", "Your full name has been changed." : "Camudóse'l nome completu.", "Unable to change full name" : "Nun pue camudase'l nome completu", - "Group already exists" : "El grupu yá esiste", - "Unable to add group" : "Nun pudo amestase'l grupu", "Files decrypted successfully" : "Descifráronse los ficheros", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nun pudieron descifrase sus ficheros. Revisa'l owncloud.log o consulta col alministrador", "Couldn't decrypt your files, check your password and try again" : "Nun pudieron descifrase los ficheros. Revisa la contraseña ya inténtalo dempués", @@ -17,8 +15,6 @@ "Couldn't remove app." : "Nun pudo desaniciase l'aplicación.", "Email saved" : "Corréu-e guardáu", "Invalid email" : "Corréu electrónicu non válidu", - "Unable to delete group" : "Nun pudo desaniciase'l grupu", - "Unable to delete user" : "Nun pudo desaniciase l'usuariu", "Backups restored successfully" : "Copia de seguridá restaurada", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Nun pudieron restaurase dafechu les tos claves de cifráu, por favor comprueba'l to owncloud.log o entruga a un alministrador", "Language changed" : "Camudóse la llingua", @@ -99,7 +95,6 @@ "TLS" : "TLS", "Security Warning" : "Avisu de seguridá", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Tas ingresando a %s vía HTTP. Encamentámoste que configures el sirvidor pa solicitar HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "El direutoriu de datos y ficheros ye dablemente accesible dende Internet, darréu que'l ficheru .htaccess nun ta funcionando. Suxerímoste que configures el sirvidor web de mou que'l direutoriu de datos nun seya accesible o que muevas talu direutoriu fuera del raigañu de documentos del sirvidor web.", "Setup Warning" : "Avisu de configuración", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ta aparentemente configuráu pa desaniciar bloques de documentos en llinia. Esto va facer que delles aplicaciones principales nun tean accesibles.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.", diff --git a/settings/l10n/az.js b/settings/l10n/az.js index a1843da2ca2..edea4677552 100644 --- a/settings/l10n/az.js +++ b/settings/l10n/az.js @@ -4,8 +4,6 @@ OC.L10N.register( "Authentication error" : "Təyinat metodikası", "Your full name has been changed." : "Sizin tam adınız dəyişdirildi.", "Unable to change full name" : "Tam adı dəyişmək olmur", - "Group already exists" : "Qrup artıq mövcuddur", - "Unable to add group" : "Qrupu əlavə etmək olmur", "Files decrypted successfully" : "Fayllar uğurla deşifrə edildi", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Sizin faylları deşifrə etmək olmur, xahiş olunur owncloud.log faylını yoxlaya vəya inzibatçıya müraciət edəsiniz.", "Couldn't decrypt your files, check your password and try again" : "Sizin faylları deşifrə etmək olmur, xahiş olunur şifrəni yoxlaya və yenidən təkrar edəsiniz.", @@ -14,8 +12,6 @@ OC.L10N.register( "Couldn't remove app." : "Proqram təminatını silmək mümkün olmadı.", "Email saved" : "Məktub yadda saxlanıldı", "Invalid email" : "Yalnış məktub", - "Unable to delete group" : "Qrupu silmək olmur", - "Unable to delete user" : "İstifadəçini silmək olmur", "Backups restored successfully" : "Ehtiyyat nüsxələr uğurla geri qaytarıldı", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Sizin şifrələnmə açarlarınızı geri qaytarmaq mümkün olmadı, xahış olunur owncloud.log faylını yoxlaya və ya inzibatçıya müraciət edəsiniz.", "Language changed" : "Dil dəyişdirildi", diff --git a/settings/l10n/az.json b/settings/l10n/az.json index 37e8fe44761..222e8372f4c 100644 --- a/settings/l10n/az.json +++ b/settings/l10n/az.json @@ -2,8 +2,6 @@ "Authentication error" : "Təyinat metodikası", "Your full name has been changed." : "Sizin tam adınız dəyişdirildi.", "Unable to change full name" : "Tam adı dəyişmək olmur", - "Group already exists" : "Qrup artıq mövcuddur", - "Unable to add group" : "Qrupu əlavə etmək olmur", "Files decrypted successfully" : "Fayllar uğurla deşifrə edildi", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Sizin faylları deşifrə etmək olmur, xahiş olunur owncloud.log faylını yoxlaya vəya inzibatçıya müraciət edəsiniz.", "Couldn't decrypt your files, check your password and try again" : "Sizin faylları deşifrə etmək olmur, xahiş olunur şifrəni yoxlaya və yenidən təkrar edəsiniz.", @@ -12,8 +10,6 @@ "Couldn't remove app." : "Proqram təminatını silmək mümkün olmadı.", "Email saved" : "Məktub yadda saxlanıldı", "Invalid email" : "Yalnış məktub", - "Unable to delete group" : "Qrupu silmək olmur", - "Unable to delete user" : "İstifadəçini silmək olmur", "Backups restored successfully" : "Ehtiyyat nüsxələr uğurla geri qaytarıldı", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Sizin şifrələnmə açarlarınızı geri qaytarmaq mümkün olmadı, xahış olunur owncloud.log faylını yoxlaya və ya inzibatçıya müraciət edəsiniz.", "Language changed" : "Dil dəyişdirildi", diff --git a/settings/l10n/bg_BG.js b/settings/l10n/bg_BG.js index 506f44c4407..1431f6752f4 100644 --- a/settings/l10n/bg_BG.js +++ b/settings/l10n/bg_BG.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Възникна проблем с идентификацията", "Your full name has been changed." : "Пълното ти име е променено.", "Unable to change full name" : "Неуспешна промяна на пълното име.", - "Group already exists" : "Групата вече съществува", - "Unable to add group" : "Неуспешно добавяне на група", "Files decrypted successfully" : "Успешно разшифроването на файловете.", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Неуспешно разшифроване на файловете ти, моля провери owncloud.log или попитай администратора.", "Couldn't decrypt your files, check your password and try again" : "Неуспешно разшифроване на файловете ти, провери паролата си и опитай отново.", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Неуспешно премахване на приложението.", "Email saved" : "Имейла запазен", "Invalid email" : "Невалиден имейл", - "Unable to delete group" : "Неуспешно изтриване на група", - "Unable to delete user" : "Неуспешно изтриване на потребител", "Backups restored successfully" : "Резервното копие е успешно възстановено.", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Неуспешно възстановяване на криптиращите ти ключове, моля провери owncloud.log или попитай администратора.", "Language changed" : "Езикът е променен", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Предупреждение за Сигурноста", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "В момента използваш HTTP, за да посетиш %s. Силно препоръчваме да настроиш съвръра си да използва HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Твоята директория за данни и файлове вероятно са достъпни от интернет. .htaccess файла не функционира. Силно препоръчваме да настроиш уебсъръра по такъв начин, че директорията за данни да не бъде достъпна или да я преместиш извън директорията корен на сървъра.", "Setup Warning" : "Предупреждение за Настройките", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP е настроен да премахва inline doc блокове. Това може да превърне няколко основни приложения недостъпни.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Това може да се дължи на cache/accelerator като Zend OPache или eAccelerator.", @@ -117,7 +112,6 @@ OC.L10N.register( "This means that there might be problems with certain characters in file names." : "Това означва, че може да има проблеми с определини символи в имената на файловете.", "URL generation in notification emails" : "Генериране на URL в имейлите за известяване", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ако инсталацията не e инсталиранa в root на домейна и използва cron, може да има проблеми с генерирането на URL. За да избегнеш тези проблеми, моля, промени \"overwritewebroot\" в config.php с webroot пътя (Препоръчително: \"%s\")", - "Connectivity Checks" : "Проверки за свързаност", "No problems found" : "Не са открити проблеми", "Please double check the <a href='%s'>installation guides</a>." : "Моля, провери <a href='%s'>ръководството за инсталиране</a> отново.", "Last cron was executed at %s." : "Последният cron се изпълни в %s.", diff --git a/settings/l10n/bg_BG.json b/settings/l10n/bg_BG.json index 2c000622209..46de5fb98cb 100644 --- a/settings/l10n/bg_BG.json +++ b/settings/l10n/bg_BG.json @@ -8,8 +8,6 @@ "Authentication error" : "Възникна проблем с идентификацията", "Your full name has been changed." : "Пълното ти име е променено.", "Unable to change full name" : "Неуспешна промяна на пълното име.", - "Group already exists" : "Групата вече съществува", - "Unable to add group" : "Неуспешно добавяне на група", "Files decrypted successfully" : "Успешно разшифроването на файловете.", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Неуспешно разшифроване на файловете ти, моля провери owncloud.log или попитай администратора.", "Couldn't decrypt your files, check your password and try again" : "Неуспешно разшифроване на файловете ти, провери паролата си и опитай отново.", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Неуспешно премахване на приложението.", "Email saved" : "Имейла запазен", "Invalid email" : "Невалиден имейл", - "Unable to delete group" : "Неуспешно изтриване на група", - "Unable to delete user" : "Неуспешно изтриване на потребител", "Backups restored successfully" : "Резервното копие е успешно възстановено.", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Неуспешно възстановяване на криптиращите ти ключове, моля провери owncloud.log или попитай администратора.", "Language changed" : "Езикът е променен", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Предупреждение за Сигурноста", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "В момента използваш HTTP, за да посетиш %s. Силно препоръчваме да настроиш съвръра си да използва HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Твоята директория за данни и файлове вероятно са достъпни от интернет. .htaccess файла не функционира. Силно препоръчваме да настроиш уебсъръра по такъв начин, че директорията за данни да не бъде достъпна или да я преместиш извън директорията корен на сървъра.", "Setup Warning" : "Предупреждение за Настройките", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP е настроен да премахва inline doc блокове. Това може да превърне няколко основни приложения недостъпни.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Това може да се дължи на cache/accelerator като Zend OPache или eAccelerator.", @@ -115,7 +110,6 @@ "This means that there might be problems with certain characters in file names." : "Това означва, че може да има проблеми с определини символи в имената на файловете.", "URL generation in notification emails" : "Генериране на URL в имейлите за известяване", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Ако инсталацията не e инсталиранa в root на домейна и използва cron, може да има проблеми с генерирането на URL. За да избегнеш тези проблеми, моля, промени \"overwritewebroot\" в config.php с webroot пътя (Препоръчително: \"%s\")", - "Connectivity Checks" : "Проверки за свързаност", "No problems found" : "Не са открити проблеми", "Please double check the <a href='%s'>installation guides</a>." : "Моля, провери <a href='%s'>ръководството за инсталиране</a> отново.", "Last cron was executed at %s." : "Последният cron се изпълни в %s.", diff --git a/settings/l10n/bn_BD.js b/settings/l10n/bn_BD.js index 8d841f08b89..23d6f94c506 100644 --- a/settings/l10n/bn_BD.js +++ b/settings/l10n/bn_BD.js @@ -6,14 +6,10 @@ OC.L10N.register( "Email Server" : "ইমেইল সার্ভার", "Authentication error" : "অনুমোদন ঘটিত সমস্যা", "Your full name has been changed." : "আপনার পূর্ণ নাম পরিবর্তন করা হয়েছে।", - "Group already exists" : "গোষ্ঠীটি পূর্ব থেকেই বিদ্যমান", - "Unable to add group" : "গোষ্ঠী যোগ করা সম্ভব হলো না", "Files decrypted successfully" : "সার্থকভাবে ফাইল ডিক্রিপ্ট করা হয়েছে", "Couldn't remove app." : "অ্যাপ অপসারণ করা গেলনা", "Email saved" : "ই-মেইল সংরক্ষন করা হয়েছে", "Invalid email" : "ই-মেইলটি সঠিক নয়", - "Unable to delete group" : "গোষ্ঠী মুছে ফেলা সম্ভব হলো না ", - "Unable to delete user" : "ব্যবহারকারী মুছে ফেলা সম্ভব হলো না ", "Backups restored successfully" : "ব্যাকআপ পূণঃস্থাপন সুসম্পন্ন", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "িআপনার এনক্রিপসন কি পূনর্বাসন করা গেলনা, আপনার owncloud.log পিরীক্ষা করুন বা প্রশাসককে জিজ্ঞাসা করুন", "Language changed" : "ভাষা পরিবর্তন করা হয়েছে", diff --git a/settings/l10n/bn_BD.json b/settings/l10n/bn_BD.json index 3c73fdcfd00..5f147b92a2d 100644 --- a/settings/l10n/bn_BD.json +++ b/settings/l10n/bn_BD.json @@ -4,14 +4,10 @@ "Email Server" : "ইমেইল সার্ভার", "Authentication error" : "অনুমোদন ঘটিত সমস্যা", "Your full name has been changed." : "আপনার পূর্ণ নাম পরিবর্তন করা হয়েছে।", - "Group already exists" : "গোষ্ঠীটি পূর্ব থেকেই বিদ্যমান", - "Unable to add group" : "গোষ্ঠী যোগ করা সম্ভব হলো না", "Files decrypted successfully" : "সার্থকভাবে ফাইল ডিক্রিপ্ট করা হয়েছে", "Couldn't remove app." : "অ্যাপ অপসারণ করা গেলনা", "Email saved" : "ই-মেইল সংরক্ষন করা হয়েছে", "Invalid email" : "ই-মেইলটি সঠিক নয়", - "Unable to delete group" : "গোষ্ঠী মুছে ফেলা সম্ভব হলো না ", - "Unable to delete user" : "ব্যবহারকারী মুছে ফেলা সম্ভব হলো না ", "Backups restored successfully" : "ব্যাকআপ পূণঃস্থাপন সুসম্পন্ন", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "িআপনার এনক্রিপসন কি পূনর্বাসন করা গেলনা, আপনার owncloud.log পিরীক্ষা করুন বা প্রশাসককে জিজ্ঞাসা করুন", "Language changed" : "ভাষা পরিবর্তন করা হয়েছে", diff --git a/settings/l10n/ca.js b/settings/l10n/ca.js index a37af93933d..3d8184943fe 100644 --- a/settings/l10n/ca.js +++ b/settings/l10n/ca.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Error d'autenticació", "Your full name has been changed." : "El vostre nom complet ha canviat.", "Unable to change full name" : "No s'ha pogut canviar el nom complet", - "Group already exists" : "El grup ja existeix", - "Unable to add group" : "No es pot afegir el grup", "Files decrypted successfully" : "Els fitxers s'han desencriptat amb èxit", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "No es poden desencriptar els fitxers. Comproveu owncloud.log o demaneu-ho a l'administrador.", "Couldn't decrypt your files, check your password and try again" : "No s'han pogut desencriptar els fitxers, comproveu la contrasenya i proveu-ho de nou", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "No s'ha pogut eliminar l'aplicació", "Email saved" : "S'ha desat el correu electrònic", "Invalid email" : "El correu electrònic no és vàlid", - "Unable to delete group" : "No es pot eliminar el grup", - "Unable to delete user" : "No es pot eliminar l'usuari", "Backups restored successfully" : "Les còpies de seguretat s'han restablert correctament", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "No es poden restablir les claus d'encriptació. Comproveu owncloud.log o demaneu-ho a l'administrador.", "Language changed" : "S'ha canviat l'idioma", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Avís de seguretat", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Esteu accedint a %s a través de HTTP. Us recomanem fermament que configureu el servidor perquè requereixi HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "La carpeta de dades i els vostres fitxersprobablement són accessibles des d'Internet. La fitxer .htaccess no funciona. Us recomanem que configureu el servidor web de tal manera que la carpeta de dades no sigui accessible o que moveu la carpeta de dades fora de l'arrel de documents del servidor web.", "Setup Warning" : "Avís de configuració", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Aparentment PHP està configurat per mostrar blocs en línia de documentació. Això farà que algunes aplicacions core siguin inaccessibles.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Això probablement està provocat per una cau/accelerador com Zend OPcache o eAccelerator.", @@ -117,7 +112,6 @@ OC.L10N.register( "This means that there might be problems with certain characters in file names." : "Això podria comportar problemes amb alguns caràcters en els noms dels fitxer.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomanem fermament que instal·leu els paquets requerits en el vostre sistema per suportar un dels següents idiomes: %s", "URL generation in notification emails" : "Generar URL en els correus de notificació", - "Connectivity Checks" : "Verificacions de connectivitat", "No problems found" : "No hem trovat problemes", "Please double check the <a href='%s'>installation guides</a>." : "Comproveu les <a href='%s'>guies d'instal·lació</a>.", "Last cron was executed at %s." : "L'últim cron s'ha executat el %s", diff --git a/settings/l10n/ca.json b/settings/l10n/ca.json index c8145ed03e2..46e82849165 100644 --- a/settings/l10n/ca.json +++ b/settings/l10n/ca.json @@ -8,8 +8,6 @@ "Authentication error" : "Error d'autenticació", "Your full name has been changed." : "El vostre nom complet ha canviat.", "Unable to change full name" : "No s'ha pogut canviar el nom complet", - "Group already exists" : "El grup ja existeix", - "Unable to add group" : "No es pot afegir el grup", "Files decrypted successfully" : "Els fitxers s'han desencriptat amb èxit", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "No es poden desencriptar els fitxers. Comproveu owncloud.log o demaneu-ho a l'administrador.", "Couldn't decrypt your files, check your password and try again" : "No s'han pogut desencriptar els fitxers, comproveu la contrasenya i proveu-ho de nou", @@ -18,8 +16,6 @@ "Couldn't remove app." : "No s'ha pogut eliminar l'aplicació", "Email saved" : "S'ha desat el correu electrònic", "Invalid email" : "El correu electrònic no és vàlid", - "Unable to delete group" : "No es pot eliminar el grup", - "Unable to delete user" : "No es pot eliminar l'usuari", "Backups restored successfully" : "Les còpies de seguretat s'han restablert correctament", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "No es poden restablir les claus d'encriptació. Comproveu owncloud.log o demaneu-ho a l'administrador.", "Language changed" : "S'ha canviat l'idioma", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Avís de seguretat", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Esteu accedint a %s a través de HTTP. Us recomanem fermament que configureu el servidor perquè requereixi HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "La carpeta de dades i els vostres fitxersprobablement són accessibles des d'Internet. La fitxer .htaccess no funciona. Us recomanem que configureu el servidor web de tal manera que la carpeta de dades no sigui accessible o que moveu la carpeta de dades fora de l'arrel de documents del servidor web.", "Setup Warning" : "Avís de configuració", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Aparentment PHP està configurat per mostrar blocs en línia de documentació. Això farà que algunes aplicacions core siguin inaccessibles.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Això probablement està provocat per una cau/accelerador com Zend OPcache o eAccelerator.", @@ -115,7 +110,6 @@ "This means that there might be problems with certain characters in file names." : "Això podria comportar problemes amb alguns caràcters en els noms dels fitxer.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomanem fermament que instal·leu els paquets requerits en el vostre sistema per suportar un dels següents idiomes: %s", "URL generation in notification emails" : "Generar URL en els correus de notificació", - "Connectivity Checks" : "Verificacions de connectivitat", "No problems found" : "No hem trovat problemes", "Please double check the <a href='%s'>installation guides</a>." : "Comproveu les <a href='%s'>guies d'instal·lació</a>.", "Last cron was executed at %s." : "L'últim cron s'ha executat el %s", diff --git a/settings/l10n/cs_CZ.js b/settings/l10n/cs_CZ.js index 8b5228de302..5d9e8f1a3e4 100644 --- a/settings/l10n/cs_CZ.js +++ b/settings/l10n/cs_CZ.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Chyba přihlášení", "Your full name has been changed." : "Vaše celé jméno bylo změněno.", "Unable to change full name" : "Nelze změnit celé jméno", - "Group already exists" : "Skupina již existuje", - "Unable to add group" : "Nelze přidat skupinu", "Files decrypted successfully" : "Soubory úspěšně dešifrovány", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nebylo možno dešifrovat soubory, zkontroluje prosím owncloud.log nebo kontaktujte svého správce systému", "Couldn't decrypt your files, check your password and try again" : "Nebylo možno dešifrovat soubory, zkontrolujte své heslo a zkuste znovu", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Nepodařilo se odebrat aplikaci.", "Email saved" : "E-mail uložen", "Invalid email" : "Neplatný e-mail", - "Unable to delete group" : "Nelze smazat skupinu", - "Unable to delete user" : "Nelze smazat uživatele", "Backups restored successfully" : "Zálohy úspěšně obnoveny", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Nebylo možno obnovit vaše šifrovací klíče, zkontrolujte prosím owncloud.log nebo kontaktujte svého správce systému", "Language changed" : "Jazyk byl změněn", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Bezpečnostní upozornění", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Přistupujete na %s protokolem HTTP. Důrazně doporučujeme nakonfigurovat server pro použití HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Váš datový adresář i vaše soubory jsou pravděpodobně přístupné z internetu. Soubor .htaccess nefunguje. Důrazně doporučujeme nakonfigurovat webový server tak, aby datový adresář nebyl nadále přístupný, nebo přesunout datový adresář mimo prostor zpřístupňovaný webovým serverem.", "Read-Only config enabled" : "Konfigurační soubor pouze pro čtení", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurační soubor je pouze pro čtení. Toto omezuje možnost nastavení přes webové rozhraní. Dále musí být pro každou změnu povolen zápis do souboru ručně.", "Setup Warning" : "Upozornění nastavení", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Velmi doporučujeme nainstalovat požadované balíčky do systému, pro podporu jednoho z následujících národních prostředí: %s.", "URL generation in notification emails" : "Generování adresy URL v oznamovacích e-mailech", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Instalace mimo kořenový adresář domény a používání systémového příkazu cron může způsobit problém s generováním správné URL. Pro zabránění těmto chybám nastavte prosím správnou cestu ve svém config.php souboru v hodnotě \"overwritewebroot\" (Doporučujeme: \"%s\")", - "Connectivity Checks" : "Ověřování připojení", "No problems found" : "Nebyly nalezeny žádné problémy", "Please double check the <a href='%s'>installation guides</a>." : "Zkonzultujte, prosím, <a href='%s'>průvodce instalací</a>.", "Last cron was executed at %s." : "Poslední cron byl spuštěn v %s", diff --git a/settings/l10n/cs_CZ.json b/settings/l10n/cs_CZ.json index c5547a00be6..cfe8c4d0a9f 100644 --- a/settings/l10n/cs_CZ.json +++ b/settings/l10n/cs_CZ.json @@ -8,8 +8,6 @@ "Authentication error" : "Chyba přihlášení", "Your full name has been changed." : "Vaše celé jméno bylo změněno.", "Unable to change full name" : "Nelze změnit celé jméno", - "Group already exists" : "Skupina již existuje", - "Unable to add group" : "Nelze přidat skupinu", "Files decrypted successfully" : "Soubory úspěšně dešifrovány", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nebylo možno dešifrovat soubory, zkontroluje prosím owncloud.log nebo kontaktujte svého správce systému", "Couldn't decrypt your files, check your password and try again" : "Nebylo možno dešifrovat soubory, zkontrolujte své heslo a zkuste znovu", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Nepodařilo se odebrat aplikaci.", "Email saved" : "E-mail uložen", "Invalid email" : "Neplatný e-mail", - "Unable to delete group" : "Nelze smazat skupinu", - "Unable to delete user" : "Nelze smazat uživatele", "Backups restored successfully" : "Zálohy úspěšně obnoveny", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Nebylo možno obnovit vaše šifrovací klíče, zkontrolujte prosím owncloud.log nebo kontaktujte svého správce systému", "Language changed" : "Jazyk byl změněn", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Bezpečnostní upozornění", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Přistupujete na %s protokolem HTTP. Důrazně doporučujeme nakonfigurovat server pro použití HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Váš datový adresář i vaše soubory jsou pravděpodobně přístupné z internetu. Soubor .htaccess nefunguje. Důrazně doporučujeme nakonfigurovat webový server tak, aby datový adresář nebyl nadále přístupný, nebo přesunout datový adresář mimo prostor zpřístupňovaný webovým serverem.", "Read-Only config enabled" : "Konfigurační soubor pouze pro čtení", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Konfigurační soubor je pouze pro čtení. Toto omezuje možnost nastavení přes webové rozhraní. Dále musí být pro každou změnu povolen zápis do souboru ručně.", "Setup Warning" : "Upozornění nastavení", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Velmi doporučujeme nainstalovat požadované balíčky do systému, pro podporu jednoho z následujících národních prostředí: %s.", "URL generation in notification emails" : "Generování adresy URL v oznamovacích e-mailech", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Instalace mimo kořenový adresář domény a používání systémového příkazu cron může způsobit problém s generováním správné URL. Pro zabránění těmto chybám nastavte prosím správnou cestu ve svém config.php souboru v hodnotě \"overwritewebroot\" (Doporučujeme: \"%s\")", - "Connectivity Checks" : "Ověřování připojení", "No problems found" : "Nebyly nalezeny žádné problémy", "Please double check the <a href='%s'>installation guides</a>." : "Zkonzultujte, prosím, <a href='%s'>průvodce instalací</a>.", "Last cron was executed at %s." : "Poslední cron byl spuštěn v %s", diff --git a/settings/l10n/da.js b/settings/l10n/da.js index 98482027750..a11451a39f0 100644 --- a/settings/l10n/da.js +++ b/settings/l10n/da.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Adgangsfejl", "Your full name has been changed." : "Dit fulde navn er blevet ændret.", "Unable to change full name" : "Ikke i stand til at ændre dit fulde navn", - "Group already exists" : "Gruppen findes allerede", - "Unable to add group" : "Gruppen kan ikke oprettes", "Files decrypted successfully" : "Filer dekrypteret med succes", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Dine filer kunne ikke dekrypteres. Gennemse din owncloud log eller spørg din administrator", "Couldn't decrypt your files, check your password and try again" : "Dine filer kunne ikke dekrypteres. Check din adgangskode og forsøg igen", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Kunne ikke fjerne app'en.", "Email saved" : "E-mailadressen er gemt", "Invalid email" : "Ugyldig e-mailadresse", - "Unable to delete group" : "Gruppen kan ikke slettes", - "Unable to delete user" : "Bruger kan ikke slettes", "Backups restored successfully" : "Genskabelsen af sikkerhedskopierne blev gennemført", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Kunne ikke genskabe din krypyterings nøgle, se logfilen owncloud.log eller spørg en administrator", "Language changed" : "Sprog ændret", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Sikkerhedsadvarsel", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du tilgår %s via HTTP. Vi anbefaler at du konfigurerer din server til i stedet at kræve HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Din data mappe og dine filer er muligvis tilgængelige fra internettet. .htaccess filen virker ikke. Vi anbefaler på det kraftigste at du konfigurerer din webserver så data mappen ikke længere er tilgængelig, eller at du flytter data mappen uden for webserverens dokument rod. ", "Read-Only config enabled" : "Skrivebeskyttet konfig. slået til", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Den skrivebeskyttede konfiguration er blevet slået til. Dette forhindrer indstillinger af nogle konfigurationer via webgrænsefladen. I tillæg skal filen gøres skrivbar manuelt for hver opdatering.", "Setup Warning" : "Opsætnings Advarsel", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Vi anbefaler kraftigt, at du installerer den krævede pakke på dit system, for at understøtte følgende lokaliteter: %s.", "URL generation in notification emails" : "URL-oprettelse i e-mailnotifikationer.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Hvis din installation ikke er installeret i roden af domænet, og bruger systemets cron, så kan der være problemer med URL-oprettelsen. For at undgå disse problemer, så angiv tilvalget \"overwritewebroot\" i din fil config.php til webrodens sti for din installation (foreslået værdi: \"%s\")", - "Connectivity Checks" : "Forbindelsestjek", "No problems found" : "Der blev ikke fundet problemer", "Please double check the <a href='%s'>installation guides</a>." : "Dobbelttjek venligst <a href='%s'>installations vejledningerne</a>.", "Last cron was executed at %s." : "Seneste 'cron' blev kørt %s.", @@ -173,6 +167,7 @@ OC.L10N.register( "Documentation:" : "Dokumentation:", "User Documentation" : "Brugerdokumentation", "Admin Documentation" : "Administrator Dokumentation", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Dette program kan ikke installeres, da følgende afhængigheder ikke imødekommes:", "Update to %s" : "Opdatér til %s", "Enable only for specific groups" : "Aktivér kun for udvalgte grupper", "Uninstall App" : "Afinstallér app", diff --git a/settings/l10n/da.json b/settings/l10n/da.json index 1700339c849..0334717eabb 100644 --- a/settings/l10n/da.json +++ b/settings/l10n/da.json @@ -8,8 +8,6 @@ "Authentication error" : "Adgangsfejl", "Your full name has been changed." : "Dit fulde navn er blevet ændret.", "Unable to change full name" : "Ikke i stand til at ændre dit fulde navn", - "Group already exists" : "Gruppen findes allerede", - "Unable to add group" : "Gruppen kan ikke oprettes", "Files decrypted successfully" : "Filer dekrypteret med succes", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Dine filer kunne ikke dekrypteres. Gennemse din owncloud log eller spørg din administrator", "Couldn't decrypt your files, check your password and try again" : "Dine filer kunne ikke dekrypteres. Check din adgangskode og forsøg igen", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Kunne ikke fjerne app'en.", "Email saved" : "E-mailadressen er gemt", "Invalid email" : "Ugyldig e-mailadresse", - "Unable to delete group" : "Gruppen kan ikke slettes", - "Unable to delete user" : "Bruger kan ikke slettes", "Backups restored successfully" : "Genskabelsen af sikkerhedskopierne blev gennemført", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Kunne ikke genskabe din krypyterings nøgle, se logfilen owncloud.log eller spørg en administrator", "Language changed" : "Sprog ændret", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Sikkerhedsadvarsel", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du tilgår %s via HTTP. Vi anbefaler at du konfigurerer din server til i stedet at kræve HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Din data mappe og dine filer er muligvis tilgængelige fra internettet. .htaccess filen virker ikke. Vi anbefaler på det kraftigste at du konfigurerer din webserver så data mappen ikke længere er tilgængelig, eller at du flytter data mappen uden for webserverens dokument rod. ", "Read-Only config enabled" : "Skrivebeskyttet konfig. slået til", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Den skrivebeskyttede konfiguration er blevet slået til. Dette forhindrer indstillinger af nogle konfigurationer via webgrænsefladen. I tillæg skal filen gøres skrivbar manuelt for hver opdatering.", "Setup Warning" : "Opsætnings Advarsel", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Vi anbefaler kraftigt, at du installerer den krævede pakke på dit system, for at understøtte følgende lokaliteter: %s.", "URL generation in notification emails" : "URL-oprettelse i e-mailnotifikationer.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Hvis din installation ikke er installeret i roden af domænet, og bruger systemets cron, så kan der være problemer med URL-oprettelsen. For at undgå disse problemer, så angiv tilvalget \"overwritewebroot\" i din fil config.php til webrodens sti for din installation (foreslået værdi: \"%s\")", - "Connectivity Checks" : "Forbindelsestjek", "No problems found" : "Der blev ikke fundet problemer", "Please double check the <a href='%s'>installation guides</a>." : "Dobbelttjek venligst <a href='%s'>installations vejledningerne</a>.", "Last cron was executed at %s." : "Seneste 'cron' blev kørt %s.", @@ -171,6 +165,7 @@ "Documentation:" : "Dokumentation:", "User Documentation" : "Brugerdokumentation", "Admin Documentation" : "Administrator Dokumentation", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Dette program kan ikke installeres, da følgende afhængigheder ikke imødekommes:", "Update to %s" : "Opdatér til %s", "Enable only for specific groups" : "Aktivér kun for udvalgte grupper", "Uninstall App" : "Afinstallér app", diff --git a/settings/l10n/de.js b/settings/l10n/de.js index ec118a742cd..3a7d6c3535c 100644 --- a/settings/l10n/de.js +++ b/settings/l10n/de.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Fehler bei der Anmeldung", "Your full name has been changed." : "Dein vollständiger Name ist geändert worden.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", - "Group already exists" : "Gruppe existiert bereits", - "Unable to add group" : "Gruppe konnte nicht angelegt werden", "Files decrypted successfully" : "Dateien erfolgreich entschlüsselt", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Dateien konnten nicht entschlüsselt werden, prüfe bitte Dein owncloud.log oder frage Deinen Administrator", "Couldn't decrypt your files, check your password and try again" : "Dateien konnten nicht entschlüsselt werden, bitte prüfe Dein Passwort und versuche es erneut.", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Die App konnte nicht entfernt werden.", "Email saved" : "E-Mail Adresse gespeichert", "Invalid email" : "Ungültige E-Mail Adresse", - "Unable to delete group" : "Gruppe konnte nicht gelöscht werden", - "Unable to delete user" : "Benutzer konnte nicht gelöscht werden", "Backups restored successfully" : "Backups erfolgreich wiederhergestellt", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Verschlüsselungsschlüssel konnten nicht wiederhergestellt werden, prüfe bitte Dein owncloud.log oder frage Deinen Administrator", "Language changed" : "Sprache geändert", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Sicherheitswarnung", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du greifst auf %s via HTTP zu. Wir empfehlen Dir dringend, Deinen Server so konfigurieren, dass stattdessen HTTPS verlangt wird.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Dein Datenverzeichnis und deine Dateien sind möglicherweise aus dem Internet erreichbar. Die .htaccess-Datei funktioniert nicht. Wir raten dir dringend, dass du deinen Webserver dahingehend konfigurierst, dass dein Datenverzeichnis nicht länger aus dem Internet erreichbar ist, oder du verschiebst das Datenverzeichnis ausserhalb des Wurzelverzeichnisses des Webservers.", "Read-Only config enabled" : "Schreibgeschützte Konfiguration aktiviert", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies schützt die Änderung einiger Konfigurationen über die Web-Schnittstelle. Weiterhin muss für die Datei der Schreibzugriff bei jedem Update händisch aktiviert werden.", "Setup Warning" : "Einrichtungswarnung", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eine der folgenden Gebietsschemas unterstützt wird: %s.", "URL generation in notification emails" : "URL-Generierung in Mail-Benachrichtungen", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die \"overwritewebroot\"-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: \"%s\").", - "Connectivity Checks" : "Verbindungsüberprüfungen", "No problems found" : "Keine Probleme gefunden", "Please double check the <a href='%s'>installation guides</a>." : "Bitte prüfe die <a href='%s'>Installationsanleitungen</a>.", "Last cron was executed at %s." : "Letzter Cron wurde um %s ausgeführt.", @@ -173,6 +167,7 @@ OC.L10N.register( "Documentation:" : "Dokumentation:", "User Documentation" : "Dokumentation für Benutzer", "Admin Documentation" : "Admin-Dokumentation", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Die App kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind:", "Update to %s" : "Aktualisierung auf %s", "Enable only for specific groups" : "Nur für spezifizierte Gruppen aktivieren", "Uninstall App" : "App deinstallieren", diff --git a/settings/l10n/de.json b/settings/l10n/de.json index 1a9342458bc..1dcc72f662c 100644 --- a/settings/l10n/de.json +++ b/settings/l10n/de.json @@ -8,8 +8,6 @@ "Authentication error" : "Fehler bei der Anmeldung", "Your full name has been changed." : "Dein vollständiger Name ist geändert worden.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", - "Group already exists" : "Gruppe existiert bereits", - "Unable to add group" : "Gruppe konnte nicht angelegt werden", "Files decrypted successfully" : "Dateien erfolgreich entschlüsselt", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Dateien konnten nicht entschlüsselt werden, prüfe bitte Dein owncloud.log oder frage Deinen Administrator", "Couldn't decrypt your files, check your password and try again" : "Dateien konnten nicht entschlüsselt werden, bitte prüfe Dein Passwort und versuche es erneut.", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Die App konnte nicht entfernt werden.", "Email saved" : "E-Mail Adresse gespeichert", "Invalid email" : "Ungültige E-Mail Adresse", - "Unable to delete group" : "Gruppe konnte nicht gelöscht werden", - "Unable to delete user" : "Benutzer konnte nicht gelöscht werden", "Backups restored successfully" : "Backups erfolgreich wiederhergestellt", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Verschlüsselungsschlüssel konnten nicht wiederhergestellt werden, prüfe bitte Dein owncloud.log oder frage Deinen Administrator", "Language changed" : "Sprache geändert", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Sicherheitswarnung", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du greifst auf %s via HTTP zu. Wir empfehlen Dir dringend, Deinen Server so konfigurieren, dass stattdessen HTTPS verlangt wird.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Dein Datenverzeichnis und deine Dateien sind möglicherweise aus dem Internet erreichbar. Die .htaccess-Datei funktioniert nicht. Wir raten dir dringend, dass du deinen Webserver dahingehend konfigurierst, dass dein Datenverzeichnis nicht länger aus dem Internet erreichbar ist, oder du verschiebst das Datenverzeichnis ausserhalb des Wurzelverzeichnisses des Webservers.", "Read-Only config enabled" : "Schreibgeschützte Konfiguration aktiviert", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies schützt die Änderung einiger Konfigurationen über die Web-Schnittstelle. Weiterhin muss für die Datei der Schreibzugriff bei jedem Update händisch aktiviert werden.", "Setup Warning" : "Einrichtungswarnung", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eine der folgenden Gebietsschemas unterstützt wird: %s.", "URL generation in notification emails" : "URL-Generierung in Mail-Benachrichtungen", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die \"overwritewebroot\"-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: \"%s\").", - "Connectivity Checks" : "Verbindungsüberprüfungen", "No problems found" : "Keine Probleme gefunden", "Please double check the <a href='%s'>installation guides</a>." : "Bitte prüfe die <a href='%s'>Installationsanleitungen</a>.", "Last cron was executed at %s." : "Letzter Cron wurde um %s ausgeführt.", @@ -171,6 +165,7 @@ "Documentation:" : "Dokumentation:", "User Documentation" : "Dokumentation für Benutzer", "Admin Documentation" : "Admin-Dokumentation", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Die App kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind:", "Update to %s" : "Aktualisierung auf %s", "Enable only for specific groups" : "Nur für spezifizierte Gruppen aktivieren", "Uninstall App" : "App deinstallieren", diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js index 756e8a0d8dd..445c2949278 100644 --- a/settings/l10n/de_DE.js +++ b/settings/l10n/de_DE.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Authentifizierungs-Fehler", "Your full name has been changed." : "Ihr vollständiger Name ist geändert worden.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", - "Group already exists" : "Die Gruppe existiert bereits", - "Unable to add group" : "Die Gruppe konnte nicht angelegt werden", "Files decrypted successfully" : "Dateien erfolgreich entschlüsselt", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Dateien konnten nicht entschlüsselt werden, prüfen Sie bitte Ihre owncloud.log oder fragen Sie Ihren Administrator", "Couldn't decrypt your files, check your password and try again" : "Dateien konnten nicht entschlüsselt werden, bitte prüfen Sie Ihr Passwort und versuchen Sie es erneut.", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Die App konnte nicht entfernt werden.", "Email saved" : "E-Mail-Adresse gespeichert", "Invalid email" : "Ungültige E-Mail-Adresse", - "Unable to delete group" : "Die Gruppe konnte nicht gelöscht werden", - "Unable to delete user" : "Der Benutzer konnte nicht gelöscht werden", "Backups restored successfully" : "Sicherungen erfolgreich wiederhergestellt", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Verschlüsselungsschlüssel konnten nicht wiederhergestellt werden, prüfen Sie bitte Ihre owncloud.log oder fragen Sie Ihren Administrator", "Language changed" : "Sprache geändert", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Sicherheitshinweis", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Sie greifen auf %s via HTTP zu. Wir empfehlen Ihnen dringend, Ihren Server so konfigurieren, dass stattdessen HTTPS verlangt wird.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Ihr Datenverzeichnis und Ihre Dateien sind möglicherweise aus dem Internet erreichbar. Die .htaccess-Datei funktioniert nicht. Wir raten Ihnen dringend, dass Sie Ihren Webserver dahingehend konfigurieren, dass Ihr Datenverzeichnis nicht länger aus dem Internet erreichbar ist, oder Sie verschieben das Datenverzeichnis außerhalb des Wurzelverzeichnisses des Webservers.", "Read-Only config enabled" : "Schreibgeschützte Konfiguration aktiviert", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies schützt die Änderung einiger Konfigurationen über die Web-Schnittstelle. Weiterhin muss für die Datei der Schreibzugriff bei jedem Update händisch aktiviert werden.", "Setup Warning" : "Einrichtungswarnung", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eine der folgenden Gebietsschemas unterstützt wird: %s.", "URL generation in notification emails" : "Adresserstellung in E-Mail-Benachrichtungen", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der Adresserstellung kommen. Um dieses zu verhindern, stellen Sie bitte die »overwritewebroot«-Option in Ihrer config.php auf das Internetwurzelverzeichnis Ihrer Installation (Vorschlag: »%s«).", - "Connectivity Checks" : "Verbindungsüberprüfungen", "No problems found" : "Keine Probleme gefunden", "Please double check the <a href='%s'>installation guides</a>." : "Bitte prüfen Sie die <a href='%s'>Installationsanleitungen</a>.", "Last cron was executed at %s." : "Letzter Cron wurde um %s ausgeführt.", @@ -173,6 +167,7 @@ OC.L10N.register( "Documentation:" : "Dokumentation:", "User Documentation" : "Dokumentation für Benutzer", "Admin Documentation" : "Dokumentation für Administratoren", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Diese App kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind:", "Update to %s" : "Aktualisierung auf %s", "Enable only for specific groups" : "Nur für bestimmte Gruppen aktivieren", "Uninstall App" : "App deinstallieren", diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json index f28a3bafd21..eb1d7bb3acb 100644 --- a/settings/l10n/de_DE.json +++ b/settings/l10n/de_DE.json @@ -8,8 +8,6 @@ "Authentication error" : "Authentifizierungs-Fehler", "Your full name has been changed." : "Ihr vollständiger Name ist geändert worden.", "Unable to change full name" : "Der vollständige Name konnte nicht geändert werden", - "Group already exists" : "Die Gruppe existiert bereits", - "Unable to add group" : "Die Gruppe konnte nicht angelegt werden", "Files decrypted successfully" : "Dateien erfolgreich entschlüsselt", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Dateien konnten nicht entschlüsselt werden, prüfen Sie bitte Ihre owncloud.log oder fragen Sie Ihren Administrator", "Couldn't decrypt your files, check your password and try again" : "Dateien konnten nicht entschlüsselt werden, bitte prüfen Sie Ihr Passwort und versuchen Sie es erneut.", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Die App konnte nicht entfernt werden.", "Email saved" : "E-Mail-Adresse gespeichert", "Invalid email" : "Ungültige E-Mail-Adresse", - "Unable to delete group" : "Die Gruppe konnte nicht gelöscht werden", - "Unable to delete user" : "Der Benutzer konnte nicht gelöscht werden", "Backups restored successfully" : "Sicherungen erfolgreich wiederhergestellt", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Verschlüsselungsschlüssel konnten nicht wiederhergestellt werden, prüfen Sie bitte Ihre owncloud.log oder fragen Sie Ihren Administrator", "Language changed" : "Sprache geändert", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Sicherheitshinweis", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Sie greifen auf %s via HTTP zu. Wir empfehlen Ihnen dringend, Ihren Server so konfigurieren, dass stattdessen HTTPS verlangt wird.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Ihr Datenverzeichnis und Ihre Dateien sind möglicherweise aus dem Internet erreichbar. Die .htaccess-Datei funktioniert nicht. Wir raten Ihnen dringend, dass Sie Ihren Webserver dahingehend konfigurieren, dass Ihr Datenverzeichnis nicht länger aus dem Internet erreichbar ist, oder Sie verschieben das Datenverzeichnis außerhalb des Wurzelverzeichnisses des Webservers.", "Read-Only config enabled" : "Schreibgeschützte Konfiguration aktiviert", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Die schreibgeschützte Konfiguration wurde aktiviert. Dies schützt die Änderung einiger Konfigurationen über die Web-Schnittstelle. Weiterhin muss für die Datei der Schreibzugriff bei jedem Update händisch aktiviert werden.", "Setup Warning" : "Einrichtungswarnung", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eine der folgenden Gebietsschemas unterstützt wird: %s.", "URL generation in notification emails" : "Adresserstellung in E-Mail-Benachrichtungen", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der Adresserstellung kommen. Um dieses zu verhindern, stellen Sie bitte die »overwritewebroot«-Option in Ihrer config.php auf das Internetwurzelverzeichnis Ihrer Installation (Vorschlag: »%s«).", - "Connectivity Checks" : "Verbindungsüberprüfungen", "No problems found" : "Keine Probleme gefunden", "Please double check the <a href='%s'>installation guides</a>." : "Bitte prüfen Sie die <a href='%s'>Installationsanleitungen</a>.", "Last cron was executed at %s." : "Letzter Cron wurde um %s ausgeführt.", @@ -171,6 +165,7 @@ "Documentation:" : "Dokumentation:", "User Documentation" : "Dokumentation für Benutzer", "Admin Documentation" : "Dokumentation für Administratoren", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Diese App kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind:", "Update to %s" : "Aktualisierung auf %s", "Enable only for specific groups" : "Nur für bestimmte Gruppen aktivieren", "Uninstall App" : "App deinstallieren", diff --git a/settings/l10n/el.js b/settings/l10n/el.js index 545b39b7687..5a79020f1dd 100644 --- a/settings/l10n/el.js +++ b/settings/l10n/el.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Σφάλμα πιστοποίησης", "Your full name has been changed." : "Το πλήρες όνομά σας άλλαξε.", "Unable to change full name" : "Δεν ήταν δυνατή η αλλαγή του πλήρους ονόματός σας", - "Group already exists" : "Η ομάδα υπάρχει ήδη", - "Unable to add group" : "Αδυναμία προσθήκης ομάδας", "Files decrypted successfully" : "Τα αρχεία αποκρυπτογραφήθηκαν με επιτυχία", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Δεν ήταν δυνατή η αποκρυπτογράφηση των αρχείων, παρακαλώ ελέγξτε το owncloud.log ή ενημερωθείτε από τον διαχειριστή συστημάτων σας", "Couldn't decrypt your files, check your password and try again" : "Δεν ήταν δυνατή η αποκρυπτογράφηση των αρχείων σας, ελέγξτε τον κωδικό πρόσβασής σας και δοκιμάστε πάλι", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Αδυναμία αφαίρεσης εφαρμογής.", "Email saved" : "Το email αποθηκεύτηκε ", "Invalid email" : "Μη έγκυρο email", - "Unable to delete group" : "Αδυναμία διαγραφής ομάδας", - "Unable to delete user" : "Αδυναμία διαγραφής χρήστη", "Backups restored successfully" : "Η επαναφορά αντιγράφων ασφαλείας έγινε με επιτυχία", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Δεν ήταν δυνατή η επαναφορά των κλειδιών κρυπτογράφησής σας, παρακαλώ ελέγξτε το owncloud.log ή επικοινωνήστε με τον διαχειριστή σας", "Language changed" : "Η γλώσσα άλλαξε", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Προειδοποίηση Ασφαλείας", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Έχετε πρόσβαση στο %s μέσω HTTP. Προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας ώστε να απαιτεί χρήση HTTPS αντ' αυτού.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Ο κατάλογος δεδομένων και τα αρχεία σας πιθανόν να είναι διαθέσιμα στο διαδίκτυο. Το αρχείο .htaccess δεν δουλεύει. Σας προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας με τέτοιο τρόπο ώστε ο κατάλογος δεδομένων να μην είναι πλέον προσβάσιμος ή να μετακινήσετε τον κατάλογο δεδομένων έξω από τη ρίζα του καταλόγου του διακομιστή.", "Setup Warning" : "Ρύθμιση Προειδοποίησης", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Ο PHP φαίνεται να είναι ρυθμισμένος ώστε να αφαιρεί μπλοκ εσωτερικών κειμένων (inline doc). Αυτό θα καταστήσει κύριες εφαρμογές μη-διαθέσιμες.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.", diff --git a/settings/l10n/el.json b/settings/l10n/el.json index 7ac46e926d0..51f10b85787 100644 --- a/settings/l10n/el.json +++ b/settings/l10n/el.json @@ -8,8 +8,6 @@ "Authentication error" : "Σφάλμα πιστοποίησης", "Your full name has been changed." : "Το πλήρες όνομά σας άλλαξε.", "Unable to change full name" : "Δεν ήταν δυνατή η αλλαγή του πλήρους ονόματός σας", - "Group already exists" : "Η ομάδα υπάρχει ήδη", - "Unable to add group" : "Αδυναμία προσθήκης ομάδας", "Files decrypted successfully" : "Τα αρχεία αποκρυπτογραφήθηκαν με επιτυχία", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Δεν ήταν δυνατή η αποκρυπτογράφηση των αρχείων, παρακαλώ ελέγξτε το owncloud.log ή ενημερωθείτε από τον διαχειριστή συστημάτων σας", "Couldn't decrypt your files, check your password and try again" : "Δεν ήταν δυνατή η αποκρυπτογράφηση των αρχείων σας, ελέγξτε τον κωδικό πρόσβασής σας και δοκιμάστε πάλι", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Αδυναμία αφαίρεσης εφαρμογής.", "Email saved" : "Το email αποθηκεύτηκε ", "Invalid email" : "Μη έγκυρο email", - "Unable to delete group" : "Αδυναμία διαγραφής ομάδας", - "Unable to delete user" : "Αδυναμία διαγραφής χρήστη", "Backups restored successfully" : "Η επαναφορά αντιγράφων ασφαλείας έγινε με επιτυχία", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Δεν ήταν δυνατή η επαναφορά των κλειδιών κρυπτογράφησής σας, παρακαλώ ελέγξτε το owncloud.log ή επικοινωνήστε με τον διαχειριστή σας", "Language changed" : "Η γλώσσα άλλαξε", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Προειδοποίηση Ασφαλείας", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Έχετε πρόσβαση στο %s μέσω HTTP. Προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας ώστε να απαιτεί χρήση HTTPS αντ' αυτού.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Ο κατάλογος δεδομένων και τα αρχεία σας πιθανόν να είναι διαθέσιμα στο διαδίκτυο. Το αρχείο .htaccess δεν δουλεύει. Σας προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας με τέτοιο τρόπο ώστε ο κατάλογος δεδομένων να μην είναι πλέον προσβάσιμος ή να μετακινήσετε τον κατάλογο δεδομένων έξω από τη ρίζα του καταλόγου του διακομιστή.", "Setup Warning" : "Ρύθμιση Προειδοποίησης", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Ο PHP φαίνεται να είναι ρυθμισμένος ώστε να αφαιρεί μπλοκ εσωτερικών κειμένων (inline doc). Αυτό θα καταστήσει κύριες εφαρμογές μη-διαθέσιμες.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.", diff --git a/settings/l10n/en_GB.js b/settings/l10n/en_GB.js index f3bb9d009fd..6c4e6f7479d 100644 --- a/settings/l10n/en_GB.js +++ b/settings/l10n/en_GB.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Authentication error", "Your full name has been changed." : "Your full name has been changed.", "Unable to change full name" : "Unable to change full name", - "Group already exists" : "Group already exists", - "Unable to add group" : "Unable to add group", "Files decrypted successfully" : "Files decrypted successfully", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Couldn't decrypt your files, please check your owncloud.log or ask your administrator", "Couldn't decrypt your files, check your password and try again" : "Couldn't decrypt your files, check your password and try again", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Couldn't remove app.", "Email saved" : "Email saved", "Invalid email" : "Invalid email", - "Unable to delete group" : "Unable to delete group", - "Unable to delete user" : "Unable to delete user", "Backups restored successfully" : "Backups restored successfully", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator", "Language changed" : "Language changed", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Security Warning", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root.", "Read-Only config enabled" : "Read-Only config enabled", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.", "Setup Warning" : "Setup Warning", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "We strongly suggest installing the required packages on your system to support one of the following locales: %s.", "URL generation in notification emails" : "URL generation in notification emails", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")", - "Connectivity Checks" : "Connectivity Checks", "No problems found" : "No problems found", "Please double check the <a href='%s'>installation guides</a>." : "Please double check the <a href='%s'>installation guides</a>.", "Last cron was executed at %s." : "Last cron was executed at %s.", diff --git a/settings/l10n/en_GB.json b/settings/l10n/en_GB.json index 551bcdff39d..72790ad9338 100644 --- a/settings/l10n/en_GB.json +++ b/settings/l10n/en_GB.json @@ -8,8 +8,6 @@ "Authentication error" : "Authentication error", "Your full name has been changed." : "Your full name has been changed.", "Unable to change full name" : "Unable to change full name", - "Group already exists" : "Group already exists", - "Unable to add group" : "Unable to add group", "Files decrypted successfully" : "Files decrypted successfully", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Couldn't decrypt your files, please check your owncloud.log or ask your administrator", "Couldn't decrypt your files, check your password and try again" : "Couldn't decrypt your files, check your password and try again", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Couldn't remove app.", "Email saved" : "Email saved", "Invalid email" : "Invalid email", - "Unable to delete group" : "Unable to delete group", - "Unable to delete user" : "Unable to delete user", "Backups restored successfully" : "Backups restored successfully", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator", "Language changed" : "Language changed", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Security Warning", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root.", "Read-Only config enabled" : "Read-Only config enabled", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update.", "Setup Warning" : "Setup Warning", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "We strongly suggest installing the required packages on your system to support one of the following locales: %s.", "URL generation in notification emails" : "URL generation in notification emails", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")", - "Connectivity Checks" : "Connectivity Checks", "No problems found" : "No problems found", "Please double check the <a href='%s'>installation guides</a>." : "Please double check the <a href='%s'>installation guides</a>.", "Last cron was executed at %s." : "Last cron was executed at %s.", diff --git a/settings/l10n/eo.js b/settings/l10n/eo.js index ff757ce143c..3e9c7b19e6f 100644 --- a/settings/l10n/eo.js +++ b/settings/l10n/eo.js @@ -9,14 +9,10 @@ OC.L10N.register( "Authentication error" : "Aŭtentiga eraro", "Your full name has been changed." : "Via plena nomo ŝanĝitas.", "Unable to change full name" : "Ne eblis ŝanĝi la plenan nomon", - "Group already exists" : "La grupo jam ekzistas", - "Unable to add group" : "Ne eblis aldoni la grupon", "Files decrypted successfully" : "La dosieroj malĉifriĝis sukcese", "Encryption keys deleted permanently" : "La ĉifroklavojn foriĝis por ĉiam.", "Email saved" : "La retpoŝtadreso konserviĝis", "Invalid email" : "Nevalida retpoŝtadreso", - "Unable to delete group" : "Ne eblis forigi la grupon", - "Unable to delete user" : "Ne eblis forigi la uzanton", "Backups restored successfully" : "La savokopioj restaŭriĝis sukcese", "Language changed" : "La lingvo estas ŝanĝita", "Invalid request" : "Nevalida peto", diff --git a/settings/l10n/eo.json b/settings/l10n/eo.json index 35af2f7f22f..41facf15927 100644 --- a/settings/l10n/eo.json +++ b/settings/l10n/eo.json @@ -7,14 +7,10 @@ "Authentication error" : "Aŭtentiga eraro", "Your full name has been changed." : "Via plena nomo ŝanĝitas.", "Unable to change full name" : "Ne eblis ŝanĝi la plenan nomon", - "Group already exists" : "La grupo jam ekzistas", - "Unable to add group" : "Ne eblis aldoni la grupon", "Files decrypted successfully" : "La dosieroj malĉifriĝis sukcese", "Encryption keys deleted permanently" : "La ĉifroklavojn foriĝis por ĉiam.", "Email saved" : "La retpoŝtadreso konserviĝis", "Invalid email" : "Nevalida retpoŝtadreso", - "Unable to delete group" : "Ne eblis forigi la grupon", - "Unable to delete user" : "Ne eblis forigi la uzanton", "Backups restored successfully" : "La savokopioj restaŭriĝis sukcese", "Language changed" : "La lingvo estas ŝanĝita", "Invalid request" : "Nevalida peto", diff --git a/settings/l10n/es.js b/settings/l10n/es.js index 6cb89eb6776..c23013cfe8e 100644 --- a/settings/l10n/es.js +++ b/settings/l10n/es.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Error de autenticación", "Your full name has been changed." : "Se ha cambiado su nombre completo.", "Unable to change full name" : "No se puede cambiar el nombre completo", - "Group already exists" : "El grupo ya existe", - "Unable to add group" : "No se pudo añadir el grupo", "Files decrypted successfully" : "Los archivos fueron descifrados", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "No se pudo descifrar sus archivos. Revise el owncloud.log o consulte con su administrador", "Couldn't decrypt your files, check your password and try again" : "No se pudo descifrar sus archivos. Revise su contraseña e inténtelo de nuevo", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "No se pudo eliminar la aplicación.", "Email saved" : "Correo electrónico guardado", "Invalid email" : "Correo electrónico no válido", - "Unable to delete group" : "No se pudo eliminar el grupo", - "Unable to delete user" : "No se pudo eliminar el usuario", "Backups restored successfully" : "Copia de seguridad restaurada", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "No se pudieron restarurar sus claves de cifrado. Revise owncloud.log o consulte con su administrador.", "Language changed" : "Idioma cambiado", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Advertencia de seguridad", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está ingresando a %s vía HTTP. Le recomendamos encarecidamente que configure su servidor para que requiera HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Su directorio de datos y archivos es probablemente accesible desde Internet pues el archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos no sea accesible o que mueva dicho directorio fuera de la raíz de documentos del servidor web.", "Read-Only config enabled" : "Configuración de solo lectura activada", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha habilitado la configuración de sólo lectura. Esto evita que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", "Setup Warning" : "Advertencia de configuración", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Es muy recomendable instalar los paquetes necesarios para poder soportar una de las siguientes configuraciones regionales: %s. ", "URL generation in notification emails" : "Generación de URL en mensajes de notificación", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si su instalación no está ubicada en la raíz del dominio y usa el cron del sistema, puede haber problemas al generarse los URL. Para evitarlos, configure la opción \"overwritewebroot\" en su archivo config.php para que use la ruta de la raíz del sitio web de su instalación (sugerencia: \"%s\")", - "Connectivity Checks" : "Probar la Conectividad", "No problems found" : "No se han encontrado problemas", "Please double check the <a href='%s'>installation guides</a>." : "Por favor, vuelva a comprobar las <a href='%s'>guías de instalación</a>.", "Last cron was executed at %s." : "Cron fue ejecutado por última vez a las %s.", diff --git a/settings/l10n/es.json b/settings/l10n/es.json index bfb36af0c7c..2935cbeeb9d 100644 --- a/settings/l10n/es.json +++ b/settings/l10n/es.json @@ -8,8 +8,6 @@ "Authentication error" : "Error de autenticación", "Your full name has been changed." : "Se ha cambiado su nombre completo.", "Unable to change full name" : "No se puede cambiar el nombre completo", - "Group already exists" : "El grupo ya existe", - "Unable to add group" : "No se pudo añadir el grupo", "Files decrypted successfully" : "Los archivos fueron descifrados", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "No se pudo descifrar sus archivos. Revise el owncloud.log o consulte con su administrador", "Couldn't decrypt your files, check your password and try again" : "No se pudo descifrar sus archivos. Revise su contraseña e inténtelo de nuevo", @@ -18,8 +16,6 @@ "Couldn't remove app." : "No se pudo eliminar la aplicación.", "Email saved" : "Correo electrónico guardado", "Invalid email" : "Correo electrónico no válido", - "Unable to delete group" : "No se pudo eliminar el grupo", - "Unable to delete user" : "No se pudo eliminar el usuario", "Backups restored successfully" : "Copia de seguridad restaurada", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "No se pudieron restarurar sus claves de cifrado. Revise owncloud.log o consulte con su administrador.", "Language changed" : "Idioma cambiado", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Advertencia de seguridad", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está ingresando a %s vía HTTP. Le recomendamos encarecidamente que configure su servidor para que requiera HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Su directorio de datos y archivos es probablemente accesible desde Internet pues el archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos no sea accesible o que mueva dicho directorio fuera de la raíz de documentos del servidor web.", "Read-Only config enabled" : "Configuración de solo lectura activada", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Se ha habilitado la configuración de sólo lectura. Esto evita que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", "Setup Warning" : "Advertencia de configuración", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Es muy recomendable instalar los paquetes necesarios para poder soportar una de las siguientes configuraciones regionales: %s. ", "URL generation in notification emails" : "Generación de URL en mensajes de notificación", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si su instalación no está ubicada en la raíz del dominio y usa el cron del sistema, puede haber problemas al generarse los URL. Para evitarlos, configure la opción \"overwritewebroot\" en su archivo config.php para que use la ruta de la raíz del sitio web de su instalación (sugerencia: \"%s\")", - "Connectivity Checks" : "Probar la Conectividad", "No problems found" : "No se han encontrado problemas", "Please double check the <a href='%s'>installation guides</a>." : "Por favor, vuelva a comprobar las <a href='%s'>guías de instalación</a>.", "Last cron was executed at %s." : "Cron fue ejecutado por última vez a las %s.", diff --git a/settings/l10n/es_AR.js b/settings/l10n/es_AR.js index b681fa8d077..6f2b6e20b88 100644 --- a/settings/l10n/es_AR.js +++ b/settings/l10n/es_AR.js @@ -9,13 +9,9 @@ OC.L10N.register( "Authentication error" : "Error al autenticar", "Your full name has been changed." : "Su nombre completo ha sido cambiado.", "Unable to change full name" : "Imposible cambiar el nombre completo", - "Group already exists" : "El grupo ya existe", - "Unable to add group" : "No fue posible añadir el grupo", "Files decrypted successfully" : "Archivos des-encriptados correctamente", "Email saved" : "e-mail guardado", "Invalid email" : "El e-mail no es válido ", - "Unable to delete group" : "No fue posible borrar el grupo", - "Unable to delete user" : "No fue posible borrar el usuario", "Language changed" : "Idioma cambiado", "Invalid request" : "Pedido inválido", "Admins can't remove themself from the admin group" : "Los administradores no se pueden quitar a si mismos del grupo administrador. ", @@ -76,7 +72,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Advertencia de seguridad", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está accediendo %s vía HTTP. Se sugiere fuertemente que configure su servidor para requerir el uso de HTTPS en vez del otro.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "El directorio de datos y tus archivos probablemente sean accesibles desde Internet. El archivo .htaccess no funciona. Sugerimos fuertemente que configures tu servidor web de forma tal que el archivo de directorios no sea accesible o muevas el mismo fuera de la raíz de los documentos del servidor web.", "Setup Warning" : "Alerta de Configuración", "Module 'fileinfo' missing" : "El módulo 'fileinfo' no existe", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "El módulo PHP 'fileinfo' no existe. Es recomendable que actives este módulo para obtener mejores resultados con la detección mime-type", diff --git a/settings/l10n/es_AR.json b/settings/l10n/es_AR.json index 14ce77fbb88..63205ec511b 100644 --- a/settings/l10n/es_AR.json +++ b/settings/l10n/es_AR.json @@ -7,13 +7,9 @@ "Authentication error" : "Error al autenticar", "Your full name has been changed." : "Su nombre completo ha sido cambiado.", "Unable to change full name" : "Imposible cambiar el nombre completo", - "Group already exists" : "El grupo ya existe", - "Unable to add group" : "No fue posible añadir el grupo", "Files decrypted successfully" : "Archivos des-encriptados correctamente", "Email saved" : "e-mail guardado", "Invalid email" : "El e-mail no es válido ", - "Unable to delete group" : "No fue posible borrar el grupo", - "Unable to delete user" : "No fue posible borrar el usuario", "Language changed" : "Idioma cambiado", "Invalid request" : "Pedido inválido", "Admins can't remove themself from the admin group" : "Los administradores no se pueden quitar a si mismos del grupo administrador. ", @@ -74,7 +70,6 @@ "TLS" : "TLS", "Security Warning" : "Advertencia de seguridad", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está accediendo %s vía HTTP. Se sugiere fuertemente que configure su servidor para requerir el uso de HTTPS en vez del otro.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "El directorio de datos y tus archivos probablemente sean accesibles desde Internet. El archivo .htaccess no funciona. Sugerimos fuertemente que configures tu servidor web de forma tal que el archivo de directorios no sea accesible o muevas el mismo fuera de la raíz de los documentos del servidor web.", "Setup Warning" : "Alerta de Configuración", "Module 'fileinfo' missing" : "El módulo 'fileinfo' no existe", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "El módulo PHP 'fileinfo' no existe. Es recomendable que actives este módulo para obtener mejores resultados con la detección mime-type", diff --git a/settings/l10n/es_MX.js b/settings/l10n/es_MX.js index ff7bc009b82..b643ed0fa84 100644 --- a/settings/l10n/es_MX.js +++ b/settings/l10n/es_MX.js @@ -8,12 +8,8 @@ OC.L10N.register( "Authentication error" : "Error de autenticación", "Your full name has been changed." : "Se ha cambiado su nombre completo.", "Unable to change full name" : "No se puede cambiar el nombre completo", - "Group already exists" : "El grupo ya existe", - "Unable to add group" : "No se pudo añadir el grupo", "Email saved" : "Correo electrónico guardado", "Invalid email" : "Correo electrónico no válido", - "Unable to delete group" : "No se pudo eliminar el grupo", - "Unable to delete user" : "No se pudo eliminar el usuario", "Language changed" : "Idioma cambiado", "Invalid request" : "Petición no válida", "Admins can't remove themself from the admin group" : "Los administradores no se pueden eliminar a ellos mismos del grupo de administrador", @@ -59,7 +55,6 @@ OC.L10N.register( "Login" : "Iniciar sesión", "Security Warning" : "Advertencia de seguridad", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está ingresando a %s vía HTTP. Le recomendamos encarecidamente que configure su servidor para que requiera HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Su directorio de datos y archivos es probablemente accesible desde Internet pues el archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos no sea accesible o que mueva dicho directorio fuera de la raíz de documentos del servidor web.", "Setup Warning" : "Advertencia de configuración", "Module 'fileinfo' missing" : "No se ha encontrado el módulo \"fileinfo\"", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "No se ha encontrado el modulo PHP 'fileinfo'. Le recomendamos encarecidamente que habilite este módulo para obtener mejores resultados con la detección de tipos MIME.", diff --git a/settings/l10n/es_MX.json b/settings/l10n/es_MX.json index 8e6456ec85b..dfe586677a1 100644 --- a/settings/l10n/es_MX.json +++ b/settings/l10n/es_MX.json @@ -6,12 +6,8 @@ "Authentication error" : "Error de autenticación", "Your full name has been changed." : "Se ha cambiado su nombre completo.", "Unable to change full name" : "No se puede cambiar el nombre completo", - "Group already exists" : "El grupo ya existe", - "Unable to add group" : "No se pudo añadir el grupo", "Email saved" : "Correo electrónico guardado", "Invalid email" : "Correo electrónico no válido", - "Unable to delete group" : "No se pudo eliminar el grupo", - "Unable to delete user" : "No se pudo eliminar el usuario", "Language changed" : "Idioma cambiado", "Invalid request" : "Petición no válida", "Admins can't remove themself from the admin group" : "Los administradores no se pueden eliminar a ellos mismos del grupo de administrador", @@ -57,7 +53,6 @@ "Login" : "Iniciar sesión", "Security Warning" : "Advertencia de seguridad", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está ingresando a %s vía HTTP. Le recomendamos encarecidamente que configure su servidor para que requiera HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Su directorio de datos y archivos es probablemente accesible desde Internet pues el archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos no sea accesible o que mueva dicho directorio fuera de la raíz de documentos del servidor web.", "Setup Warning" : "Advertencia de configuración", "Module 'fileinfo' missing" : "No se ha encontrado el módulo \"fileinfo\"", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "No se ha encontrado el modulo PHP 'fileinfo'. Le recomendamos encarecidamente que habilite este módulo para obtener mejores resultados con la detección de tipos MIME.", diff --git a/settings/l10n/et_EE.js b/settings/l10n/et_EE.js index 18d7cff60f9..cf6f1fcd6d4 100644 --- a/settings/l10n/et_EE.js +++ b/settings/l10n/et_EE.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Autentimise viga", "Your full name has been changed." : "Sinu täispikk nimi on muudetud.", "Unable to change full name" : "Täispika nime muutmine ebaõnnestus", - "Group already exists" : "Grupp on juba olemas", - "Unable to add group" : "Keela grupi lisamine", "Files decrypted successfully" : "Failide krüpteerimine õnnestus", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Ei suutnud faile dekrüpteerida, palun kontrolli oma owncloud.log-i või küsi nõu administraatorilt", "Couldn't decrypt your files, check your password and try again" : "Ei suutnud failde dekrüpteerida, kontrolli parooli ja proovi uuesti", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Ei suutnud rakendit eemaldada.", "Email saved" : "Kiri on salvestatud", "Invalid email" : "Vigane e-post", - "Unable to delete group" : "Grupi kustutamine ebaõnnestus", - "Unable to delete user" : "Kasutaja kustutamine ebaõnnestus", "Backups restored successfully" : "Varukoopiad taastatud edukalt.", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Ei suutnud taastada sinu krüpteerimisvõtmeid, palun vaata owncloud.log-i või pöördu oma süsteemihalduri poole.", "Language changed" : "Keel on muudetud", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Turvahoiatus", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Sa kasutad %s ligipääsuks HTTP protokolli. Soovitame tungivalt seadistada oma server selle asemel kasutama HTTPS-i.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Andmete kataloog ja failid on tõenäoliselt internetis avalikult saadaval. .htaccess fail, ei toimi. Soovitame tungivalt veebiserver seadistada selliselt, et andmete kataloog ei oleks enam vabalt saadaval või tõstaksid andmete kataloogi oma veebiserveri veebi juurkataloogist mujale.", "Setup Warning" : "Paigalduse hoiatus", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP on seadistatud eemaldama \"inline\" dokumendi blokke. See muudab mõned rakendid kasutamatuteks.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "See on tõenäoliselt põhjustatud puhver/kiirendist nagu Zend OPcache või eAccelerator.", @@ -117,7 +112,6 @@ OC.L10N.register( "This means that there might be problems with certain characters in file names." : "See tähendab, et võib esineda probleeme failide nimedes mõnede sümbolitega.", "URL generation in notification emails" : "URL-ide loomine teavituskirjades", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Kui sinu sait pole paigaldatud domeeni juurkausta ja see kasutab ajastatud tegevusi, siis võib tekkide probleeme URL-ide loomisega. Nende probleemide vältimiseks sisesta palun failis config.php valikusse \"overwritewebroot\" oma veebiserveri juurkaust (Soovituslik: \"%s\")", - "Connectivity Checks" : "Ühenduse kontrollid", "No problems found" : "Ühtegi probleemi ei leitud", "Please double check the <a href='%s'>installation guides</a>." : "Palun tutvu veelkord <a href='%s'>paigalduse juhenditega</a>.", "Last cron was executed at %s." : "Cron käivitati viimati %s.", diff --git a/settings/l10n/et_EE.json b/settings/l10n/et_EE.json index 0b2c35b5f1f..61c18a638d0 100644 --- a/settings/l10n/et_EE.json +++ b/settings/l10n/et_EE.json @@ -8,8 +8,6 @@ "Authentication error" : "Autentimise viga", "Your full name has been changed." : "Sinu täispikk nimi on muudetud.", "Unable to change full name" : "Täispika nime muutmine ebaõnnestus", - "Group already exists" : "Grupp on juba olemas", - "Unable to add group" : "Keela grupi lisamine", "Files decrypted successfully" : "Failide krüpteerimine õnnestus", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Ei suutnud faile dekrüpteerida, palun kontrolli oma owncloud.log-i või küsi nõu administraatorilt", "Couldn't decrypt your files, check your password and try again" : "Ei suutnud failde dekrüpteerida, kontrolli parooli ja proovi uuesti", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Ei suutnud rakendit eemaldada.", "Email saved" : "Kiri on salvestatud", "Invalid email" : "Vigane e-post", - "Unable to delete group" : "Grupi kustutamine ebaõnnestus", - "Unable to delete user" : "Kasutaja kustutamine ebaõnnestus", "Backups restored successfully" : "Varukoopiad taastatud edukalt.", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Ei suutnud taastada sinu krüpteerimisvõtmeid, palun vaata owncloud.log-i või pöördu oma süsteemihalduri poole.", "Language changed" : "Keel on muudetud", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Turvahoiatus", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Sa kasutad %s ligipääsuks HTTP protokolli. Soovitame tungivalt seadistada oma server selle asemel kasutama HTTPS-i.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Andmete kataloog ja failid on tõenäoliselt internetis avalikult saadaval. .htaccess fail, ei toimi. Soovitame tungivalt veebiserver seadistada selliselt, et andmete kataloog ei oleks enam vabalt saadaval või tõstaksid andmete kataloogi oma veebiserveri veebi juurkataloogist mujale.", "Setup Warning" : "Paigalduse hoiatus", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP on seadistatud eemaldama \"inline\" dokumendi blokke. See muudab mõned rakendid kasutamatuteks.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "See on tõenäoliselt põhjustatud puhver/kiirendist nagu Zend OPcache või eAccelerator.", @@ -115,7 +110,6 @@ "This means that there might be problems with certain characters in file names." : "See tähendab, et võib esineda probleeme failide nimedes mõnede sümbolitega.", "URL generation in notification emails" : "URL-ide loomine teavituskirjades", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Kui sinu sait pole paigaldatud domeeni juurkausta ja see kasutab ajastatud tegevusi, siis võib tekkide probleeme URL-ide loomisega. Nende probleemide vältimiseks sisesta palun failis config.php valikusse \"overwritewebroot\" oma veebiserveri juurkaust (Soovituslik: \"%s\")", - "Connectivity Checks" : "Ühenduse kontrollid", "No problems found" : "Ühtegi probleemi ei leitud", "Please double check the <a href='%s'>installation guides</a>." : "Palun tutvu veelkord <a href='%s'>paigalduse juhenditega</a>.", "Last cron was executed at %s." : "Cron käivitati viimati %s.", diff --git a/settings/l10n/eu.js b/settings/l10n/eu.js index eeff2dd7dbd..4f407f6d517 100644 --- a/settings/l10n/eu.js +++ b/settings/l10n/eu.js @@ -9,8 +9,6 @@ OC.L10N.register( "Authentication error" : "Autentifikazio errorea", "Your full name has been changed." : "Zure izena aldatu egin da.", "Unable to change full name" : "Ezin izan da izena aldatu", - "Group already exists" : "Taldea dagoeneko existitzenda", - "Unable to add group" : "Ezin izan da taldea gehitu", "Files decrypted successfully" : "Fitxategiak ongi deskodetu dira.", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Ezin izan dira zure fitxategiak deskodetu, egiaztatu zure owncloud.log edo galdetu administratzaileari", "Couldn't decrypt your files, check your password and try again" : "Ezin izan dira deskodetu zure fitxategiak, egiaztatu zure pasahitza eta saiatu berriz", @@ -19,8 +17,6 @@ OC.L10N.register( "Couldn't remove app." : "Ezin izan da aplikazioa ezabatu..", "Email saved" : "Eposta gorde da", "Invalid email" : "Baliogabeko eposta", - "Unable to delete group" : "Ezin izan da taldea ezabatu", - "Unable to delete user" : "Ezin izan da erabiltzailea ezabatu", "Backups restored successfully" : "Babeskopiak ongi leheneratu dira", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Ezin izan dira zure enkriptatze gakoak leheneratu, egiaztatu zure owncloud.log edo galdetu administratzaileari", "Language changed" : "Hizkuntza aldatuta", @@ -100,7 +96,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Segurtasun abisua", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "%s HTTP bidez erabiltzen ari zara. Aholkatzen dizugu zure zerbitzaria HTTPS erabil dezan.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Zure data karpeta eta zure fitxategiak internetetik zuzenean eskuragarri egon daitezke. .htaccess fitxategia ez du bere lana egiten. Aholkatzen dizugu zure web zerbitzaria ongi konfiguratzea data karpeta eskuragarri ez izateko edo data karpeta web zerbitzariaren dokumentu errotik mugitzea.", "Setup Warning" : "Konfiguratu abisuak", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Badirudi PHP konfiguratuta dagoela lineako dokumentu blokeak aldatzeko. Honek zenbait oinarrizko aplikazio eskuraezin bihurtuko ditu.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hau ziur aski cache/accelerator batek eragin du, hala nola Zend OPcache edo eAccelerator.", diff --git a/settings/l10n/eu.json b/settings/l10n/eu.json index 3405967c4a9..0b44947e15e 100644 --- a/settings/l10n/eu.json +++ b/settings/l10n/eu.json @@ -7,8 +7,6 @@ "Authentication error" : "Autentifikazio errorea", "Your full name has been changed." : "Zure izena aldatu egin da.", "Unable to change full name" : "Ezin izan da izena aldatu", - "Group already exists" : "Taldea dagoeneko existitzenda", - "Unable to add group" : "Ezin izan da taldea gehitu", "Files decrypted successfully" : "Fitxategiak ongi deskodetu dira.", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Ezin izan dira zure fitxategiak deskodetu, egiaztatu zure owncloud.log edo galdetu administratzaileari", "Couldn't decrypt your files, check your password and try again" : "Ezin izan dira deskodetu zure fitxategiak, egiaztatu zure pasahitza eta saiatu berriz", @@ -17,8 +15,6 @@ "Couldn't remove app." : "Ezin izan da aplikazioa ezabatu..", "Email saved" : "Eposta gorde da", "Invalid email" : "Baliogabeko eposta", - "Unable to delete group" : "Ezin izan da taldea ezabatu", - "Unable to delete user" : "Ezin izan da erabiltzailea ezabatu", "Backups restored successfully" : "Babeskopiak ongi leheneratu dira", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Ezin izan dira zure enkriptatze gakoak leheneratu, egiaztatu zure owncloud.log edo galdetu administratzaileari", "Language changed" : "Hizkuntza aldatuta", @@ -98,7 +94,6 @@ "TLS" : "TLS", "Security Warning" : "Segurtasun abisua", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "%s HTTP bidez erabiltzen ari zara. Aholkatzen dizugu zure zerbitzaria HTTPS erabil dezan.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Zure data karpeta eta zure fitxategiak internetetik zuzenean eskuragarri egon daitezke. .htaccess fitxategia ez du bere lana egiten. Aholkatzen dizugu zure web zerbitzaria ongi konfiguratzea data karpeta eskuragarri ez izateko edo data karpeta web zerbitzariaren dokumentu errotik mugitzea.", "Setup Warning" : "Konfiguratu abisuak", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Badirudi PHP konfiguratuta dagoela lineako dokumentu blokeak aldatzeko. Honek zenbait oinarrizko aplikazio eskuraezin bihurtuko ditu.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hau ziur aski cache/accelerator batek eragin du, hala nola Zend OPcache edo eAccelerator.", diff --git a/settings/l10n/fa.js b/settings/l10n/fa.js index c3ba168338d..4d14c490af9 100644 --- a/settings/l10n/fa.js +++ b/settings/l10n/fa.js @@ -9,15 +9,11 @@ OC.L10N.register( "Authentication error" : "خطا در اعتبار سنجی", "Your full name has been changed." : "نام کامل شما تغییر یافت", "Unable to change full name" : "امکان تغییر نام کامل وجود ندارد", - "Group already exists" : "این گروه در حال حاضر موجود است", - "Unable to add group" : "افزودن گروه امکان پذیر نیست", "Files decrypted successfully" : "فایل ها با موفقیت رمزگشایی شدند.", "Encryption keys deleted permanently" : "کلیدهای رمزگذاری به طور کامل حذف شدند", "Couldn't remove app." : "امکان حذف برنامه وجود ندارد.", "Email saved" : "ایمیل ذخیره شد", "Invalid email" : "ایمیل غیر قابل قبول", - "Unable to delete group" : "حذف گروه امکان پذیر نیست", - "Unable to delete user" : "حذف کاربر امکان پذیر نیست", "Backups restored successfully" : "پشتیبان ها با موفقیت بازیابی شدند", "Language changed" : "زبان تغییر کرد", "Invalid request" : "درخواست نامعتبر", @@ -86,7 +82,6 @@ OC.L10N.register( "SSL" : "SSL", "TLS" : "TLS", "Security Warning" : "اخطار امنیتی", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "به احتمال زیاد پوشهی data و فایلهای شما از طریق اینترنت قابل دسترسی هستند. فایل .htaccess برنامه کار نمیکند. ما شدیداً توصیه می کنیم که شما وب سرور خودتان را طوری تنظیم کنید که پوشهی data شما غیر قابل دسترسی باشد یا اینکه پوشهی data را به خارج از ریشهی اصلی وب سرور انتقال دهید.", "Setup Warning" : "هشدار راه اندازی", "Database Performance Info" : "اطلاعات کارایی پایگاه داده", "Module 'fileinfo' missing" : "ماژول 'fileinfo' از کار افتاده", diff --git a/settings/l10n/fa.json b/settings/l10n/fa.json index 766ffa4381e..c729c39c722 100644 --- a/settings/l10n/fa.json +++ b/settings/l10n/fa.json @@ -7,15 +7,11 @@ "Authentication error" : "خطا در اعتبار سنجی", "Your full name has been changed." : "نام کامل شما تغییر یافت", "Unable to change full name" : "امکان تغییر نام کامل وجود ندارد", - "Group already exists" : "این گروه در حال حاضر موجود است", - "Unable to add group" : "افزودن گروه امکان پذیر نیست", "Files decrypted successfully" : "فایل ها با موفقیت رمزگشایی شدند.", "Encryption keys deleted permanently" : "کلیدهای رمزگذاری به طور کامل حذف شدند", "Couldn't remove app." : "امکان حذف برنامه وجود ندارد.", "Email saved" : "ایمیل ذخیره شد", "Invalid email" : "ایمیل غیر قابل قبول", - "Unable to delete group" : "حذف گروه امکان پذیر نیست", - "Unable to delete user" : "حذف کاربر امکان پذیر نیست", "Backups restored successfully" : "پشتیبان ها با موفقیت بازیابی شدند", "Language changed" : "زبان تغییر کرد", "Invalid request" : "درخواست نامعتبر", @@ -84,7 +80,6 @@ "SSL" : "SSL", "TLS" : "TLS", "Security Warning" : "اخطار امنیتی", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "به احتمال زیاد پوشهی data و فایلهای شما از طریق اینترنت قابل دسترسی هستند. فایل .htaccess برنامه کار نمیکند. ما شدیداً توصیه می کنیم که شما وب سرور خودتان را طوری تنظیم کنید که پوشهی data شما غیر قابل دسترسی باشد یا اینکه پوشهی data را به خارج از ریشهی اصلی وب سرور انتقال دهید.", "Setup Warning" : "هشدار راه اندازی", "Database Performance Info" : "اطلاعات کارایی پایگاه داده", "Module 'fileinfo' missing" : "ماژول 'fileinfo' از کار افتاده", diff --git a/settings/l10n/fi_FI.js b/settings/l10n/fi_FI.js index f37634c262a..762a2e97959 100644 --- a/settings/l10n/fi_FI.js +++ b/settings/l10n/fi_FI.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Tunnistautumisvirhe", "Your full name has been changed." : "Koko nimesi on muutettu.", "Unable to change full name" : "Koko nimen muuttaminen epäonnistui", - "Group already exists" : "Ryhmä on jo olemassa", - "Unable to add group" : "Ryhmän lisäys epäonnistui", "Files decrypted successfully" : "Tiedostojen salaus purettiin onnistuneesti", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Tiedostojen salauksen purkaminen epäonnistui. Tarkista owncloud.log-tiedosto tai ota yhteys ylläpitäjään", "Couldn't decrypt your files, check your password and try again" : "Tiedostojen salauksen purkaminen epäonnistui. Tarkista salasanasi ja yritä uudelleen", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Sovelluksen poistaminen epäonnistui.", "Email saved" : "Sähköposti tallennettu", "Invalid email" : "Virheellinen sähköposti", - "Unable to delete group" : "Ryhmän poisto epäonnistui", - "Unable to delete user" : "Käyttäjän poisto epäonnistui", "Backups restored successfully" : "Varmuuskopiot palautettiin onnistuneesti", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Salausavaintesi palauttaminen ei onnistunut, tarkista owncloud.log tai ole yhteydessä ylläpitäjään", "Language changed" : "Kieli on vaihdettu", @@ -101,7 +97,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Turvallisuusvaroitus", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Käytät %sia HTTP-yhteydellä. Suosittelemme määrittämään palvelimen vaatimaan salattua HTTPS-yhteyttä.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Datahakemistosi ja kaikki tiedostosi ovat luultavasti käytettävissä suoraan internetistä. .htaccess-tiedosto ei toimi tällä hetkellä. Määritä verkkopalvelimen asetukset siten, ettei datahakemistosi ole suoraan käytettävissä tai siirrä kyseinen hakemisto pois verkkopalvelimen dokumenttijuuresta.", "Read-Only config enabled" : "Vain luku -määritykset otettu käyttöön", "Setup Warning" : "Asetusvaroitus", "Database Performance Info" : "Tietokannan suorituskyvyn tiedot", diff --git a/settings/l10n/fi_FI.json b/settings/l10n/fi_FI.json index 355cfe7f324..7ba8b78ace3 100644 --- a/settings/l10n/fi_FI.json +++ b/settings/l10n/fi_FI.json @@ -8,8 +8,6 @@ "Authentication error" : "Tunnistautumisvirhe", "Your full name has been changed." : "Koko nimesi on muutettu.", "Unable to change full name" : "Koko nimen muuttaminen epäonnistui", - "Group already exists" : "Ryhmä on jo olemassa", - "Unable to add group" : "Ryhmän lisäys epäonnistui", "Files decrypted successfully" : "Tiedostojen salaus purettiin onnistuneesti", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Tiedostojen salauksen purkaminen epäonnistui. Tarkista owncloud.log-tiedosto tai ota yhteys ylläpitäjään", "Couldn't decrypt your files, check your password and try again" : "Tiedostojen salauksen purkaminen epäonnistui. Tarkista salasanasi ja yritä uudelleen", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Sovelluksen poistaminen epäonnistui.", "Email saved" : "Sähköposti tallennettu", "Invalid email" : "Virheellinen sähköposti", - "Unable to delete group" : "Ryhmän poisto epäonnistui", - "Unable to delete user" : "Käyttäjän poisto epäonnistui", "Backups restored successfully" : "Varmuuskopiot palautettiin onnistuneesti", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Salausavaintesi palauttaminen ei onnistunut, tarkista owncloud.log tai ole yhteydessä ylläpitäjään", "Language changed" : "Kieli on vaihdettu", @@ -99,7 +95,6 @@ "TLS" : "TLS", "Security Warning" : "Turvallisuusvaroitus", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Käytät %sia HTTP-yhteydellä. Suosittelemme määrittämään palvelimen vaatimaan salattua HTTPS-yhteyttä.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Datahakemistosi ja kaikki tiedostosi ovat luultavasti käytettävissä suoraan internetistä. .htaccess-tiedosto ei toimi tällä hetkellä. Määritä verkkopalvelimen asetukset siten, ettei datahakemistosi ole suoraan käytettävissä tai siirrä kyseinen hakemisto pois verkkopalvelimen dokumenttijuuresta.", "Read-Only config enabled" : "Vain luku -määritykset otettu käyttöön", "Setup Warning" : "Asetusvaroitus", "Database Performance Info" : "Tietokannan suorituskyvyn tiedot", diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js index 28b2290b47b..4c8e773ca81 100644 --- a/settings/l10n/fr.js +++ b/settings/l10n/fr.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Erreur d'authentification", "Your full name has been changed." : "Votre nom complet a été modifié.", "Unable to change full name" : "Impossible de changer le nom complet", - "Group already exists" : "Ce groupe existe déjà", - "Unable to add group" : "Impossible d'ajouter le groupe", "Files decrypted successfully" : "Fichiers décryptés avec succès", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Impossible de décrypter vos fichiers, veuillez vérifier votre owncloud.log ou demander à votre administrateur", "Couldn't decrypt your files, check your password and try again" : "Impossible de décrypter vos fichiers, vérifiez votre mot de passe et essayez à nouveau", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Impossible de supprimer l'application.", "Email saved" : "E-mail sauvegardé", "Invalid email" : "E-mail invalide", - "Unable to delete group" : "Impossible de supprimer le groupe", - "Unable to delete user" : "Impossible de supprimer l'utilisateur", "Backups restored successfully" : "La sauvegarde a été restaurée avec succès", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Impossible de restaurer vos clés de chiffrement, merci de regarder journal owncloud.log ou de demander à votre administrateur", "Language changed" : "Langue changée", @@ -102,9 +98,8 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Avertissement de sécurité", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Vous accédez à %s via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS à la place.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou bien de le déplacer à l'extérieur de la racine du serveur web.", "Read-Only config enabled" : "Configuration en mode lecture seule activée", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, les fichiers doivent être passés manuellement en lecture-écriture pour chaque mise à jour.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, le fichier doit être passé manuellement en lecture-écriture pour chaque mise à jour.", "Setup Warning" : "Avertissement, problème de configuration", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP est apparemment configuré pour supprimer les blocs de documentation internes. Cela rendra plusieurs applications de base inaccessibles.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La raison est probablement l'utilisation d'un cache / accélérateur tel que Zend OPcache ou eAccelerator.", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nous vous recommandons d'installer sur votre système les paquets requis à la prise en charge de l'un des paramètres régionaux suivants : %s", "URL generation in notification emails" : "Génération d'URL dans les mails de notification", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwritewebroot\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", - "Connectivity Checks" : "Vérification de la connectivité", "No problems found" : "Aucun problème trouvé", "Please double check the <a href='%s'>installation guides</a>." : "Veuillez vous référer au <a href='%s'>guide d'installation</a>.", "Last cron was executed at %s." : "Le dernier cron s'est exécuté à la date suivante : %s.", diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json index 167939bb628..56956a5e417 100644 --- a/settings/l10n/fr.json +++ b/settings/l10n/fr.json @@ -8,8 +8,6 @@ "Authentication error" : "Erreur d'authentification", "Your full name has been changed." : "Votre nom complet a été modifié.", "Unable to change full name" : "Impossible de changer le nom complet", - "Group already exists" : "Ce groupe existe déjà", - "Unable to add group" : "Impossible d'ajouter le groupe", "Files decrypted successfully" : "Fichiers décryptés avec succès", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Impossible de décrypter vos fichiers, veuillez vérifier votre owncloud.log ou demander à votre administrateur", "Couldn't decrypt your files, check your password and try again" : "Impossible de décrypter vos fichiers, vérifiez votre mot de passe et essayez à nouveau", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Impossible de supprimer l'application.", "Email saved" : "E-mail sauvegardé", "Invalid email" : "E-mail invalide", - "Unable to delete group" : "Impossible de supprimer le groupe", - "Unable to delete user" : "Impossible de supprimer l'utilisateur", "Backups restored successfully" : "La sauvegarde a été restaurée avec succès", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Impossible de restaurer vos clés de chiffrement, merci de regarder journal owncloud.log ou de demander à votre administrateur", "Language changed" : "Langue changée", @@ -100,9 +96,8 @@ "TLS" : "TLS", "Security Warning" : "Avertissement de sécurité", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Vous accédez à %s via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS à la place.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou bien de le déplacer à l'extérieur de la racine du serveur web.", "Read-Only config enabled" : "Configuration en mode lecture seule activée", - "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, les fichiers doivent être passés manuellement en lecture-écriture pour chaque mise à jour.", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configuration est en mode lecture seule. Ceci empêche la modification de certaines configurations via l'interface web. De plus, le fichier doit être passé manuellement en lecture-écriture pour chaque mise à jour.", "Setup Warning" : "Avertissement, problème de configuration", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP est apparemment configuré pour supprimer les blocs de documentation internes. Cela rendra plusieurs applications de base inaccessibles.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "La raison est probablement l'utilisation d'un cache / accélérateur tel que Zend OPcache ou eAccelerator.", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nous vous recommandons d'installer sur votre système les paquets requis à la prise en charge de l'un des paramètres régionaux suivants : %s", "URL generation in notification emails" : "Génération d'URL dans les mails de notification", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwritewebroot\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", - "Connectivity Checks" : "Vérification de la connectivité", "No problems found" : "Aucun problème trouvé", "Please double check the <a href='%s'>installation guides</a>." : "Veuillez vous référer au <a href='%s'>guide d'installation</a>.", "Last cron was executed at %s." : "Le dernier cron s'est exécuté à la date suivante : %s.", diff --git a/settings/l10n/gl.js b/settings/l10n/gl.js index 64e73cf0d0e..48172af1fca 100644 --- a/settings/l10n/gl.js +++ b/settings/l10n/gl.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Produciuse un erro de autenticación", "Your full name has been changed." : "O seu nome completo foi cambiado", "Unable to change full name" : "Non é posíbel cambiar o nome completo", - "Group already exists" : "O grupo xa existe", - "Unable to add group" : "Non é posíbel engadir o grupo", "Files decrypted successfully" : "Ficheiros descifrados satisfactoriamente", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Non foi posíbel descifrar os seus ficheiros. revise o ficheiro de rexistro owncloud.log, ou pregúntelle ao administrador", "Couldn't decrypt your files, check your password and try again" : "Non foi posíbel descifrar os seus ficheiros. revise o seu contrasinal e ténteo de novo", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Non foi posíbel retirar a aplicación.", "Email saved" : "Correo gardado", "Invalid email" : "Correo incorrecto", - "Unable to delete group" : "Non é posíbel eliminar o grupo.", - "Unable to delete user" : "Non é posíbel eliminar o usuario", "Backups restored successfully" : "As copias de seguranza foron restauradas satisfactoriamente", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Non foi posíbel restaurar as chaves de cifrado. revise o ficheiro de rexistro owncloud.log, ou pregúntelle ao administrador", "Language changed" : "O idioma cambiou", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Aviso de seguranza", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está accedendo a %s a través de HTTP. Suxerímoslle que configure o seu servidor para requirir, no seu canto, o uso de HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "O seu cartafol de datos e os seus ficheiros probabelmente sexan accesíbeis a través de internet. O ficheiro .htaccess non está a traballar. Suxerímoslle que configure o seu servidor web de tal maneira que o cartafol de datos non estea accesíbel ou que mova o o directorio de datos fóra da raíz de documentos do servidor web.", "Read-Only config enabled" : "Activada a restrición da configuración a só lectura", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Foi activada a restrición da configuración a só lectura. Isto impide o estabelecemento dalgunhas configuracións a través da interface web. Ademais, ten que facer escribíbel manualmente o ficheiro para cada actualización.", "Setup Warning" : "Configurar os avisos", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendámoslle que instale no sistema os paquetes necesarios para admitir unha das seguintes configuracións rexionais: %s.", "URL generation in notification emails" : "Xeración dos URL nos correos de notificación", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se a instalación non foi feita na raíz do dominio e usa o sistema de cron, poden xurdir problemas coa xeración dos URL. Para evitar estes problemas, axuste a opción «overwritewebroot» no ficheiro config.php ás ruta de webroot da súa instalación (suxírese: «%s»)", - "Connectivity Checks" : "Comprobacións de conectividade", "No problems found" : "Non se atoparon problemas", "Please double check the <a href='%s'>installation guides</a>." : "Volva comprobar as <a href='%s'>guías de instalación</a>", "Last cron was executed at %s." : "O último «cron» executouse ás %s.", diff --git a/settings/l10n/gl.json b/settings/l10n/gl.json index f72ae5d272f..e6b6010e7a8 100644 --- a/settings/l10n/gl.json +++ b/settings/l10n/gl.json @@ -8,8 +8,6 @@ "Authentication error" : "Produciuse un erro de autenticación", "Your full name has been changed." : "O seu nome completo foi cambiado", "Unable to change full name" : "Non é posíbel cambiar o nome completo", - "Group already exists" : "O grupo xa existe", - "Unable to add group" : "Non é posíbel engadir o grupo", "Files decrypted successfully" : "Ficheiros descifrados satisfactoriamente", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Non foi posíbel descifrar os seus ficheiros. revise o ficheiro de rexistro owncloud.log, ou pregúntelle ao administrador", "Couldn't decrypt your files, check your password and try again" : "Non foi posíbel descifrar os seus ficheiros. revise o seu contrasinal e ténteo de novo", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Non foi posíbel retirar a aplicación.", "Email saved" : "Correo gardado", "Invalid email" : "Correo incorrecto", - "Unable to delete group" : "Non é posíbel eliminar o grupo.", - "Unable to delete user" : "Non é posíbel eliminar o usuario", "Backups restored successfully" : "As copias de seguranza foron restauradas satisfactoriamente", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Non foi posíbel restaurar as chaves de cifrado. revise o ficheiro de rexistro owncloud.log, ou pregúntelle ao administrador", "Language changed" : "O idioma cambiou", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Aviso de seguranza", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está accedendo a %s a través de HTTP. Suxerímoslle que configure o seu servidor para requirir, no seu canto, o uso de HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "O seu cartafol de datos e os seus ficheiros probabelmente sexan accesíbeis a través de internet. O ficheiro .htaccess non está a traballar. Suxerímoslle que configure o seu servidor web de tal maneira que o cartafol de datos non estea accesíbel ou que mova o o directorio de datos fóra da raíz de documentos do servidor web.", "Read-Only config enabled" : "Activada a restrición da configuración a só lectura", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Foi activada a restrición da configuración a só lectura. Isto impide o estabelecemento dalgunhas configuracións a través da interface web. Ademais, ten que facer escribíbel manualmente o ficheiro para cada actualización.", "Setup Warning" : "Configurar os avisos", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendámoslle que instale no sistema os paquetes necesarios para admitir unha das seguintes configuracións rexionais: %s.", "URL generation in notification emails" : "Xeración dos URL nos correos de notificación", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se a instalación non foi feita na raíz do dominio e usa o sistema de cron, poden xurdir problemas coa xeración dos URL. Para evitar estes problemas, axuste a opción «overwritewebroot» no ficheiro config.php ás ruta de webroot da súa instalación (suxírese: «%s»)", - "Connectivity Checks" : "Comprobacións de conectividade", "No problems found" : "Non se atoparon problemas", "Please double check the <a href='%s'>installation guides</a>." : "Volva comprobar as <a href='%s'>guías de instalación</a>", "Last cron was executed at %s." : "O último «cron» executouse ás %s.", diff --git a/settings/l10n/he.js b/settings/l10n/he.js index 72fe1591b13..014eb59dbaf 100644 --- a/settings/l10n/he.js +++ b/settings/l10n/he.js @@ -6,12 +6,8 @@ OC.L10N.register( "Security" : "אבטחה", "Log" : "יומן", "Authentication error" : "שגיאת הזדהות", - "Group already exists" : "הקבוצה כבר קיימת", - "Unable to add group" : "לא ניתן להוסיף קבוצה", "Email saved" : "הדוא״ל נשמר", "Invalid email" : "דוא״ל לא חוקי", - "Unable to delete group" : "לא ניתן למחוק את הקבוצה", - "Unable to delete user" : "לא ניתן למחוק את המשתמש", "Language changed" : "שפה השתנתה", "Invalid request" : "בקשה לא חוקית", "Admins can't remove themself from the admin group" : "מנהלים לא יכולים להסיר את עצמם מקבוצת המנהלים", diff --git a/settings/l10n/he.json b/settings/l10n/he.json index 7f3ac6506e0..f9c3986d1a1 100644 --- a/settings/l10n/he.json +++ b/settings/l10n/he.json @@ -4,12 +4,8 @@ "Security" : "אבטחה", "Log" : "יומן", "Authentication error" : "שגיאת הזדהות", - "Group already exists" : "הקבוצה כבר קיימת", - "Unable to add group" : "לא ניתן להוסיף קבוצה", "Email saved" : "הדוא״ל נשמר", "Invalid email" : "דוא״ל לא חוקי", - "Unable to delete group" : "לא ניתן למחוק את הקבוצה", - "Unable to delete user" : "לא ניתן למחוק את המשתמש", "Language changed" : "שפה השתנתה", "Invalid request" : "בקשה לא חוקית", "Admins can't remove themself from the admin group" : "מנהלים לא יכולים להסיר את עצמם מקבוצת המנהלים", diff --git a/settings/l10n/hr.js b/settings/l10n/hr.js index ff690b743e3..bca990804d5 100644 --- a/settings/l10n/hr.js +++ b/settings/l10n/hr.js @@ -9,8 +9,6 @@ OC.L10N.register( "Authentication error" : "Pogrešna autentikacija", "Your full name has been changed." : "Vaše puno ime je promijenjeno.", "Unable to change full name" : "Puno ime nije moguće promijeniti.", - "Group already exists" : "Grupa već postoji", - "Unable to add group" : "Grupu nije moguće dodati", "Files decrypted successfully" : "Datoteke uspješno dešifrirane", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Vaše datoteke nije moguće dešifrirati, molimo provjerite svoj owncloud.logili kontaktirajte svog administratora.", "Couldn't decrypt your files, check your password and try again" : "Vaše datoteke nije moguće dešifrirati, provjerite svoju lozinku i pokušajte ponovno.", @@ -19,8 +17,6 @@ OC.L10N.register( "Couldn't remove app." : "Nije moguće ukloniti app.", "Email saved" : "E-pošta spremljena", "Invalid email" : "E-pošta neispravna", - "Unable to delete group" : "Grupu nije moguće izbrisati", - "Unable to delete user" : "Korisnika nije moguće izbrisati", "Backups restored successfully" : "Sigurnosne kopije uspješno obnovljene", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Vaše ključeve za šifriranje nije moguće obnoviti, molimo provjerite svoj owncloud.logili kontaktirajte svog administratora.", "Language changed" : "Promjena jezika", @@ -96,7 +92,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Sigurnosno upozorenje", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Vi %s pristupate putem HTTP. Toplo vam preporučujemo da svoj poslužitelj konfigurirate takoda umjesto HTTP zahtijeva korištenje HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Vašem podatkovnom direktoriju i vašim datotekama pristup je vjerojatno moguć s interneta.Datoteka .htaccess ne radi. Toplo vam preporučujemo da svoj web poslužitelj konfigurirate tako daje pristup podatkovnom direktoriju nemoguć ili pak podatkovni direktorij premjestite izvan korijena dokumentaweb poslužitelja.", "Setup Warning" : "Upozorenje programa za postavljanje", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je očigledno postavljen na strip inline doc blocks. To će nekoliko osnovnih aplikacija učiniti nedostupnima.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemoriranja kao što je Zend OPcache ilieAccelerator.", diff --git a/settings/l10n/hr.json b/settings/l10n/hr.json index 4f28ba64adc..9d337af9b04 100644 --- a/settings/l10n/hr.json +++ b/settings/l10n/hr.json @@ -7,8 +7,6 @@ "Authentication error" : "Pogrešna autentikacija", "Your full name has been changed." : "Vaše puno ime je promijenjeno.", "Unable to change full name" : "Puno ime nije moguće promijeniti.", - "Group already exists" : "Grupa već postoji", - "Unable to add group" : "Grupu nije moguće dodati", "Files decrypted successfully" : "Datoteke uspješno dešifrirane", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Vaše datoteke nije moguće dešifrirati, molimo provjerite svoj owncloud.logili kontaktirajte svog administratora.", "Couldn't decrypt your files, check your password and try again" : "Vaše datoteke nije moguće dešifrirati, provjerite svoju lozinku i pokušajte ponovno.", @@ -17,8 +15,6 @@ "Couldn't remove app." : "Nije moguće ukloniti app.", "Email saved" : "E-pošta spremljena", "Invalid email" : "E-pošta neispravna", - "Unable to delete group" : "Grupu nije moguće izbrisati", - "Unable to delete user" : "Korisnika nije moguće izbrisati", "Backups restored successfully" : "Sigurnosne kopije uspješno obnovljene", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Vaše ključeve za šifriranje nije moguće obnoviti, molimo provjerite svoj owncloud.logili kontaktirajte svog administratora.", "Language changed" : "Promjena jezika", @@ -94,7 +90,6 @@ "TLS" : "TLS", "Security Warning" : "Sigurnosno upozorenje", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Vi %s pristupate putem HTTP. Toplo vam preporučujemo da svoj poslužitelj konfigurirate takoda umjesto HTTP zahtijeva korištenje HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Vašem podatkovnom direktoriju i vašim datotekama pristup je vjerojatno moguć s interneta.Datoteka .htaccess ne radi. Toplo vam preporučujemo da svoj web poslužitelj konfigurirate tako daje pristup podatkovnom direktoriju nemoguć ili pak podatkovni direktorij premjestite izvan korijena dokumentaweb poslužitelja.", "Setup Warning" : "Upozorenje programa za postavljanje", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je očigledno postavljen na strip inline doc blocks. To će nekoliko osnovnih aplikacija učiniti nedostupnima.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemoriranja kao što je Zend OPcache ilieAccelerator.", diff --git a/settings/l10n/hu_HU.js b/settings/l10n/hu_HU.js index 4a83a78a977..92e459e8cde 100644 --- a/settings/l10n/hu_HU.js +++ b/settings/l10n/hu_HU.js @@ -9,8 +9,6 @@ OC.L10N.register( "Authentication error" : "Azonosítási hiba", "Your full name has been changed." : "Az Ön teljes nevét módosítottuk.", "Unable to change full name" : "Nem sikerült megváltoztatni a teljes nevét", - "Group already exists" : "A csoport már létezik", - "Unable to add group" : "A csoport nem hozható létre", "Files decrypted successfully" : "A fájlok titkosítását sikeresen megszüntettük.", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Fájljainak titkosítását nem sikerült megszüntetni, kérjük forduljon a rendszergazdához!", "Couldn't decrypt your files, check your password and try again" : "Fájljainak titkosítását nem sikerült megszüntetni, ellenőrizze a jelszavát, és próbálja újra!", @@ -19,8 +17,6 @@ OC.L10N.register( "Couldn't remove app." : "Az alkalmazást nem sikerült eltávolítani.", "Email saved" : "Elmentettük az e-mail címet", "Invalid email" : "Hibás e-mail", - "Unable to delete group" : "A csoport nem törölhető", - "Unable to delete user" : "A felhasználó nem törölhető", "Backups restored successfully" : "A kulcsokat sikereresen visszaállítottuk a mentésekből.", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "A titkosítási kulcsok visszaállítása nem sikerült. Kérjük ellenőrizze az owncloud.log naplófájlt vagy forduljon a rendszergazdához!", "Language changed" : "A nyelv megváltozott", @@ -96,7 +92,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Biztonsági figyelmeztetés", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "A %s szolgáltatás elérése jelenleg HTTP-n keresztül történik. Nagyon ajánlott, hogy a kiszolgálót úgy állítsa be, hogy az elérés HTTPS-en keresztül történjék.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Az adatkönytára és az itt levő fájlok valószínűleg elérhetők az internetről. Az ownCloud által beillesztett .htaccess fájl nem működik. Nagyon erősen ajánlott, hogy a webszervert úgy konfigurálja, hogy az adatkönyvtár ne legyen közvetlenül kívülről elérhető, vagy az adatkönyvtárt tegye a webszerver dokumentumfáján kívülre.", "Setup Warning" : "A beállítással kapcsolatos figyelmeztetés", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ezt valószínűleg egy gyorsítótár ill. kódgyorsító, mint pl, a Zend, OPcache vagy eAccelererator okozza.", diff --git a/settings/l10n/hu_HU.json b/settings/l10n/hu_HU.json index 01895bb8b9f..7d42c05b2db 100644 --- a/settings/l10n/hu_HU.json +++ b/settings/l10n/hu_HU.json @@ -7,8 +7,6 @@ "Authentication error" : "Azonosítási hiba", "Your full name has been changed." : "Az Ön teljes nevét módosítottuk.", "Unable to change full name" : "Nem sikerült megváltoztatni a teljes nevét", - "Group already exists" : "A csoport már létezik", - "Unable to add group" : "A csoport nem hozható létre", "Files decrypted successfully" : "A fájlok titkosítását sikeresen megszüntettük.", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Fájljainak titkosítását nem sikerült megszüntetni, kérjük forduljon a rendszergazdához!", "Couldn't decrypt your files, check your password and try again" : "Fájljainak titkosítását nem sikerült megszüntetni, ellenőrizze a jelszavát, és próbálja újra!", @@ -17,8 +15,6 @@ "Couldn't remove app." : "Az alkalmazást nem sikerült eltávolítani.", "Email saved" : "Elmentettük az e-mail címet", "Invalid email" : "Hibás e-mail", - "Unable to delete group" : "A csoport nem törölhető", - "Unable to delete user" : "A felhasználó nem törölhető", "Backups restored successfully" : "A kulcsokat sikereresen visszaállítottuk a mentésekből.", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "A titkosítási kulcsok visszaállítása nem sikerült. Kérjük ellenőrizze az owncloud.log naplófájlt vagy forduljon a rendszergazdához!", "Language changed" : "A nyelv megváltozott", @@ -94,7 +90,6 @@ "TLS" : "TLS", "Security Warning" : "Biztonsági figyelmeztetés", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "A %s szolgáltatás elérése jelenleg HTTP-n keresztül történik. Nagyon ajánlott, hogy a kiszolgálót úgy állítsa be, hogy az elérés HTTPS-en keresztül történjék.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Az adatkönytára és az itt levő fájlok valószínűleg elérhetők az internetről. Az ownCloud által beillesztett .htaccess fájl nem működik. Nagyon erősen ajánlott, hogy a webszervert úgy konfigurálja, hogy az adatkönyvtár ne legyen közvetlenül kívülről elérhető, vagy az adatkönyvtárt tegye a webszerver dokumentumfáján kívülre.", "Setup Warning" : "A beállítással kapcsolatos figyelmeztetés", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ezt valószínűleg egy gyorsítótár ill. kódgyorsító, mint pl, a Zend, OPcache vagy eAccelererator okozza.", diff --git a/settings/l10n/id.js b/settings/l10n/id.js index c772bc8127c..e4a54bce930 100644 --- a/settings/l10n/id.js +++ b/settings/l10n/id.js @@ -9,8 +9,6 @@ OC.L10N.register( "Authentication error" : "Terjadi kesalahan saat otentikasi", "Your full name has been changed." : "Nama lengkap Anda telah diubah", "Unable to change full name" : "Tidak dapat mengubah nama lengkap", - "Group already exists" : "Grup sudah ada", - "Unable to add group" : "Tidak dapat menambah grup", "Files decrypted successfully" : "Berkas berhasil dideskripsi", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Tidak dapat mendeskripsi berkas Anda, mohon periksa owncloud.log Anda atau tanyakan pada administrator Anda", "Couldn't decrypt your files, check your password and try again" : "Tidak dapat mendeskripsi berkas Anda, periksa sandi Anda dan coba lagi", @@ -19,8 +17,6 @@ OC.L10N.register( "Couldn't remove app." : "Tidak dapat menghapus aplikasi.", "Email saved" : "Email disimpan", "Invalid email" : "Email tidak valid", - "Unable to delete group" : "Tidak dapat menghapus grup", - "Unable to delete user" : "Tidak dapat menghapus pengguna", "Backups restored successfully" : "Cadangan berhasil dipulihkan", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Tidak dapat memulihkan kunci enkripsi Anda, mohon periksa owncloud.log Anda atau tanyakan pada administrator Anda.", "Language changed" : "Bahasa telah diubah", @@ -101,7 +97,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Peringatan Keamanan", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Anda mengakses %s melalui HTTP. Kami sangat menyarankan Anda untuk mengkonfigurasi server dengan menggunakan HTTPS sebagai gantinya.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Direktori data dan berkas Anda mungkin dapat diakses dari internet. Berkas .htaccess tidak bekerja. Kami sangat menyarankan untuk mengkonfigurasi server web Anda agar direktori data tidak lagi dapat diakses atau Anda dapat memindahkan direktori data di luar dokumen root webserver.", "Setup Warning" : "Peringatan Pengaturan", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Tampaknya pengaturan PHP strip inline doc blocks. Hal ini akan membuat beberapa aplikasi inti tidak dapat diakses.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hal ini kemungkinan disebabkan oleh cache/akselerator seperti Zend OPcache atau eAccelerator.", diff --git a/settings/l10n/id.json b/settings/l10n/id.json index 5a507822b59..96990b90678 100644 --- a/settings/l10n/id.json +++ b/settings/l10n/id.json @@ -7,8 +7,6 @@ "Authentication error" : "Terjadi kesalahan saat otentikasi", "Your full name has been changed." : "Nama lengkap Anda telah diubah", "Unable to change full name" : "Tidak dapat mengubah nama lengkap", - "Group already exists" : "Grup sudah ada", - "Unable to add group" : "Tidak dapat menambah grup", "Files decrypted successfully" : "Berkas berhasil dideskripsi", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Tidak dapat mendeskripsi berkas Anda, mohon periksa owncloud.log Anda atau tanyakan pada administrator Anda", "Couldn't decrypt your files, check your password and try again" : "Tidak dapat mendeskripsi berkas Anda, periksa sandi Anda dan coba lagi", @@ -17,8 +15,6 @@ "Couldn't remove app." : "Tidak dapat menghapus aplikasi.", "Email saved" : "Email disimpan", "Invalid email" : "Email tidak valid", - "Unable to delete group" : "Tidak dapat menghapus grup", - "Unable to delete user" : "Tidak dapat menghapus pengguna", "Backups restored successfully" : "Cadangan berhasil dipulihkan", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Tidak dapat memulihkan kunci enkripsi Anda, mohon periksa owncloud.log Anda atau tanyakan pada administrator Anda.", "Language changed" : "Bahasa telah diubah", @@ -99,7 +95,6 @@ "TLS" : "TLS", "Security Warning" : "Peringatan Keamanan", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Anda mengakses %s melalui HTTP. Kami sangat menyarankan Anda untuk mengkonfigurasi server dengan menggunakan HTTPS sebagai gantinya.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Direktori data dan berkas Anda mungkin dapat diakses dari internet. Berkas .htaccess tidak bekerja. Kami sangat menyarankan untuk mengkonfigurasi server web Anda agar direktori data tidak lagi dapat diakses atau Anda dapat memindahkan direktori data di luar dokumen root webserver.", "Setup Warning" : "Peringatan Pengaturan", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Tampaknya pengaturan PHP strip inline doc blocks. Hal ini akan membuat beberapa aplikasi inti tidak dapat diakses.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Hal ini kemungkinan disebabkan oleh cache/akselerator seperti Zend OPcache atau eAccelerator.", diff --git a/settings/l10n/is.js b/settings/l10n/is.js index d6d42ad0536..6e6fd5c902a 100644 --- a/settings/l10n/is.js +++ b/settings/l10n/is.js @@ -2,12 +2,8 @@ OC.L10N.register( "settings", { "Authentication error" : "Villa við auðkenningu", - "Group already exists" : "Hópur er þegar til", - "Unable to add group" : "Ekki tókst að bæta við hóp", "Email saved" : "Netfang vistað", "Invalid email" : "Ógilt netfang", - "Unable to delete group" : "Ekki tókst að eyða hóp", - "Unable to delete user" : "Ekki tókst að eyða notenda", "Language changed" : "Tungumáli breytt", "Invalid request" : "Ógild fyrirspurn", "Admins can't remove themself from the admin group" : "Stjórnendur geta ekki fjarlægt sjálfa sig úr stjórnendahóp", diff --git a/settings/l10n/is.json b/settings/l10n/is.json index d61b3ccfd1c..5a957e8e626 100644 --- a/settings/l10n/is.json +++ b/settings/l10n/is.json @@ -1,11 +1,7 @@ { "translations": { "Authentication error" : "Villa við auðkenningu", - "Group already exists" : "Hópur er þegar til", - "Unable to add group" : "Ekki tókst að bæta við hóp", "Email saved" : "Netfang vistað", "Invalid email" : "Ógilt netfang", - "Unable to delete group" : "Ekki tókst að eyða hóp", - "Unable to delete user" : "Ekki tókst að eyða notenda", "Language changed" : "Tungumáli breytt", "Invalid request" : "Ógild fyrirspurn", "Admins can't remove themself from the admin group" : "Stjórnendur geta ekki fjarlægt sjálfa sig úr stjórnendahóp", diff --git a/settings/l10n/it.js b/settings/l10n/it.js index 4a6d1c40a5f..b33990c3742 100644 --- a/settings/l10n/it.js +++ b/settings/l10n/it.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Errore di autenticazione", "Your full name has been changed." : "Il tuo nome completo è stato cambiato.", "Unable to change full name" : "Impossibile cambiare il nome completo", - "Group already exists" : "Il gruppo esiste già", - "Unable to add group" : "Impossibile aggiungere il gruppo", "Files decrypted successfully" : "File decifrato correttamente", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Impossibile decifrare i tuoi file, controlla il file owncloud.log o chiedi al tuo amministratore", "Couldn't decrypt your files, check your password and try again" : "Impossibile decifrare i tuoi file, controlla la password e prova ancora", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Impossibile rimuovere l'applicazione.", "Email saved" : "Email salvata", "Invalid email" : "Email non valida", - "Unable to delete group" : "Impossibile eliminare il gruppo", - "Unable to delete user" : "Impossibile eliminare l'utente", "Backups restored successfully" : "Copie di sicurezza ripristinate correttamente", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Impossibile ripristinare le chiavi di cifratura, controlla il file owncloud.log o chiedi al tuo amministratore", "Language changed" : "Lingua modificata", @@ -102,8 +98,8 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Avviso di sicurezza", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Sei connesso a %s tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere l'utilizzo del protocollo HTTPS al posto di HTTP.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet.\nIl file .htaccess non funziona. Ti consigliamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile o spostare la cartella fuori dalla radice del server web.", "Read-Only config enabled" : "Configurazione di sola lettura abilitata", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", "Setup Warning" : "Avviso di configurazione", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Sembra che PHP sia configurato per rimuovere i blocchi di documentazione in linea. Ciò renderà inaccessibili diverse applicazioni principali.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ciò è causato probabilmente da una cache/acceleratore come Zend OPcache o eAccelerator.", @@ -119,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Consigliamo vivamente di installare i pacchetti richiesti sul tuo sistema per supportare una delle localizzazioni seguenti: %s.", "URL generation in notification emails" : "Generazione di URL nelle email di notifica", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwritewebroot\" nel file config.php al percorso della radice del sito della tua installazione (Suggerito: \"%s\")", - "Connectivity Checks" : "Controlli di connettività", "No problems found" : "Nessun problema trovato", "Please double check the <a href='%s'>installation guides</a>." : "Leggi attentamente le <a href='%s'>guide d'installazione</a>.", "Last cron was executed at %s." : "L'ultimo cron è stato eseguito alle %s.", diff --git a/settings/l10n/it.json b/settings/l10n/it.json index ab4d4eaae16..caca3143d31 100644 --- a/settings/l10n/it.json +++ b/settings/l10n/it.json @@ -8,8 +8,6 @@ "Authentication error" : "Errore di autenticazione", "Your full name has been changed." : "Il tuo nome completo è stato cambiato.", "Unable to change full name" : "Impossibile cambiare il nome completo", - "Group already exists" : "Il gruppo esiste già", - "Unable to add group" : "Impossibile aggiungere il gruppo", "Files decrypted successfully" : "File decifrato correttamente", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Impossibile decifrare i tuoi file, controlla il file owncloud.log o chiedi al tuo amministratore", "Couldn't decrypt your files, check your password and try again" : "Impossibile decifrare i tuoi file, controlla la password e prova ancora", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Impossibile rimuovere l'applicazione.", "Email saved" : "Email salvata", "Invalid email" : "Email non valida", - "Unable to delete group" : "Impossibile eliminare il gruppo", - "Unable to delete user" : "Impossibile eliminare l'utente", "Backups restored successfully" : "Copie di sicurezza ripristinate correttamente", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Impossibile ripristinare le chiavi di cifratura, controlla il file owncloud.log o chiedi al tuo amministratore", "Language changed" : "Lingua modificata", @@ -100,8 +96,8 @@ "TLS" : "TLS", "Security Warning" : "Avviso di sicurezza", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Sei connesso a %s tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere l'utilizzo del protocollo HTTPS al posto di HTTP.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet.\nIl file .htaccess non funziona. Ti consigliamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile o spostare la cartella fuori dalla radice del server web.", "Read-Only config enabled" : "Configurazione di sola lettura abilitata", + "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "La configurazione di sola lettura è stata abilitata. Ciò impedisce l'impostazione di alcune configurazioni tramite l'interfaccia web. Inoltre, i file devono essere resi scrivibili manualmente per ogni aggiornamento.", "Setup Warning" : "Avviso di configurazione", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Sembra che PHP sia configurato per rimuovere i blocchi di documentazione in linea. Ciò renderà inaccessibili diverse applicazioni principali.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ciò è causato probabilmente da una cache/acceleratore come Zend OPcache o eAccelerator.", @@ -117,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Consigliamo vivamente di installare i pacchetti richiesti sul tuo sistema per supportare una delle localizzazioni seguenti: %s.", "URL generation in notification emails" : "Generazione di URL nelle email di notifica", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwritewebroot\" nel file config.php al percorso della radice del sito della tua installazione (Suggerito: \"%s\")", - "Connectivity Checks" : "Controlli di connettività", "No problems found" : "Nessun problema trovato", "Please double check the <a href='%s'>installation guides</a>." : "Leggi attentamente le <a href='%s'>guide d'installazione</a>.", "Last cron was executed at %s." : "L'ultimo cron è stato eseguito alle %s.", diff --git a/settings/l10n/ja.js b/settings/l10n/ja.js index 572ae5511c8..de3e8a38665 100644 --- a/settings/l10n/ja.js +++ b/settings/l10n/ja.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "認証エラー", "Your full name has been changed." : "名前を変更しました。", "Unable to change full name" : "名前を変更できません", - "Group already exists" : "グループはすでに存在します", - "Unable to add group" : "グループを追加できません", "Files decrypted successfully" : "ファイルの復号化に成功しました", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "ファイルを復号化することができませんでした。owncloud.logを調査するか、管理者に連絡してください。", "Couldn't decrypt your files, check your password and try again" : "ファイルを復号化することができませんでした。パスワードを確認のうえ再試行してください。", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "アプリが削除できませんでした。", "Email saved" : "メールアドレスを保存しました", "Invalid email" : "無効なメールアドレス", - "Unable to delete group" : "グループを削除できません", - "Unable to delete user" : "ユーザーを削除できません", "Backups restored successfully" : "バックアップの復元に成功しました", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "暗号化キーを復元できませんでした。owncloud.logを確認するか、管理者に問い合わせてください。", "Language changed" : "言語が変更されました", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "セキュリティ警告", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "HTTP経由で %s にアクセスしています。HTTPSを使用するようサーバーを設定することを強くおすすめします。", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "データディレクトリとファイルがインターネットからアクセス可能になっている可能性があります。.htaccessファイルが機能していません。データディレクトリにアクセスできないようWebサーバーを設定するか、データディレクトリをWebサーバーのドキュメントルートから移動するよう強く提案します。", "Setup Warning" : "セットアップ警告", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレータが原因かもしれません。", @@ -115,9 +110,9 @@ OC.L10N.register( "Locale not working" : "ロケールが動作していません", "System locale can not be set to a one which supports UTF-8." : "システムロケールを UTF-8 をサポートするロケールに設定できません。", "This means that there might be problems with certain characters in file names." : "これは、ファイル名の特定の文字に問題があることを意味しています。", + "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "次のロケールをサポートするために、システムに必要なパッケージをインストールすることを強くおすすめします: %s。", "URL generation in notification emails" : "通知メールにURLを生成", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "もし、URLがドメインのルート(/)で終わっていない場合で、システムのcronを利用している場合、URLの生成に問題が発生します。その場合は、config.php ファイルの中の \"overwritewebroot\" オプションをインストールしたパスに設定してください。(推奨: \"%s\")", - "Connectivity Checks" : "接続の確認", "No problems found" : "問題は見つかりませんでした", "Please double check the <a href='%s'>installation guides</a>." : "<a href='%s'>インストールガイド</a>をよく確認してください。", "Last cron was executed at %s." : "直近では%sにcronが実行されました。", @@ -219,6 +214,7 @@ OC.L10N.register( "Create" : "作成", "Admin Recovery Password" : "管理者リカバリパスワード", "Enter the recovery password in order to recover the users files during password change" : "パスワード変更時のユーザーのファイルを回復するため、リカバリパスワードを入力してください", + "Search Users" : "ユーザーを検索", "Add Group" : "グループを追加", "Group" : "グループ", "Everyone" : "すべてのユーザー", diff --git a/settings/l10n/ja.json b/settings/l10n/ja.json index 37048e345ac..ea9635651a2 100644 --- a/settings/l10n/ja.json +++ b/settings/l10n/ja.json @@ -8,8 +8,6 @@ "Authentication error" : "認証エラー", "Your full name has been changed." : "名前を変更しました。", "Unable to change full name" : "名前を変更できません", - "Group already exists" : "グループはすでに存在します", - "Unable to add group" : "グループを追加できません", "Files decrypted successfully" : "ファイルの復号化に成功しました", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "ファイルを復号化することができませんでした。owncloud.logを調査するか、管理者に連絡してください。", "Couldn't decrypt your files, check your password and try again" : "ファイルを復号化することができませんでした。パスワードを確認のうえ再試行してください。", @@ -18,8 +16,6 @@ "Couldn't remove app." : "アプリが削除できませんでした。", "Email saved" : "メールアドレスを保存しました", "Invalid email" : "無効なメールアドレス", - "Unable to delete group" : "グループを削除できません", - "Unable to delete user" : "ユーザーを削除できません", "Backups restored successfully" : "バックアップの復元に成功しました", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "暗号化キーを復元できませんでした。owncloud.logを確認するか、管理者に問い合わせてください。", "Language changed" : "言語が変更されました", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "セキュリティ警告", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "HTTP経由で %s にアクセスしています。HTTPSを使用するようサーバーを設定することを強くおすすめします。", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "データディレクトリとファイルがインターネットからアクセス可能になっている可能性があります。.htaccessファイルが機能していません。データディレクトリにアクセスできないようWebサーバーを設定するか、データディレクトリをWebサーバーのドキュメントルートから移動するよう強く提案します。", "Setup Warning" : "セットアップ警告", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレータが原因かもしれません。", @@ -113,9 +108,9 @@ "Locale not working" : "ロケールが動作していません", "System locale can not be set to a one which supports UTF-8." : "システムロケールを UTF-8 をサポートするロケールに設定できません。", "This means that there might be problems with certain characters in file names." : "これは、ファイル名の特定の文字に問題があることを意味しています。", + "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "次のロケールをサポートするために、システムに必要なパッケージをインストールすることを強くおすすめします: %s。", "URL generation in notification emails" : "通知メールにURLを生成", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "もし、URLがドメインのルート(/)で終わっていない場合で、システムのcronを利用している場合、URLの生成に問題が発生します。その場合は、config.php ファイルの中の \"overwritewebroot\" オプションをインストールしたパスに設定してください。(推奨: \"%s\")", - "Connectivity Checks" : "接続の確認", "No problems found" : "問題は見つかりませんでした", "Please double check the <a href='%s'>installation guides</a>." : "<a href='%s'>インストールガイド</a>をよく確認してください。", "Last cron was executed at %s." : "直近では%sにcronが実行されました。", @@ -217,6 +212,7 @@ "Create" : "作成", "Admin Recovery Password" : "管理者リカバリパスワード", "Enter the recovery password in order to recover the users files during password change" : "パスワード変更時のユーザーのファイルを回復するため、リカバリパスワードを入力してください", + "Search Users" : "ユーザーを検索", "Add Group" : "グループを追加", "Group" : "グループ", "Everyone" : "すべてのユーザー", diff --git a/settings/l10n/ka_GE.js b/settings/l10n/ka_GE.js index 8851b231382..57299f31a03 100644 --- a/settings/l10n/ka_GE.js +++ b/settings/l10n/ka_GE.js @@ -6,12 +6,8 @@ OC.L10N.register( "Security" : "უსაფრთხოება", "Log" : "ლოგი", "Authentication error" : "ავთენტიფიკაციის შეცდომა", - "Group already exists" : "ჯგუფი უკვე არსებობს", - "Unable to add group" : "ჯგუფის დამატება ვერ მოხერხდა", "Email saved" : "იმეილი შენახულია", "Invalid email" : "არასწორი იმეილი", - "Unable to delete group" : "ჯგუფის წაშლა ვერ მოხერხდა", - "Unable to delete user" : "მომხმარებლის წაშლა ვერ მოხერხდა", "Language changed" : "ენა შეცვლილია", "Invalid request" : "არასწორი მოთხოვნა", "Admins can't remove themself from the admin group" : "ადმინისტრატორებს არ შეუძლიათ საკუთარი თავის წაშლა ადმინ ჯგუფიდან", diff --git a/settings/l10n/ka_GE.json b/settings/l10n/ka_GE.json index 0072516dfd8..efee60ffe9f 100644 --- a/settings/l10n/ka_GE.json +++ b/settings/l10n/ka_GE.json @@ -4,12 +4,8 @@ "Security" : "უსაფრთხოება", "Log" : "ლოგი", "Authentication error" : "ავთენტიფიკაციის შეცდომა", - "Group already exists" : "ჯგუფი უკვე არსებობს", - "Unable to add group" : "ჯგუფის დამატება ვერ მოხერხდა", "Email saved" : "იმეილი შენახულია", "Invalid email" : "არასწორი იმეილი", - "Unable to delete group" : "ჯგუფის წაშლა ვერ მოხერხდა", - "Unable to delete user" : "მომხმარებლის წაშლა ვერ მოხერხდა", "Language changed" : "ენა შეცვლილია", "Invalid request" : "არასწორი მოთხოვნა", "Admins can't remove themself from the admin group" : "ადმინისტრატორებს არ შეუძლიათ საკუთარი თავის წაშლა ადმინ ჯგუფიდან", diff --git a/settings/l10n/km.js b/settings/l10n/km.js index f19faf4d11b..213c4e4300b 100644 --- a/settings/l10n/km.js +++ b/settings/l10n/km.js @@ -7,12 +7,8 @@ OC.L10N.register( "Email Server" : "ម៉ាស៊ីនបម្រើអ៊ីមែល", "Log" : "Log", "Authentication error" : "កំហុសការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ", - "Group already exists" : "មានក្រុមនេះរួចហើយ", - "Unable to add group" : "មិនអាចបន្ថែមក្រុម", "Email saved" : "បានរក្សាទុកអ៊ីមែល", "Invalid email" : "អ៊ីមែលមិនត្រឹមត្រូវ", - "Unable to delete group" : "មិនអាចលុបក្រុមបាន", - "Unable to delete user" : "មិនអាចលុបអ្នកប្រើបាន", "Language changed" : "បានប្ដូរភាសា", "Invalid request" : "សំណើមិនត្រឹមត្រូវ", "Admins can't remove themself from the admin group" : "អ្នកគ្រប់គ្រងមិនអាចលុបខ្លួនឯងចេញពីក្រុមអ្នកគ្រប់គ្រងឡើយ", diff --git a/settings/l10n/km.json b/settings/l10n/km.json index b0d0d2a56e4..f79ade7853e 100644 --- a/settings/l10n/km.json +++ b/settings/l10n/km.json @@ -5,12 +5,8 @@ "Email Server" : "ម៉ាស៊ីនបម្រើអ៊ីមែល", "Log" : "Log", "Authentication error" : "កំហុសការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ", - "Group already exists" : "មានក្រុមនេះរួចហើយ", - "Unable to add group" : "មិនអាចបន្ថែមក្រុម", "Email saved" : "បានរក្សាទុកអ៊ីមែល", "Invalid email" : "អ៊ីមែលមិនត្រឹមត្រូវ", - "Unable to delete group" : "មិនអាចលុបក្រុមបាន", - "Unable to delete user" : "មិនអាចលុបអ្នកប្រើបាន", "Language changed" : "បានប្ដូរភាសា", "Invalid request" : "សំណើមិនត្រឹមត្រូវ", "Admins can't remove themself from the admin group" : "អ្នកគ្រប់គ្រងមិនអាចលុបខ្លួនឯងចេញពីក្រុមអ្នកគ្រប់គ្រងឡើយ", diff --git a/settings/l10n/ko.js b/settings/l10n/ko.js index e55c4c75dab..704f6d0ba36 100644 --- a/settings/l10n/ko.js +++ b/settings/l10n/ko.js @@ -9,13 +9,9 @@ OC.L10N.register( "Authentication error" : "인증 오류", "Your full name has been changed." : "전체 이름이 변경되었습니다.", "Unable to change full name" : "전체 이름을 변경할 수 없음", - "Group already exists" : "그룹이 이미 존재함", - "Unable to add group" : "그룹을 추가할 수 없음", "Couldn't remove app." : "앱을 제거할수 없습니다.", "Email saved" : "이메일 저장됨", "Invalid email" : "잘못된 이메일 주소", - "Unable to delete group" : "그룹을 삭제할 수 없음", - "Unable to delete user" : "사용자를 삭제할 수 없음.", "Backups restored successfully" : "성공적으로 백업을 복원했습니다", "Language changed" : "언어가 변경됨", "Invalid request" : "잘못된 요청", @@ -79,7 +75,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "보안 경고", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "%s에 HTTP로 접근하고 있습니다. 서버에서 HTTPS를 사용하도록 설정하는 것을 추천합니다.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "데이터 디렉터리와 파일을 인터넷에서 접근할 수도 있습니다. .htaccess 파일이 작동하지 않습니다. 웹 서버 설정을 변경하여 데이터 디렉터리에 접근할 수 없도록 하거나, 웹 서버 문서 경로 외부로 데이터 디렉터리를 옮기십시오.", "Setup Warning" : "설정 경고", "Database Performance Info" : "데이터베이스 성능 정보", "Module 'fileinfo' missing" : "모듈 'fileinfo'가 없음", diff --git a/settings/l10n/ko.json b/settings/l10n/ko.json index 2415c30316d..5c1ce3b839a 100644 --- a/settings/l10n/ko.json +++ b/settings/l10n/ko.json @@ -7,13 +7,9 @@ "Authentication error" : "인증 오류", "Your full name has been changed." : "전체 이름이 변경되었습니다.", "Unable to change full name" : "전체 이름을 변경할 수 없음", - "Group already exists" : "그룹이 이미 존재함", - "Unable to add group" : "그룹을 추가할 수 없음", "Couldn't remove app." : "앱을 제거할수 없습니다.", "Email saved" : "이메일 저장됨", "Invalid email" : "잘못된 이메일 주소", - "Unable to delete group" : "그룹을 삭제할 수 없음", - "Unable to delete user" : "사용자를 삭제할 수 없음.", "Backups restored successfully" : "성공적으로 백업을 복원했습니다", "Language changed" : "언어가 변경됨", "Invalid request" : "잘못된 요청", @@ -77,7 +73,6 @@ "TLS" : "TLS", "Security Warning" : "보안 경고", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "%s에 HTTP로 접근하고 있습니다. 서버에서 HTTPS를 사용하도록 설정하는 것을 추천합니다.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "데이터 디렉터리와 파일을 인터넷에서 접근할 수도 있습니다. .htaccess 파일이 작동하지 않습니다. 웹 서버 설정을 변경하여 데이터 디렉터리에 접근할 수 없도록 하거나, 웹 서버 문서 경로 외부로 데이터 디렉터리를 옮기십시오.", "Setup Warning" : "설정 경고", "Database Performance Info" : "데이터베이스 성능 정보", "Module 'fileinfo' missing" : "모듈 'fileinfo'가 없음", diff --git a/settings/l10n/lb.js b/settings/l10n/lb.js index 9cb363460b3..dc0991f7bab 100644 --- a/settings/l10n/lb.js +++ b/settings/l10n/lb.js @@ -4,12 +4,8 @@ OC.L10N.register( "Cron" : "Cron", "Log" : "Log", "Authentication error" : "Authentifikatioun's Fehler", - "Group already exists" : "Group existeiert schon.", - "Unable to add group" : "Onmeiglech Grupp beizefügen.", "Email saved" : "E-mail gespäichert", "Invalid email" : "Ongülteg e-mail", - "Unable to delete group" : "Onmeiglech d'Grup ze läschen.", - "Unable to delete user" : "Onmeiglech User zu läschen.", "Language changed" : "Sprooch huet geännert", "Invalid request" : "Ongülteg Requête", "Admins can't remove themself from the admin group" : "Admins kennen sech selwer net aus enger Admin Group läschen.", diff --git a/settings/l10n/lb.json b/settings/l10n/lb.json index 0fecc04be68..e1fbc48c2ec 100644 --- a/settings/l10n/lb.json +++ b/settings/l10n/lb.json @@ -2,12 +2,8 @@ "Cron" : "Cron", "Log" : "Log", "Authentication error" : "Authentifikatioun's Fehler", - "Group already exists" : "Group existeiert schon.", - "Unable to add group" : "Onmeiglech Grupp beizefügen.", "Email saved" : "E-mail gespäichert", "Invalid email" : "Ongülteg e-mail", - "Unable to delete group" : "Onmeiglech d'Grup ze läschen.", - "Unable to delete user" : "Onmeiglech User zu läschen.", "Language changed" : "Sprooch huet geännert", "Invalid request" : "Ongülteg Requête", "Admins can't remove themself from the admin group" : "Admins kennen sech selwer net aus enger Admin Group läschen.", diff --git a/settings/l10n/lt_LT.js b/settings/l10n/lt_LT.js index 4211d857b86..e2d2a588126 100644 --- a/settings/l10n/lt_LT.js +++ b/settings/l10n/lt_LT.js @@ -6,12 +6,8 @@ OC.L10N.register( "Security" : "Saugumas", "Log" : "Žurnalas", "Authentication error" : "Autentikacijos klaida", - "Group already exists" : "Grupė jau egzistuoja", - "Unable to add group" : "Nepavyko pridėti grupės", "Email saved" : "El. paštas išsaugotas", "Invalid email" : "Netinkamas el. paštas", - "Unable to delete group" : "Nepavyko ištrinti grupės", - "Unable to delete user" : "Nepavyko ištrinti vartotojo", "Language changed" : "Kalba pakeista", "Invalid request" : "Klaidinga užklausa", "Admins can't remove themself from the admin group" : "Administratoriai negali pašalinti savęs iš administratorių grupės", @@ -53,7 +49,6 @@ OC.L10N.register( "None" : "Nieko", "Login" : "Prisijungti", "Security Warning" : "Saugumo pranešimas", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Jūsų duomenų katalogas ir Jūsų failai turbūt yra pasiekiami per internetą. Failas .htaccess neveikia. Mes labai rekomenduojame sukonfigūruoti serverį taip, kad katalogas nebūtų daugiau pasiekiamas, arba iškelkite duomenis kitur iš webserverio šakninio aplanko.", "Setup Warning" : "Nustatyti perspėjimą", "Module 'fileinfo' missing" : "Trūksta 'fileinfo' modulio", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Trūksta PHP modulio „fileinfo“. Labai rekomenduojame įjungti šį modulį, kad gauti geriausius rezultatus nustatant mime-tipą.", diff --git a/settings/l10n/lt_LT.json b/settings/l10n/lt_LT.json index 98d570d9420..438527ec0bd 100644 --- a/settings/l10n/lt_LT.json +++ b/settings/l10n/lt_LT.json @@ -4,12 +4,8 @@ "Security" : "Saugumas", "Log" : "Žurnalas", "Authentication error" : "Autentikacijos klaida", - "Group already exists" : "Grupė jau egzistuoja", - "Unable to add group" : "Nepavyko pridėti grupės", "Email saved" : "El. paštas išsaugotas", "Invalid email" : "Netinkamas el. paštas", - "Unable to delete group" : "Nepavyko ištrinti grupės", - "Unable to delete user" : "Nepavyko ištrinti vartotojo", "Language changed" : "Kalba pakeista", "Invalid request" : "Klaidinga užklausa", "Admins can't remove themself from the admin group" : "Administratoriai negali pašalinti savęs iš administratorių grupės", @@ -51,7 +47,6 @@ "None" : "Nieko", "Login" : "Prisijungti", "Security Warning" : "Saugumo pranešimas", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Jūsų duomenų katalogas ir Jūsų failai turbūt yra pasiekiami per internetą. Failas .htaccess neveikia. Mes labai rekomenduojame sukonfigūruoti serverį taip, kad katalogas nebūtų daugiau pasiekiamas, arba iškelkite duomenis kitur iš webserverio šakninio aplanko.", "Setup Warning" : "Nustatyti perspėjimą", "Module 'fileinfo' missing" : "Trūksta 'fileinfo' modulio", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Trūksta PHP modulio „fileinfo“. Labai rekomenduojame įjungti šį modulį, kad gauti geriausius rezultatus nustatant mime-tipą.", diff --git a/settings/l10n/lv.js b/settings/l10n/lv.js index e1190cb7953..8236fe2ea2c 100644 --- a/settings/l10n/lv.js +++ b/settings/l10n/lv.js @@ -6,12 +6,8 @@ OC.L10N.register( "Security" : "Drošība", "Log" : "Žurnāls", "Authentication error" : "Autentifikācijas kļūda", - "Group already exists" : "Grupa jau eksistē", - "Unable to add group" : "Nevar pievienot grupu", "Email saved" : "E-pasts tika saglabāts", "Invalid email" : "Nederīgs epasts", - "Unable to delete group" : "Nevar izdzēst grupu", - "Unable to delete user" : "Nevar izdzēst lietotāju", "Language changed" : "Valoda tika nomainīta", "Invalid request" : "Nederīgs vaicājums", "Admins can't remove themself from the admin group" : "Administratori nevar izņemt paši sevi no administratoru grupas", @@ -41,7 +37,6 @@ OC.L10N.register( "None" : "Nav", "Login" : "Ierakstīties", "Security Warning" : "Brīdinājums par drošību", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Jūsu datu direktorija un faili visticamāk ir pieejami no interneta. .htaccess fails nedarbojas. Ir rekomendēts konfigurēt serveri tā lai jūsu datu direktorija nav lasāma vai pārvietot to ārpus tīmekļa servera dokumentu mapes.", "Setup Warning" : "Iestatīšanas brīdinājums", "Module 'fileinfo' missing" : "Trūkst modulis “fileinfo”", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Trūkst PHP modulis “fileinfo”. Mēs iesakām to aktivēt, lai pēc iespējas labāk noteiktu mime tipus.", diff --git a/settings/l10n/lv.json b/settings/l10n/lv.json index 35da6955cc1..6715e6f190d 100644 --- a/settings/l10n/lv.json +++ b/settings/l10n/lv.json @@ -4,12 +4,8 @@ "Security" : "Drošība", "Log" : "Žurnāls", "Authentication error" : "Autentifikācijas kļūda", - "Group already exists" : "Grupa jau eksistē", - "Unable to add group" : "Nevar pievienot grupu", "Email saved" : "E-pasts tika saglabāts", "Invalid email" : "Nederīgs epasts", - "Unable to delete group" : "Nevar izdzēst grupu", - "Unable to delete user" : "Nevar izdzēst lietotāju", "Language changed" : "Valoda tika nomainīta", "Invalid request" : "Nederīgs vaicājums", "Admins can't remove themself from the admin group" : "Administratori nevar izņemt paši sevi no administratoru grupas", @@ -39,7 +35,6 @@ "None" : "Nav", "Login" : "Ierakstīties", "Security Warning" : "Brīdinājums par drošību", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Jūsu datu direktorija un faili visticamāk ir pieejami no interneta. .htaccess fails nedarbojas. Ir rekomendēts konfigurēt serveri tā lai jūsu datu direktorija nav lasāma vai pārvietot to ārpus tīmekļa servera dokumentu mapes.", "Setup Warning" : "Iestatīšanas brīdinājums", "Module 'fileinfo' missing" : "Trūkst modulis “fileinfo”", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Trūkst PHP modulis “fileinfo”. Mēs iesakām to aktivēt, lai pēc iespējas labāk noteiktu mime tipus.", diff --git a/settings/l10n/mk.js b/settings/l10n/mk.js index 2f857a61b33..89a5fd6f434 100644 --- a/settings/l10n/mk.js +++ b/settings/l10n/mk.js @@ -9,14 +9,10 @@ OC.L10N.register( "Authentication error" : "Грешка во автентикација", "Your full name has been changed." : "Вашето целосно име е променето.", "Unable to change full name" : "Не можам да го променам целото име", - "Group already exists" : "Групата веќе постои", - "Unable to add group" : "Неможе да додадам група", "Files decrypted successfully" : "Датотектие се успешно декриптирани", "Encryption keys deleted permanently" : "Енкрипциските клучеви се трајно избришани", "Email saved" : "Електронската пошта е снимена", "Invalid email" : "Неисправна електронска пошта", - "Unable to delete group" : "Неможе да избришам група", - "Unable to delete user" : "Неможам да избришам корисник", "Backups restored successfully" : "Бекапите се успешно реставрирани", "Language changed" : "Јазикот е сменет", "Invalid request" : "Неправилно барање", diff --git a/settings/l10n/mk.json b/settings/l10n/mk.json index 44cfb40a7b4..791746d96a6 100644 --- a/settings/l10n/mk.json +++ b/settings/l10n/mk.json @@ -7,14 +7,10 @@ "Authentication error" : "Грешка во автентикација", "Your full name has been changed." : "Вашето целосно име е променето.", "Unable to change full name" : "Не можам да го променам целото име", - "Group already exists" : "Групата веќе постои", - "Unable to add group" : "Неможе да додадам група", "Files decrypted successfully" : "Датотектие се успешно декриптирани", "Encryption keys deleted permanently" : "Енкрипциските клучеви се трајно избришани", "Email saved" : "Електронската пошта е снимена", "Invalid email" : "Неисправна електронска пошта", - "Unable to delete group" : "Неможе да избришам група", - "Unable to delete user" : "Неможам да избришам корисник", "Backups restored successfully" : "Бекапите се успешно реставрирани", "Language changed" : "Јазикот е сменет", "Invalid request" : "Неправилно барање", diff --git a/settings/l10n/nb_NO.js b/settings/l10n/nb_NO.js index cf73debd87d..912c0f406bb 100644 --- a/settings/l10n/nb_NO.js +++ b/settings/l10n/nb_NO.js @@ -9,8 +9,6 @@ OC.L10N.register( "Authentication error" : "Autentiseringsfeil", "Your full name has been changed." : "Ditt fulle navn er blitt endret.", "Unable to change full name" : "Klarte ikke å endre fullt navn", - "Group already exists" : "Gruppen finnes allerede", - "Unable to add group" : "Kan ikke legge til gruppe", "Files decrypted successfully" : "Dekryptering av filer vellykket", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Kunne ikke dekryptere filene dine. Sjekk owncloud.log eller spør administratoren", "Couldn't decrypt your files, check your password and try again" : "Kunne ikke dekryptere filene dine. Sjekk passordet ditt og prøv igjen", @@ -19,8 +17,6 @@ OC.L10N.register( "Couldn't remove app." : "Klarte ikke å fjerne app.", "Email saved" : "Epost lagret", "Invalid email" : "Ugyldig epost", - "Unable to delete group" : "Kan ikke slette gruppe", - "Unable to delete user" : "Kan ikke slette bruker", "Backups restored successfully" : "Vellykket gjenoppretting fra sikkerhetskopier", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Kunne ikke gjenopprette krypteringsnøklene dine. Sjekk owncloud.log eller spør administratoren", "Language changed" : "Språk endret", @@ -96,7 +92,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Sikkerhetsadvarsel", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du aksesserer %s via HTTP. Vi anbefaler på det sterkeste at du konfigurerer serveren til å kreve bruk av HTTPS i stedet.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Datamappen og filene dine er sannsynligvis tilgjengelig fra Internett fordi .htaccess-filen ikke fungerer. Vi anbefaler på det sterkeste at du konfigurerer web-serveren din slik at datamappen ikke lenger er tilgjengelig eller at du flytter datamappen ut av web-serverens dokument-rotmappe.", "Setup Warning" : "Installasjonsadvarsel", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.", diff --git a/settings/l10n/nb_NO.json b/settings/l10n/nb_NO.json index 0c4614c1cfa..fef50fa794a 100644 --- a/settings/l10n/nb_NO.json +++ b/settings/l10n/nb_NO.json @@ -7,8 +7,6 @@ "Authentication error" : "Autentiseringsfeil", "Your full name has been changed." : "Ditt fulle navn er blitt endret.", "Unable to change full name" : "Klarte ikke å endre fullt navn", - "Group already exists" : "Gruppen finnes allerede", - "Unable to add group" : "Kan ikke legge til gruppe", "Files decrypted successfully" : "Dekryptering av filer vellykket", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Kunne ikke dekryptere filene dine. Sjekk owncloud.log eller spør administratoren", "Couldn't decrypt your files, check your password and try again" : "Kunne ikke dekryptere filene dine. Sjekk passordet ditt og prøv igjen", @@ -17,8 +15,6 @@ "Couldn't remove app." : "Klarte ikke å fjerne app.", "Email saved" : "Epost lagret", "Invalid email" : "Ugyldig epost", - "Unable to delete group" : "Kan ikke slette gruppe", - "Unable to delete user" : "Kan ikke slette bruker", "Backups restored successfully" : "Vellykket gjenoppretting fra sikkerhetskopier", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Kunne ikke gjenopprette krypteringsnøklene dine. Sjekk owncloud.log eller spør administratoren", "Language changed" : "Språk endret", @@ -94,7 +90,6 @@ "TLS" : "TLS", "Security Warning" : "Sikkerhetsadvarsel", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du aksesserer %s via HTTP. Vi anbefaler på det sterkeste at du konfigurerer serveren til å kreve bruk av HTTPS i stedet.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Datamappen og filene dine er sannsynligvis tilgjengelig fra Internett fordi .htaccess-filen ikke fungerer. Vi anbefaler på det sterkeste at du konfigurerer web-serveren din slik at datamappen ikke lenger er tilgjengelig eller at du flytter datamappen ut av web-serverens dokument-rotmappe.", "Setup Warning" : "Installasjonsadvarsel", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.", diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js index ae5c35a3ee4..0a4642fe903 100644 --- a/settings/l10n/nl.js +++ b/settings/l10n/nl.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Authenticatie fout", "Your full name has been changed." : "Uw volledige naam is gewijzigd.", "Unable to change full name" : "Kan de volledige naam niet wijzigen", - "Group already exists" : "Groep bestaat al", - "Unable to add group" : "Niet in staat om groep toe te voegen", "Files decrypted successfully" : "Bestanden succesvol ontsleuteld", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Kon uw bestanden niet ontsleutelem. Controleer uw owncloud logs of vraag het uw beheerder", "Couldn't decrypt your files, check your password and try again" : "Kon uw bestanden niet ontsleutelen. Controleer uw wachtwoord en probeer het opnieuw", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Kon app niet verwijderen.", "Email saved" : "E-mail bewaard", "Invalid email" : "Ongeldige e-mail", - "Unable to delete group" : "Niet in staat om groep te verwijderen", - "Unable to delete user" : "Niet in staat om gebruiker te verwijderen", "Backups restored successfully" : "Backup succesvol terggezet", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Kon uw cryptosleutels niet herstellen. Controleer uw owncloud.log of neem contact op met uw beheerder", "Language changed" : "Taal aangepast", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Beveiligingswaarschuwing", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "U bent met %s verbonden over HTTP. We adviseren met klem uw server zo te configureren dat alleen HTTPS kan worden gebruikt.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Uw data folder en uw bestanden zijn waarschijnlijk vanaf het internet bereikbaar. Het .htaccess-bestand werkt niet. We raden ten zeerste aan aan om uw webserver zodanig te configureren, dat de datamap niet bereikbaar is vanaf het internet of om uw datamap te verplaatsen naar een locatie buiten de document root van de webserver.", "Read-Only config enabled" : "Alleen-lezen config geactiveerd", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is geactiveerd. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", "Setup Warning" : "Instellingswaarschuwing", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "We adviseren met klem om de noodzakelijke pakketten op uw systeem te installeren om een van de volgende talen te ondersteunen: %s.", "URL generation in notification emails" : "URL genereren in notificatie e-mails", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Als uw installatie niet in de hoofddirectory van het domein staat, maar wel cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou u de \"overwritewebroot\" optie in config.php moeten instellen op het webroot pad van uw ownCloud (aanbevolen: \"%s\") ", - "Connectivity Checks" : "Verbindingscontroles", "No problems found" : "Geen problemen gevonden", "Please double check the <a href='%s'>installation guides</a>." : "Controleer de <a href='%s'>installatiehandleiding</a> goed.", "Last cron was executed at %s." : "Laatst uitgevoerde cron op %s.", @@ -173,6 +167,7 @@ OC.L10N.register( "Documentation:" : "Documentatie:", "User Documentation" : "Gebruikersdocumentatie", "Admin Documentation" : "Beheerdocumentatie", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Deze app kan niet worden geïnstalleerd omdat de volgende afhankelijkheden niet zijn ingevuld:", "Update to %s" : "Bijgewerkt naar %s", "Enable only for specific groups" : "Alleen voor bepaalde groepen activeren", "Uninstall App" : "De-installeren app", diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json index 0be78a7c4d4..ca9a8aaacfe 100644 --- a/settings/l10n/nl.json +++ b/settings/l10n/nl.json @@ -8,8 +8,6 @@ "Authentication error" : "Authenticatie fout", "Your full name has been changed." : "Uw volledige naam is gewijzigd.", "Unable to change full name" : "Kan de volledige naam niet wijzigen", - "Group already exists" : "Groep bestaat al", - "Unable to add group" : "Niet in staat om groep toe te voegen", "Files decrypted successfully" : "Bestanden succesvol ontsleuteld", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Kon uw bestanden niet ontsleutelem. Controleer uw owncloud logs of vraag het uw beheerder", "Couldn't decrypt your files, check your password and try again" : "Kon uw bestanden niet ontsleutelen. Controleer uw wachtwoord en probeer het opnieuw", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Kon app niet verwijderen.", "Email saved" : "E-mail bewaard", "Invalid email" : "Ongeldige e-mail", - "Unable to delete group" : "Niet in staat om groep te verwijderen", - "Unable to delete user" : "Niet in staat om gebruiker te verwijderen", "Backups restored successfully" : "Backup succesvol terggezet", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Kon uw cryptosleutels niet herstellen. Controleer uw owncloud.log of neem contact op met uw beheerder", "Language changed" : "Taal aangepast", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Beveiligingswaarschuwing", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "U bent met %s verbonden over HTTP. We adviseren met klem uw server zo te configureren dat alleen HTTPS kan worden gebruikt.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Uw data folder en uw bestanden zijn waarschijnlijk vanaf het internet bereikbaar. Het .htaccess-bestand werkt niet. We raden ten zeerste aan aan om uw webserver zodanig te configureren, dat de datamap niet bereikbaar is vanaf het internet of om uw datamap te verplaatsen naar een locatie buiten de document root van de webserver.", "Read-Only config enabled" : "Alleen-lezen config geactiveerd", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is geactiveerd. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", "Setup Warning" : "Instellingswaarschuwing", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "We adviseren met klem om de noodzakelijke pakketten op uw systeem te installeren om een van de volgende talen te ondersteunen: %s.", "URL generation in notification emails" : "URL genereren in notificatie e-mails", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Als uw installatie niet in de hoofddirectory van het domein staat, maar wel cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou u de \"overwritewebroot\" optie in config.php moeten instellen op het webroot pad van uw ownCloud (aanbevolen: \"%s\") ", - "Connectivity Checks" : "Verbindingscontroles", "No problems found" : "Geen problemen gevonden", "Please double check the <a href='%s'>installation guides</a>." : "Controleer de <a href='%s'>installatiehandleiding</a> goed.", "Last cron was executed at %s." : "Laatst uitgevoerde cron op %s.", @@ -171,6 +165,7 @@ "Documentation:" : "Documentatie:", "User Documentation" : "Gebruikersdocumentatie", "Admin Documentation" : "Beheerdocumentatie", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Deze app kan niet worden geïnstalleerd omdat de volgende afhankelijkheden niet zijn ingevuld:", "Update to %s" : "Bijgewerkt naar %s", "Enable only for specific groups" : "Alleen voor bepaalde groepen activeren", "Uninstall App" : "De-installeren app", diff --git a/settings/l10n/nn_NO.js b/settings/l10n/nn_NO.js index 74380c67fdd..87ffe5ca760 100644 --- a/settings/l10n/nn_NO.js +++ b/settings/l10n/nn_NO.js @@ -6,12 +6,8 @@ OC.L10N.register( "Security" : "Tryggleik", "Log" : "Logg", "Authentication error" : "Autentiseringsfeil", - "Group already exists" : "Gruppa finst allereie", - "Unable to add group" : "Klarte ikkje leggja til gruppa", "Email saved" : "E-postadresse lagra", "Invalid email" : "Ugyldig e-postadresse", - "Unable to delete group" : "Klarte ikkje å sletta gruppa", - "Unable to delete user" : "Klarte ikkje sletta brukaren", "Language changed" : "Språk endra", "Invalid request" : "Ugyldig førespurnad", "Admins can't remove themself from the admin group" : "Administratorar kan ikkje fjerna seg sjølve frå admin-gruppa", @@ -50,7 +46,6 @@ OC.L10N.register( "Encryption" : "Kryptering", "Login" : "Logg inn", "Security Warning" : "Tryggleiksåtvaring", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Datamappa og filene dine er sannsynlegvis leselege frå nettet. Fila .htaccess fungerer ikkje. Me rår deg sterkt til å konfigurera vevtenaren din sånn at datamappa di ikkje lenger er tilgjengeleg; alternativt kan du flytta datamappa ut av dokumentrot til vevtenaren.", "Setup Warning" : "Oppsettsåtvaring", "Module 'fileinfo' missing" : "Modulen «fileinfo» manglar", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-modulen «fileinfo» manglar. Me rår sterkt til å slå på denne modulen for å best mogleg oppdaga MIME-typar.", diff --git a/settings/l10n/nn_NO.json b/settings/l10n/nn_NO.json index c4a3844829c..4924aae38f4 100644 --- a/settings/l10n/nn_NO.json +++ b/settings/l10n/nn_NO.json @@ -4,12 +4,8 @@ "Security" : "Tryggleik", "Log" : "Logg", "Authentication error" : "Autentiseringsfeil", - "Group already exists" : "Gruppa finst allereie", - "Unable to add group" : "Klarte ikkje leggja til gruppa", "Email saved" : "E-postadresse lagra", "Invalid email" : "Ugyldig e-postadresse", - "Unable to delete group" : "Klarte ikkje å sletta gruppa", - "Unable to delete user" : "Klarte ikkje sletta brukaren", "Language changed" : "Språk endra", "Invalid request" : "Ugyldig førespurnad", "Admins can't remove themself from the admin group" : "Administratorar kan ikkje fjerna seg sjølve frå admin-gruppa", @@ -48,7 +44,6 @@ "Encryption" : "Kryptering", "Login" : "Logg inn", "Security Warning" : "Tryggleiksåtvaring", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Datamappa og filene dine er sannsynlegvis leselege frå nettet. Fila .htaccess fungerer ikkje. Me rår deg sterkt til å konfigurera vevtenaren din sånn at datamappa di ikkje lenger er tilgjengeleg; alternativt kan du flytta datamappa ut av dokumentrot til vevtenaren.", "Setup Warning" : "Oppsettsåtvaring", "Module 'fileinfo' missing" : "Modulen «fileinfo» manglar", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-modulen «fileinfo» manglar. Me rår sterkt til å slå på denne modulen for å best mogleg oppdaga MIME-typar.", diff --git a/settings/l10n/oc.js b/settings/l10n/oc.js index 734e0de7551..9ee13dc141d 100644 --- a/settings/l10n/oc.js +++ b/settings/l10n/oc.js @@ -5,12 +5,8 @@ OC.L10N.register( "Sharing" : "Al partejar", "Log" : "Jornal", "Authentication error" : "Error d'autentificacion", - "Group already exists" : "Lo grop existís ja", - "Unable to add group" : "Pas capable d'apondre un grop", "Email saved" : "Corrièl enregistrat", "Invalid email" : "Corrièl incorrècte", - "Unable to delete group" : "Pas capable d'escafar un grop", - "Unable to delete user" : "Pas capable d'escafar un usancièr", "Language changed" : "Lengas cambiadas", "Invalid request" : "Demanda invalida", "Unable to add user to group %s" : "Pas capable d'apondre un usancièr al grop %s", diff --git a/settings/l10n/oc.json b/settings/l10n/oc.json index dc1827381dc..4f62786340e 100644 --- a/settings/l10n/oc.json +++ b/settings/l10n/oc.json @@ -3,12 +3,8 @@ "Sharing" : "Al partejar", "Log" : "Jornal", "Authentication error" : "Error d'autentificacion", - "Group already exists" : "Lo grop existís ja", - "Unable to add group" : "Pas capable d'apondre un grop", "Email saved" : "Corrièl enregistrat", "Invalid email" : "Corrièl incorrècte", - "Unable to delete group" : "Pas capable d'escafar un grop", - "Unable to delete user" : "Pas capable d'escafar un usancièr", "Language changed" : "Lengas cambiadas", "Invalid request" : "Demanda invalida", "Unable to add user to group %s" : "Pas capable d'apondre un usancièr al grop %s", diff --git a/settings/l10n/pl.js b/settings/l10n/pl.js index b1f268c1373..784e5e1a45a 100644 --- a/settings/l10n/pl.js +++ b/settings/l10n/pl.js @@ -9,8 +9,6 @@ OC.L10N.register( "Authentication error" : "Błąd uwierzytelniania", "Your full name has been changed." : "Twoja pełna nazwa została zmieniona.", "Unable to change full name" : "Nie można zmienić pełnej nazwy", - "Group already exists" : "Grupa już istnieje", - "Unable to add group" : "Nie można dodać grupy", "Files decrypted successfully" : "Pliki zostały poprawnie zdeszyfrowane", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nie można zdeszyfrować Twoich plików, proszę sprawdzić owncloud.log lub zapytać administratora", "Couldn't decrypt your files, check your password and try again" : "Nie można zdeszyfrować Twoich plików, sprawdź swoje hasło i spróbuj ponownie", @@ -19,8 +17,6 @@ OC.L10N.register( "Couldn't remove app." : "Nie można usunąć aplikacji.", "Email saved" : "E-mail zapisany", "Invalid email" : "Nieprawidłowy e-mail", - "Unable to delete group" : "Nie można usunąć grupy", - "Unable to delete user" : "Nie można usunąć użytkownika", "Backups restored successfully" : "Archiwum zostało prawidłowo przywrócone", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Nie można przywrócić kluczy szyfrujących, proszę sprawdzić owncloud.log lub zapytać administratora", "Language changed" : "Zmieniono język", @@ -101,7 +97,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Ostrzeżenie o zabezpieczeniach", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Uzyskujesz dostęp do %s za pomocą protokołu HTTP. Zalecamy skonfigurować swój serwer z użyciem protokołu HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Twój katalog danych i pliki są prawdopodobnie dostępne z Internetu. Plik .htaccess, który dostarcza ownCloud nie działa. Sugerujemy, aby skonfigurować serwer WWW w taki sposób, aby katalog danych nie był dostępny lub przenieść katalog danych poza główny katalog serwera WWW.", "Setup Warning" : "Ostrzeżenia konfiguracji", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Wygląda na to, że ustawienia PHP ucinają bloki wklejonych dokumentów. To sprawi, że niektóre wbudowane aplikacje będą niedostępne.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dzieje się tak prawdopodobnie przez cache lub akcelerator taki jak Zend OPcache lub eAccelerator.", diff --git a/settings/l10n/pl.json b/settings/l10n/pl.json index 3e2c17d3140..f367eb1c511 100644 --- a/settings/l10n/pl.json +++ b/settings/l10n/pl.json @@ -7,8 +7,6 @@ "Authentication error" : "Błąd uwierzytelniania", "Your full name has been changed." : "Twoja pełna nazwa została zmieniona.", "Unable to change full name" : "Nie można zmienić pełnej nazwy", - "Group already exists" : "Grupa już istnieje", - "Unable to add group" : "Nie można dodać grupy", "Files decrypted successfully" : "Pliki zostały poprawnie zdeszyfrowane", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nie można zdeszyfrować Twoich plików, proszę sprawdzić owncloud.log lub zapytać administratora", "Couldn't decrypt your files, check your password and try again" : "Nie można zdeszyfrować Twoich plików, sprawdź swoje hasło i spróbuj ponownie", @@ -17,8 +15,6 @@ "Couldn't remove app." : "Nie można usunąć aplikacji.", "Email saved" : "E-mail zapisany", "Invalid email" : "Nieprawidłowy e-mail", - "Unable to delete group" : "Nie można usunąć grupy", - "Unable to delete user" : "Nie można usunąć użytkownika", "Backups restored successfully" : "Archiwum zostało prawidłowo przywrócone", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Nie można przywrócić kluczy szyfrujących, proszę sprawdzić owncloud.log lub zapytać administratora", "Language changed" : "Zmieniono język", @@ -99,7 +95,6 @@ "TLS" : "TLS", "Security Warning" : "Ostrzeżenie o zabezpieczeniach", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Uzyskujesz dostęp do %s za pomocą protokołu HTTP. Zalecamy skonfigurować swój serwer z użyciem protokołu HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Twój katalog danych i pliki są prawdopodobnie dostępne z Internetu. Plik .htaccess, który dostarcza ownCloud nie działa. Sugerujemy, aby skonfigurować serwer WWW w taki sposób, aby katalog danych nie był dostępny lub przenieść katalog danych poza główny katalog serwera WWW.", "Setup Warning" : "Ostrzeżenia konfiguracji", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Wygląda na to, że ustawienia PHP ucinają bloki wklejonych dokumentów. To sprawi, że niektóre wbudowane aplikacje będą niedostępne.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dzieje się tak prawdopodobnie przez cache lub akcelerator taki jak Zend OPcache lub eAccelerator.", diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js index e84af745c16..41710288084 100644 --- a/settings/l10n/pt_BR.js +++ b/settings/l10n/pt_BR.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Erro de autenticação", "Your full name has been changed." : "Seu nome completo foi alterado.", "Unable to change full name" : "Não é possível alterar o nome completo", - "Group already exists" : "O Grupo já existe", - "Unable to add group" : "Não foi possível adicionar grupo", "Files decrypted successfully" : "Arquivos descriptografados com sucesso", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Não foi possível descriptografar os arquivos, verifique a sua owncloud.log ou pergunte ao seu administrador", "Couldn't decrypt your files, check your password and try again" : "Não foi possível descriptografar os arquivos, verifique sua senha e tente novamente", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Não foi possível remover aplicativos.", "Email saved" : "E-mail salvo", "Invalid email" : "E-mail inválido", - "Unable to delete group" : "Não foi possível remover grupo", - "Unable to delete user" : "Não foi possível remover usuário", "Backups restored successfully" : "Backup restaurado com sucesso", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Não foi possível salvar as chaves de criptografia, por favor, verifique o seu owncloud.log ou pergunte ao seu administrador", "Language changed" : "Idioma alterado", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Aviso de Segurança", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Você está acessando %s via HTTP. Sugerimos você configurar o servidor para exigir o uso de HTTPS em seu lugar.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Seu diretório de dados e seus arquivos são, provavelmente, acessíveis a partir da internet. O arquivo htaccess. não está funcionando. Nós sugerimos fortemente que você configure o seu servidor web de uma forma que o diretório de dados não esteja mais acessível ou mova o diretório de dados para fora do raiz do servidor.", "Read-Only config enabled" : "Somente-Leitura configuração ativada", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Somente-Leitura foi habilitada. Isso impede que algumas configurações sejam definidas via a interface web. Além disso, o arquivo precisa ter permissão de escrita manual para cada atualização.", "Setup Warning" : "Aviso de Configuração", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nós sugerimos a instalação dos pacotes necessários em seu sistema para suportar um dos seguintes locais: %s.", "URL generation in notification emails" : "Geração de URL em e-mails de notificação", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se a sua instalação não estiver instalada na raiz do domínio e usa cron do sistema, pode haver problemas com a geração de URL. Para evitar esses problemas, por favor, defina a opção \"overwritewebroot\" em seu arquivo config.php para o caminho webroot de sua instalação (Sugestão: \"%s\")", - "Connectivity Checks" : "Verificações de Conectividade", "No problems found" : "Nenhum problema encontrado", "Please double check the <a href='%s'>installation guides</a>." : "Por favor, confira o <a href='%s'>guia de instalação</a>.", "Last cron was executed at %s." : "Último cron foi executado em %s.", diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json index c45d88f2432..cd9e274eaf0 100644 --- a/settings/l10n/pt_BR.json +++ b/settings/l10n/pt_BR.json @@ -8,8 +8,6 @@ "Authentication error" : "Erro de autenticação", "Your full name has been changed." : "Seu nome completo foi alterado.", "Unable to change full name" : "Não é possível alterar o nome completo", - "Group already exists" : "O Grupo já existe", - "Unable to add group" : "Não foi possível adicionar grupo", "Files decrypted successfully" : "Arquivos descriptografados com sucesso", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Não foi possível descriptografar os arquivos, verifique a sua owncloud.log ou pergunte ao seu administrador", "Couldn't decrypt your files, check your password and try again" : "Não foi possível descriptografar os arquivos, verifique sua senha e tente novamente", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Não foi possível remover aplicativos.", "Email saved" : "E-mail salvo", "Invalid email" : "E-mail inválido", - "Unable to delete group" : "Não foi possível remover grupo", - "Unable to delete user" : "Não foi possível remover usuário", "Backups restored successfully" : "Backup restaurado com sucesso", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Não foi possível salvar as chaves de criptografia, por favor, verifique o seu owncloud.log ou pergunte ao seu administrador", "Language changed" : "Idioma alterado", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Aviso de Segurança", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Você está acessando %s via HTTP. Sugerimos você configurar o servidor para exigir o uso de HTTPS em seu lugar.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Seu diretório de dados e seus arquivos são, provavelmente, acessíveis a partir da internet. O arquivo htaccess. não está funcionando. Nós sugerimos fortemente que você configure o seu servidor web de uma forma que o diretório de dados não esteja mais acessível ou mova o diretório de dados para fora do raiz do servidor.", "Read-Only config enabled" : "Somente-Leitura configuração ativada", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Somente-Leitura foi habilitada. Isso impede que algumas configurações sejam definidas via a interface web. Além disso, o arquivo precisa ter permissão de escrita manual para cada atualização.", "Setup Warning" : "Aviso de Configuração", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nós sugerimos a instalação dos pacotes necessários em seu sistema para suportar um dos seguintes locais: %s.", "URL generation in notification emails" : "Geração de URL em e-mails de notificação", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se a sua instalação não estiver instalada na raiz do domínio e usa cron do sistema, pode haver problemas com a geração de URL. Para evitar esses problemas, por favor, defina a opção \"overwritewebroot\" em seu arquivo config.php para o caminho webroot de sua instalação (Sugestão: \"%s\")", - "Connectivity Checks" : "Verificações de Conectividade", "No problems found" : "Nenhum problema encontrado", "Please double check the <a href='%s'>installation guides</a>." : "Por favor, confira o <a href='%s'>guia de instalação</a>.", "Last cron was executed at %s." : "Último cron foi executado em %s.", diff --git a/settings/l10n/pt_PT.js b/settings/l10n/pt_PT.js index 93fad6a87be..045907236e9 100644 --- a/settings/l10n/pt_PT.js +++ b/settings/l10n/pt_PT.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Erro na autenticação", "Your full name has been changed." : "O seu nome completo foi alterado.", "Unable to change full name" : "Não foi possível alterar o seu nome completo", - "Group already exists" : "O grupo já existe", - "Unable to add group" : "Não é possível acrescentar o grupo", "Files decrypted successfully" : "Ficheiros desencriptados com sucesso", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Não foi possível descodificar os seus ficheiros. Por favor, verifique a sua owncloud.log ou pergunte ao seu administrador", "Couldn't decrypt your files, check your password and try again" : "Não foi possível descodificar os seus ficheiros. Por favor, verifique a sua palavra-passe e tente novamente", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Não foi possível remover a aplicação.", "Email saved" : "E-mail guardado", "Invalid email" : "e-mail inválido", - "Unable to delete group" : "Não é possível apagar o grupo", - "Unable to delete user" : "Não é possível apagar o utilizador", "Backups restored successfully" : "Cópias de segurança restauradas com sucesso", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Não foi possivel restaurar as suas chaves de encriptacao. Por favor, verifique a sua owncloud.log ou pergunte ao seu administrador", "Language changed" : "Idioma alterado", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Aviso de Segurança", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está a aceder a %s via HTTP. Nós recomendamos vivamente que configure o seu servidor para requerer a utilização de HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "A sua pasta dos dados e os seus ficheiros estão provavelmente acessíveis a partir da Internet. O ficheiro .htaccess não está a funcionar corretamente. Nós sugerimos fortemente que configure o seu servidor da Web de maneira a que a pasta dos dados deixe de ficar acessível, ou mova-a para fora da diretoria raiz dos documentos do servidor da Web.", "Read-Only config enabled" : "Configuração Só-de-Leitura ativada", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Só-de-Leitura foi ativada. Isto evita definir algumas configurações através da interface da Web. Além disso, o ficheiro precisa de ser definido gravável manualmente para cada atualização.", "Setup Warning" : "Aviso de Configuração", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nós recomendamos fortemente que instale no seu sistema os pacotes necessários para suportar uma das seguintes locallidades: %s.", "URL generation in notification emails" : "Geração URL em e-mails de notificação", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se a sua instalação não está instalada na raiz do domínio e usa o sistema cron, pode haver problemas com a geração de URL. Para evitar esses problemas, por favor, defina a opção \"overwritewebroot\" no ficheiro config.php para o caminho webroot da sua instalação (sugestão: \"%s\")", - "Connectivity Checks" : "Verificações de Conetividade", "No problems found" : "Nenhum problema encontrado", "Please double check the <a href='%s'>installation guides</a>." : "Por favor verifique <a href='%s'>installation guides</a>.", "Last cron was executed at %s." : "O ultimo cron foi executado em %s.", diff --git a/settings/l10n/pt_PT.json b/settings/l10n/pt_PT.json index d46aabb68b0..b1942b4c7fb 100644 --- a/settings/l10n/pt_PT.json +++ b/settings/l10n/pt_PT.json @@ -8,8 +8,6 @@ "Authentication error" : "Erro na autenticação", "Your full name has been changed." : "O seu nome completo foi alterado.", "Unable to change full name" : "Não foi possível alterar o seu nome completo", - "Group already exists" : "O grupo já existe", - "Unable to add group" : "Não é possível acrescentar o grupo", "Files decrypted successfully" : "Ficheiros desencriptados com sucesso", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Não foi possível descodificar os seus ficheiros. Por favor, verifique a sua owncloud.log ou pergunte ao seu administrador", "Couldn't decrypt your files, check your password and try again" : "Não foi possível descodificar os seus ficheiros. Por favor, verifique a sua palavra-passe e tente novamente", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Não foi possível remover a aplicação.", "Email saved" : "E-mail guardado", "Invalid email" : "e-mail inválido", - "Unable to delete group" : "Não é possível apagar o grupo", - "Unable to delete user" : "Não é possível apagar o utilizador", "Backups restored successfully" : "Cópias de segurança restauradas com sucesso", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Não foi possivel restaurar as suas chaves de encriptacao. Por favor, verifique a sua owncloud.log ou pergunte ao seu administrador", "Language changed" : "Idioma alterado", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Aviso de Segurança", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Está a aceder a %s via HTTP. Nós recomendamos vivamente que configure o seu servidor para requerer a utilização de HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "A sua pasta dos dados e os seus ficheiros estão provavelmente acessíveis a partir da Internet. O ficheiro .htaccess não está a funcionar corretamente. Nós sugerimos fortemente que configure o seu servidor da Web de maneira a que a pasta dos dados deixe de ficar acessível, ou mova-a para fora da diretoria raiz dos documentos do servidor da Web.", "Read-Only config enabled" : "Configuração Só-de-Leitura ativada", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "A configuração Só-de-Leitura foi ativada. Isto evita definir algumas configurações através da interface da Web. Além disso, o ficheiro precisa de ser definido gravável manualmente para cada atualização.", "Setup Warning" : "Aviso de Configuração", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nós recomendamos fortemente que instale no seu sistema os pacotes necessários para suportar uma das seguintes locallidades: %s.", "URL generation in notification emails" : "Geração URL em e-mails de notificação", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Se a sua instalação não está instalada na raiz do domínio e usa o sistema cron, pode haver problemas com a geração de URL. Para evitar esses problemas, por favor, defina a opção \"overwritewebroot\" no ficheiro config.php para o caminho webroot da sua instalação (sugestão: \"%s\")", - "Connectivity Checks" : "Verificações de Conetividade", "No problems found" : "Nenhum problema encontrado", "Please double check the <a href='%s'>installation guides</a>." : "Por favor verifique <a href='%s'>installation guides</a>.", "Last cron was executed at %s." : "O ultimo cron foi executado em %s.", diff --git a/settings/l10n/ro.js b/settings/l10n/ro.js index 84b1e8d202e..cb5aadd080a 100644 --- a/settings/l10n/ro.js +++ b/settings/l10n/ro.js @@ -8,15 +8,11 @@ OC.L10N.register( "Authentication error" : "Eroare la autentificare", "Your full name has been changed." : "Numele tău complet a fost schimbat.", "Unable to change full name" : "Nu s-a puput schimba numele complet", - "Group already exists" : "Grupul există deja", - "Unable to add group" : "Nu s-a putut adăuga grupul", "Files decrypted successfully" : "Fișierele au fost decriptate cu succes", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nu s-a puput decripta fișierele tale, verifică owncloud.log sau întreabă administratorul", "Couldn't decrypt your files, check your password and try again" : "Nu s-a puput decripta fișierele tale, verifică parola și încearcă din nou", "Email saved" : "E-mail salvat", "Invalid email" : "E-mail invalid", - "Unable to delete group" : "Nu s-a putut șterge grupul", - "Unable to delete user" : "Nu s-a putut șterge utilizatorul", "Language changed" : "Limba a fost schimbată", "Invalid request" : "Cerere eronată", "Admins can't remove themself from the admin group" : "Administratorii nu se pot șterge singuri din grupul admin", diff --git a/settings/l10n/ro.json b/settings/l10n/ro.json index 090b6dada69..693ab1e20aa 100644 --- a/settings/l10n/ro.json +++ b/settings/l10n/ro.json @@ -6,15 +6,11 @@ "Authentication error" : "Eroare la autentificare", "Your full name has been changed." : "Numele tău complet a fost schimbat.", "Unable to change full name" : "Nu s-a puput schimba numele complet", - "Group already exists" : "Grupul există deja", - "Unable to add group" : "Nu s-a putut adăuga grupul", "Files decrypted successfully" : "Fișierele au fost decriptate cu succes", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nu s-a puput decripta fișierele tale, verifică owncloud.log sau întreabă administratorul", "Couldn't decrypt your files, check your password and try again" : "Nu s-a puput decripta fișierele tale, verifică parola și încearcă din nou", "Email saved" : "E-mail salvat", "Invalid email" : "E-mail invalid", - "Unable to delete group" : "Nu s-a putut șterge grupul", - "Unable to delete user" : "Nu s-a putut șterge utilizatorul", "Language changed" : "Limba a fost schimbată", "Invalid request" : "Cerere eronată", "Admins can't remove themself from the admin group" : "Administratorii nu se pot șterge singuri din grupul admin", diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js index 863e74ba137..62ee74ee6ad 100644 --- a/settings/l10n/ru.js +++ b/settings/l10n/ru.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Ошибка аутентификации", "Your full name has been changed." : "Ваше полное имя было изменено.", "Unable to change full name" : "Невозможно изменить полное имя", - "Group already exists" : "Группа уже существует", - "Unable to add group" : "Невозможно добавить группу", "Files decrypted successfully" : "Дешифрование файлов прошло успешно", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Ошибка при дешифровании файлов. Обратитесь к вашему системному администратору. Доп информация в owncloud.log", "Couldn't decrypt your files, check your password and try again" : "Ошибка при дешифровании файлов. Проверьте Ваш пароль и повторите попытку", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Невозможно удалить приложение.", "Email saved" : "Email сохранен", "Invalid email" : "Неправильный Email", - "Unable to delete group" : "Невозможно удалить группу", - "Unable to delete user" : "Невозможно удалить пользователя", "Backups restored successfully" : "Резервная копия успешно восстановлена", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Не получается восстановить ваши ключи шифрования, пожалуйста проверьте файл owncloud.log или обратитесь к Администратору.", "Language changed" : "Язык изменён", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Предупреждение безопасности", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Вы обращаетесь к %s используя HTTP. Мы настоятельно рекомендуем вам настроить сервер на использование HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Похоже, что папка с Вашими данными и Ваши файлы доступны из интернета. Файл .htaccess не работает. Мы настойчиво предлагаем Вам сконфигурировать вебсервер таким образом, чтобы папка с Вашими данными более не была доступна или переместите папку с данными куда-нибудь в другое место вне основной папки документов вебсервера.", "Setup Warning" : "Предупреждение установки", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Очевидно, PHP настроен на вычищение блоков встроенной документации. Это сделает несколько центральных приложений недоступными.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Возможно это вызвано кешем/ускорителем вроде Zend OPcache или eAccelerator.", @@ -118,7 +113,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Мы рекомендуем установить требуемые пакеты для вашей системы для поддержки одного из следующих языков: %s.", "URL generation in notification emails" : "Генерирование URL в уведомляющих электронных письмах", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Если ваша копия ownCloud установлена не в корне домена и использует планировщик cron системы, возможны проблемы с правильной генерацией URL. Чтобы избежать этого, установите опцию verwritewebroot файла config.php равной пути папки установки. (Вероятно, это \"%s\".)", - "Connectivity Checks" : "Проверка соединения", "No problems found" : "Проблемы не найдены", "Please double check the <a href='%s'>installation guides</a>." : "Пожалуйста, дважды просмотрите <a href='%s'>инструкции по установке</a>.", "Last cron was executed at %s." : "Последняя cron-задача была запущена: %s.", diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json index 052861fd163..3d4d0ec3d34 100644 --- a/settings/l10n/ru.json +++ b/settings/l10n/ru.json @@ -8,8 +8,6 @@ "Authentication error" : "Ошибка аутентификации", "Your full name has been changed." : "Ваше полное имя было изменено.", "Unable to change full name" : "Невозможно изменить полное имя", - "Group already exists" : "Группа уже существует", - "Unable to add group" : "Невозможно добавить группу", "Files decrypted successfully" : "Дешифрование файлов прошло успешно", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Ошибка при дешифровании файлов. Обратитесь к вашему системному администратору. Доп информация в owncloud.log", "Couldn't decrypt your files, check your password and try again" : "Ошибка при дешифровании файлов. Проверьте Ваш пароль и повторите попытку", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Невозможно удалить приложение.", "Email saved" : "Email сохранен", "Invalid email" : "Неправильный Email", - "Unable to delete group" : "Невозможно удалить группу", - "Unable to delete user" : "Невозможно удалить пользователя", "Backups restored successfully" : "Резервная копия успешно восстановлена", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Не получается восстановить ваши ключи шифрования, пожалуйста проверьте файл owncloud.log или обратитесь к Администратору.", "Language changed" : "Язык изменён", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Предупреждение безопасности", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Вы обращаетесь к %s используя HTTP. Мы настоятельно рекомендуем вам настроить сервер на использование HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Похоже, что папка с Вашими данными и Ваши файлы доступны из интернета. Файл .htaccess не работает. Мы настойчиво предлагаем Вам сконфигурировать вебсервер таким образом, чтобы папка с Вашими данными более не была доступна или переместите папку с данными куда-нибудь в другое место вне основной папки документов вебсервера.", "Setup Warning" : "Предупреждение установки", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Очевидно, PHP настроен на вычищение блоков встроенной документации. Это сделает несколько центральных приложений недоступными.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Возможно это вызвано кешем/ускорителем вроде Zend OPcache или eAccelerator.", @@ -116,7 +111,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Мы рекомендуем установить требуемые пакеты для вашей системы для поддержки одного из следующих языков: %s.", "URL generation in notification emails" : "Генерирование URL в уведомляющих электронных письмах", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Если ваша копия ownCloud установлена не в корне домена и использует планировщик cron системы, возможны проблемы с правильной генерацией URL. Чтобы избежать этого, установите опцию verwritewebroot файла config.php равной пути папки установки. (Вероятно, это \"%s\".)", - "Connectivity Checks" : "Проверка соединения", "No problems found" : "Проблемы не найдены", "Please double check the <a href='%s'>installation guides</a>." : "Пожалуйста, дважды просмотрите <a href='%s'>инструкции по установке</a>.", "Last cron was executed at %s." : "Последняя cron-задача была запущена: %s.", diff --git a/settings/l10n/si_LK.js b/settings/l10n/si_LK.js index 26a22fa84b7..9f35f599a57 100644 --- a/settings/l10n/si_LK.js +++ b/settings/l10n/si_LK.js @@ -4,12 +4,8 @@ OC.L10N.register( "Sharing" : "හුවමාරු කිරීම", "Log" : "ලඝුව", "Authentication error" : "සත්යාපන දෝෂයක්", - "Group already exists" : "කණ්ඩායම දැනටමත් තිබේ", - "Unable to add group" : "කාණඩයක් එක් කළ නොහැකි විය", "Email saved" : "වි-තැපෑල සුරකින ලදී", "Invalid email" : "අවලංගු වි-තැපෑල", - "Unable to delete group" : "කණ්ඩායම මැකීමට නොහැක", - "Unable to delete user" : "පරිශීලකයා මැකීමට නොහැක", "Language changed" : "භාෂාව ාවනස් කිරීම", "Invalid request" : "අවලංගු අයැදුමක්", "Unable to add user to group %s" : "පරිශීලකයා %s කණ්ඩායමට එකතු කළ නොහැක", diff --git a/settings/l10n/si_LK.json b/settings/l10n/si_LK.json index c67f65c9b87..8b631fd8df7 100644 --- a/settings/l10n/si_LK.json +++ b/settings/l10n/si_LK.json @@ -2,12 +2,8 @@ "Sharing" : "හුවමාරු කිරීම", "Log" : "ලඝුව", "Authentication error" : "සත්යාපන දෝෂයක්", - "Group already exists" : "කණ්ඩායම දැනටමත් තිබේ", - "Unable to add group" : "කාණඩයක් එක් කළ නොහැකි විය", "Email saved" : "වි-තැපෑල සුරකින ලදී", "Invalid email" : "අවලංගු වි-තැපෑල", - "Unable to delete group" : "කණ්ඩායම මැකීමට නොහැක", - "Unable to delete user" : "පරිශීලකයා මැකීමට නොහැක", "Language changed" : "භාෂාව ාවනස් කිරීම", "Invalid request" : "අවලංගු අයැදුමක්", "Unable to add user to group %s" : "පරිශීලකයා %s කණ්ඩායමට එකතු කළ නොහැක", diff --git a/settings/l10n/sk_SK.js b/settings/l10n/sk_SK.js index 3d9fe53c946..2c3cd0aa91f 100644 --- a/settings/l10n/sk_SK.js +++ b/settings/l10n/sk_SK.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Chyba autentifikácie", "Your full name has been changed." : "Vaše meno a priezvisko bolo zmenené.", "Unable to change full name" : "Nemožno zmeniť meno a priezvisko", - "Group already exists" : "Skupina už existuje", - "Unable to add group" : "Nie je možné pridať skupinu", "Files decrypted successfully" : "Súbory sú úspešne dešifrované", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nemožno dešifrovať vaše súbory, skontrolujte svoj owncloud.log alebo požiadajte o pomoc adminstrátora", "Couldn't decrypt your files, check your password and try again" : "Nemožno dešifrovať vaše súbory, skontrolujte svoje heslo a skúste to znova", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Nemožno odstrániť aplikáciu.", "Email saved" : "Email uložený", "Invalid email" : "Neplatný email", - "Unable to delete group" : "Nie je možné odstrániť skupinu", - "Unable to delete user" : "Nie je možné odstrániť používateľa", "Backups restored successfully" : "Zálohy boli úspešne obnovené", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Nebolo možné obnoviť vaše šifrovacie kľúče, skontrolujte si prosím owncloud.log alebo kontaktujte svojho správcu", "Language changed" : "Jazyk zmenený", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Bezpečnostné upozornenie", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Do %s máte prístup cez HTTP. Dôrazne odporúčame nakonfigurovať server tak, aby namiesto toho vyžadoval použitie HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Váš priečinok s dátami aj vaše súbory sú pravdepodobne prístupné z internetu. Súbor .htaccess nefunguje. Odporúčame nakonfigurovať webový server tak, aby priečinok s dátami nebol naďalej prístupný, alebo presunúť priečinok s dátami mimo priestor sprístupňovaný webovým serverom.", "Setup Warning" : "Nastavenia oznámení a upozornení", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je zjavne nastavené, aby odstraňovalo bloky vloženej dokumentácie. To zneprístupní niekoľko základných aplikácií.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "To je pravdepodobne spôsobené cache/akcelerátorom ako napr. Zend OPcache alebo eAccelerator.", @@ -117,7 +112,6 @@ OC.L10N.register( "This means that there might be problems with certain characters in file names." : "To znamená, že sa môžu vyskytnúť problémy s niektorými znakmi v názvoch súborov.", "URL generation in notification emails" : "Generovanie adresy URL v oznamovacích emailoch", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Inštalácia mimo koreňový priečinok domény a používanie systémového príkazu cron môže spôsobiť problém s generovaním správnej URL. Pre zabránenie týmto chybám nastavte prosím správnu cestu v svojom config.php súbore pre hodnotu \"overwritewebroot\" (Doporučujeme: \"%s\")", - "Connectivity Checks" : "Overovanie pripojenia", "No problems found" : "Nenašli sa žiadne problémy", "Please double check the <a href='%s'>installation guides</a>." : "Prosím skontrolujte <a href='%s'>inštalačnú príručku</a>.", "Last cron was executed at %s." : "Posledný cron bol spustený %s.", diff --git a/settings/l10n/sk_SK.json b/settings/l10n/sk_SK.json index 95c4c76b74b..83a1bbde252 100644 --- a/settings/l10n/sk_SK.json +++ b/settings/l10n/sk_SK.json @@ -8,8 +8,6 @@ "Authentication error" : "Chyba autentifikácie", "Your full name has been changed." : "Vaše meno a priezvisko bolo zmenené.", "Unable to change full name" : "Nemožno zmeniť meno a priezvisko", - "Group already exists" : "Skupina už existuje", - "Unable to add group" : "Nie je možné pridať skupinu", "Files decrypted successfully" : "Súbory sú úspešne dešifrované", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nemožno dešifrovať vaše súbory, skontrolujte svoj owncloud.log alebo požiadajte o pomoc adminstrátora", "Couldn't decrypt your files, check your password and try again" : "Nemožno dešifrovať vaše súbory, skontrolujte svoje heslo a skúste to znova", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Nemožno odstrániť aplikáciu.", "Email saved" : "Email uložený", "Invalid email" : "Neplatný email", - "Unable to delete group" : "Nie je možné odstrániť skupinu", - "Unable to delete user" : "Nie je možné odstrániť používateľa", "Backups restored successfully" : "Zálohy boli úspešne obnovené", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Nebolo možné obnoviť vaše šifrovacie kľúče, skontrolujte si prosím owncloud.log alebo kontaktujte svojho správcu", "Language changed" : "Jazyk zmenený", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Bezpečnostné upozornenie", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Do %s máte prístup cez HTTP. Dôrazne odporúčame nakonfigurovať server tak, aby namiesto toho vyžadoval použitie HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Váš priečinok s dátami aj vaše súbory sú pravdepodobne prístupné z internetu. Súbor .htaccess nefunguje. Odporúčame nakonfigurovať webový server tak, aby priečinok s dátami nebol naďalej prístupný, alebo presunúť priečinok s dátami mimo priestor sprístupňovaný webovým serverom.", "Setup Warning" : "Nastavenia oznámení a upozornení", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP je zjavne nastavené, aby odstraňovalo bloky vloženej dokumentácie. To zneprístupní niekoľko základných aplikácií.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "To je pravdepodobne spôsobené cache/akcelerátorom ako napr. Zend OPcache alebo eAccelerator.", @@ -115,7 +110,6 @@ "This means that there might be problems with certain characters in file names." : "To znamená, že sa môžu vyskytnúť problémy s niektorými znakmi v názvoch súborov.", "URL generation in notification emails" : "Generovanie adresy URL v oznamovacích emailoch", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Inštalácia mimo koreňový priečinok domény a používanie systémového príkazu cron môže spôsobiť problém s generovaním správnej URL. Pre zabránenie týmto chybám nastavte prosím správnu cestu v svojom config.php súbore pre hodnotu \"overwritewebroot\" (Doporučujeme: \"%s\")", - "Connectivity Checks" : "Overovanie pripojenia", "No problems found" : "Nenašli sa žiadne problémy", "Please double check the <a href='%s'>installation guides</a>." : "Prosím skontrolujte <a href='%s'>inštalačnú príručku</a>.", "Last cron was executed at %s." : "Posledný cron bol spustený %s.", diff --git a/settings/l10n/sl.js b/settings/l10n/sl.js index cd8a932499d..a57b4b26944 100644 --- a/settings/l10n/sl.js +++ b/settings/l10n/sl.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Napaka med overjanjem", "Your full name has been changed." : "Vaše polno ime je spremenjeno.", "Unable to change full name" : "Ni mogoče spremeniti polnega imena", - "Group already exists" : "Skupina že obstaja", - "Unable to add group" : "Skupine ni mogoče dodati", "Files decrypted successfully" : "Datoteke so uspešno odšifrirane", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Datotek ni mogoče odšifrirati. Preverite dnevnik owncloud.log ali pa se posvetujte s skrbnikom.", "Couldn't decrypt your files, check your password and try again" : "Datotek ni mogoče odšifrirati. Preverite geslo in poskusite znova.", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Ni mogoče odstraniti programa.", "Email saved" : "Elektronski naslov je shranjen", "Invalid email" : "Neveljaven elektronski naslov", - "Unable to delete group" : "Skupine ni mogoče izbrisati", - "Unable to delete user" : "Uporabnika ni mogoče izbrisati", "Backups restored successfully" : "Varnostne kopije so uspešno obnovljene.", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Ni mogoče obnoviti šifrirnih ključev. Preverite dnevnik owncloud.log ali pa stopite v stik s skrbnikom sistema.", "Language changed" : "Jezik je spremenjen", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Varnostno opozorilo", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Dostop do %s poteka preko HTTP. Priporočljivo je nastaviti strežnik na privzeto uporabo varne povezave preko protokola HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Vaša podatkovna mapa in datoteke so najverjetneje dosegljive preko interneta. Datoteka .htaccess ni ustrezno nastavljena. Priporočljivo je nastaviti spletni strežnik tako, da podatkovna mapa ni prosto dostopna. To je mogoče zagotoviti tudi tako, da je mapa premaknjena iz neustrezne korenske v podrejeno mapo .", "Setup Warning" : "Opozorilo nastavitve", "Database Performance Info" : "Podrobnosti delovanja podatkovne zbirke", "Module 'fileinfo' missing" : "Manjka modul 'fileinfo'.", @@ -112,7 +107,6 @@ OC.L10N.register( "System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.", "This means that there might be problems with certain characters in file names." : "To pomeni, da se lahko pojavijo napake pri nekaterih znakih v imenih datotek.", "URL generation in notification emails" : "Ustvarjanje naslova URL v elektronskih sporočilih", - "Connectivity Checks" : "Preverjanje povezav", "No problems found" : "Ni zaznanih težav", "Please double check the <a href='%s'>installation guides</a>." : "Preverite <a href='%s'>navodila namestitve</a>.", "Last cron was executed at %s." : "Zadnje periodično opravilo cron je bilo izvedeno ob %s.", diff --git a/settings/l10n/sl.json b/settings/l10n/sl.json index 831ca55d515..cfbae1aff13 100644 --- a/settings/l10n/sl.json +++ b/settings/l10n/sl.json @@ -8,8 +8,6 @@ "Authentication error" : "Napaka med overjanjem", "Your full name has been changed." : "Vaše polno ime je spremenjeno.", "Unable to change full name" : "Ni mogoče spremeniti polnega imena", - "Group already exists" : "Skupina že obstaja", - "Unable to add group" : "Skupine ni mogoče dodati", "Files decrypted successfully" : "Datoteke so uspešno odšifrirane", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Datotek ni mogoče odšifrirati. Preverite dnevnik owncloud.log ali pa se posvetujte s skrbnikom.", "Couldn't decrypt your files, check your password and try again" : "Datotek ni mogoče odšifrirati. Preverite geslo in poskusite znova.", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Ni mogoče odstraniti programa.", "Email saved" : "Elektronski naslov je shranjen", "Invalid email" : "Neveljaven elektronski naslov", - "Unable to delete group" : "Skupine ni mogoče izbrisati", - "Unable to delete user" : "Uporabnika ni mogoče izbrisati", "Backups restored successfully" : "Varnostne kopije so uspešno obnovljene.", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Ni mogoče obnoviti šifrirnih ključev. Preverite dnevnik owncloud.log ali pa stopite v stik s skrbnikom sistema.", "Language changed" : "Jezik je spremenjen", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Varnostno opozorilo", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Dostop do %s poteka preko HTTP. Priporočljivo je nastaviti strežnik na privzeto uporabo varne povezave preko protokola HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Vaša podatkovna mapa in datoteke so najverjetneje dosegljive preko interneta. Datoteka .htaccess ni ustrezno nastavljena. Priporočljivo je nastaviti spletni strežnik tako, da podatkovna mapa ni prosto dostopna. To je mogoče zagotoviti tudi tako, da je mapa premaknjena iz neustrezne korenske v podrejeno mapo .", "Setup Warning" : "Opozorilo nastavitve", "Database Performance Info" : "Podrobnosti delovanja podatkovne zbirke", "Module 'fileinfo' missing" : "Manjka modul 'fileinfo'.", @@ -110,7 +105,6 @@ "System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.", "This means that there might be problems with certain characters in file names." : "To pomeni, da se lahko pojavijo napake pri nekaterih znakih v imenih datotek.", "URL generation in notification emails" : "Ustvarjanje naslova URL v elektronskih sporočilih", - "Connectivity Checks" : "Preverjanje povezav", "No problems found" : "Ni zaznanih težav", "Please double check the <a href='%s'>installation guides</a>." : "Preverite <a href='%s'>navodila namestitve</a>.", "Last cron was executed at %s." : "Zadnje periodično opravilo cron je bilo izvedeno ob %s.", diff --git a/settings/l10n/sq.js b/settings/l10n/sq.js index fbb926feeb7..9a28e9d7f77 100644 --- a/settings/l10n/sq.js +++ b/settings/l10n/sq.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Gabim autentifikimi", "Your full name has been changed." : "Emri juaj i plotë ka ndryshuar.", "Unable to change full name" : "Nuk mund të ndryshohet emri i plotë", - "Group already exists" : "Grupi ekziston", - "Unable to add group" : "E pamundur të shtohet grupi", "Files decrypted successfully" : "Skedarët janë dëshifruar me sukses", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nuk mund të dëshifrohen skedarët tuaj, ju lutem kontrolloni owncloud.log ose pyesni administratorin tuaj.", "Couldn't decrypt your files, check your password and try again" : "Nuk mund të dëshifrohen skedarët tuaj, ju lutem kontrolloni fjalëkalimin tuaj dhe provoni përsëri.", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Nuk mund të hiqet aplikacioni.", "Email saved" : "Email u ruajt", "Invalid email" : "Email jo i vlefshëm", - "Unable to delete group" : "E pamundur të fshihet grupi", - "Unable to delete user" : "E pamundur të fshihet përdoruesi", "Backups restored successfully" : "Kopjet rezervë u restauruan me sukses", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Nuk mund të restaurohen çelësat tuaj të shifrimit, ju lutem kontrolloni owncloud.log ose pyesni administratorin tuaj.", "Language changed" : "Gjuha u ndryshua", diff --git a/settings/l10n/sq.json b/settings/l10n/sq.json index 2fa9c2f6d17..bc1a84a81b1 100644 --- a/settings/l10n/sq.json +++ b/settings/l10n/sq.json @@ -8,8 +8,6 @@ "Authentication error" : "Gabim autentifikimi", "Your full name has been changed." : "Emri juaj i plotë ka ndryshuar.", "Unable to change full name" : "Nuk mund të ndryshohet emri i plotë", - "Group already exists" : "Grupi ekziston", - "Unable to add group" : "E pamundur të shtohet grupi", "Files decrypted successfully" : "Skedarët janë dëshifruar me sukses", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Nuk mund të dëshifrohen skedarët tuaj, ju lutem kontrolloni owncloud.log ose pyesni administratorin tuaj.", "Couldn't decrypt your files, check your password and try again" : "Nuk mund të dëshifrohen skedarët tuaj, ju lutem kontrolloni fjalëkalimin tuaj dhe provoni përsëri.", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Nuk mund të hiqet aplikacioni.", "Email saved" : "Email u ruajt", "Invalid email" : "Email jo i vlefshëm", - "Unable to delete group" : "E pamundur të fshihet grupi", - "Unable to delete user" : "E pamundur të fshihet përdoruesi", "Backups restored successfully" : "Kopjet rezervë u restauruan me sukses", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Nuk mund të restaurohen çelësat tuaj të shifrimit, ju lutem kontrolloni owncloud.log ose pyesni administratorin tuaj.", "Language changed" : "Gjuha u ndryshua", diff --git a/settings/l10n/sr.js b/settings/l10n/sr.js index e8952f96ef1..115fe320757 100644 --- a/settings/l10n/sr.js +++ b/settings/l10n/sr.js @@ -5,12 +5,8 @@ OC.L10N.register( "Security" : "Безбедност", "Log" : "Бележење", "Authentication error" : "Грешка при провери идентитета", - "Group already exists" : "Група већ постоји", - "Unable to add group" : "Не могу да додам групу", "Email saved" : "Е-порука сачувана", "Invalid email" : "Неисправна е-адреса", - "Unable to delete group" : "Не могу да уклоним групу", - "Unable to delete user" : "Не могу да уклоним корисника", "Language changed" : "Језик је промењен", "Invalid request" : "Неисправан захтев", "Admins can't remove themself from the admin group" : "Управници не могу себе уклонити из админ групе", diff --git a/settings/l10n/sr.json b/settings/l10n/sr.json index 492f66dae51..1c80869dea3 100644 --- a/settings/l10n/sr.json +++ b/settings/l10n/sr.json @@ -3,12 +3,8 @@ "Security" : "Безбедност", "Log" : "Бележење", "Authentication error" : "Грешка при провери идентитета", - "Group already exists" : "Група већ постоји", - "Unable to add group" : "Не могу да додам групу", "Email saved" : "Е-порука сачувана", "Invalid email" : "Неисправна е-адреса", - "Unable to delete group" : "Не могу да уклоним групу", - "Unable to delete user" : "Не могу да уклоним корисника", "Language changed" : "Језик је промењен", "Invalid request" : "Неисправан захтев", "Admins can't remove themself from the admin group" : "Управници не могу себе уклонити из админ групе", diff --git a/settings/l10n/sv.js b/settings/l10n/sv.js index ca4fac8cdd1..60bcb785a6e 100644 --- a/settings/l10n/sv.js +++ b/settings/l10n/sv.js @@ -9,8 +9,6 @@ OC.L10N.register( "Authentication error" : "Fel vid autentisering", "Your full name has been changed." : "Hela ditt namn har ändrats", "Unable to change full name" : "Kunde inte ändra hela namnet", - "Group already exists" : "Gruppen finns redan", - "Unable to add group" : "Kan inte lägga till grupp", "Files decrypted successfully" : "Filerna dekrypterades utan fel", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Det gick inte att dekryptera dina filer, kontrollera din owncloud.log eller fråga administratören", "Couldn't decrypt your files, check your password and try again" : "Det gick inte att dekryptera filerna, kontrollera ditt lösenord och försök igen", @@ -19,8 +17,6 @@ OC.L10N.register( "Couldn't remove app." : "Kunde inte ta bort applikationen.", "Email saved" : "E-post sparad", "Invalid email" : "Ogiltig e-post", - "Unable to delete group" : "Kan inte radera grupp", - "Unable to delete user" : "Kan inte radera användare", "Backups restored successfully" : "Återställning av säkerhetskopior lyckades", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Kan inte återställa dina krypteringsnycklar, vänligen kontrollera din owncloud.log eller fråga din administratör.", "Language changed" : "Språk ändrades", @@ -98,7 +94,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Säkerhetsvarning", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du ansluter till %s via HTTP. Vi rekommenderar starkt att du konfigurerar din server att använda HTTPS istället.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Din datakatalog och dina filer är förmodligen åtkomliga från internet. Filen .htaccess fungerar inte. Vi rekommenderar starkt att du konfigurerar din webbserver så att datakatalogen inte längre är åtkomlig eller du flyttar datakatalogen utanför webbserverns rotkatalog.", "Setup Warning" : "Installationsvarning", "Database Performance Info" : "Databasprestanda Information", "SQLite is used as database. For larger installations we recommend to change this. To migrate to another database use the command line tool: 'occ db:convert-type'" : "SQLite används som databas. För större installationer rekommenderar vi att ändra på detta. För att migrera till en annan databas, använd kommandoverktyget: 'occ db:convert-type'", diff --git a/settings/l10n/sv.json b/settings/l10n/sv.json index d3e685a8432..65b6ac46674 100644 --- a/settings/l10n/sv.json +++ b/settings/l10n/sv.json @@ -7,8 +7,6 @@ "Authentication error" : "Fel vid autentisering", "Your full name has been changed." : "Hela ditt namn har ändrats", "Unable to change full name" : "Kunde inte ändra hela namnet", - "Group already exists" : "Gruppen finns redan", - "Unable to add group" : "Kan inte lägga till grupp", "Files decrypted successfully" : "Filerna dekrypterades utan fel", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Det gick inte att dekryptera dina filer, kontrollera din owncloud.log eller fråga administratören", "Couldn't decrypt your files, check your password and try again" : "Det gick inte att dekryptera filerna, kontrollera ditt lösenord och försök igen", @@ -17,8 +15,6 @@ "Couldn't remove app." : "Kunde inte ta bort applikationen.", "Email saved" : "E-post sparad", "Invalid email" : "Ogiltig e-post", - "Unable to delete group" : "Kan inte radera grupp", - "Unable to delete user" : "Kan inte radera användare", "Backups restored successfully" : "Återställning av säkerhetskopior lyckades", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Kan inte återställa dina krypteringsnycklar, vänligen kontrollera din owncloud.log eller fråga din administratör.", "Language changed" : "Språk ändrades", @@ -96,7 +92,6 @@ "TLS" : "TLS", "Security Warning" : "Säkerhetsvarning", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Du ansluter till %s via HTTP. Vi rekommenderar starkt att du konfigurerar din server att använda HTTPS istället.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Din datakatalog och dina filer är förmodligen åtkomliga från internet. Filen .htaccess fungerar inte. Vi rekommenderar starkt att du konfigurerar din webbserver så att datakatalogen inte längre är åtkomlig eller du flyttar datakatalogen utanför webbserverns rotkatalog.", "Setup Warning" : "Installationsvarning", "Database Performance Info" : "Databasprestanda Information", "SQLite is used as database. For larger installations we recommend to change this. To migrate to another database use the command line tool: 'occ db:convert-type'" : "SQLite används som databas. För större installationer rekommenderar vi att ändra på detta. För att migrera till en annan databas, använd kommandoverktyget: 'occ db:convert-type'", diff --git a/settings/l10n/ta_LK.js b/settings/l10n/ta_LK.js index 5cfa80a5476..d8b7b36d2f4 100644 --- a/settings/l10n/ta_LK.js +++ b/settings/l10n/ta_LK.js @@ -2,12 +2,8 @@ OC.L10N.register( "settings", { "Authentication error" : "அத்தாட்சிப்படுத்தலில் வழு", - "Group already exists" : "குழு ஏற்கனவே உள்ளது", - "Unable to add group" : "குழுவை சேர்க்க முடியாது", "Email saved" : "மின்னஞ்சல் சேமிக்கப்பட்டது", "Invalid email" : "செல்லுபடியற்ற மின்னஞ்சல்", - "Unable to delete group" : "குழுவை நீக்க முடியாது", - "Unable to delete user" : "பயனாளரை நீக்க முடியாது", "Language changed" : "மொழி மாற்றப்பட்டது", "Invalid request" : "செல்லுபடியற்ற வேண்டுகோள்", "Unable to add user to group %s" : "குழு %s இல் பயனாளரை சேர்க்க முடியாது", diff --git a/settings/l10n/ta_LK.json b/settings/l10n/ta_LK.json index 0486b838403..1f508c2af4e 100644 --- a/settings/l10n/ta_LK.json +++ b/settings/l10n/ta_LK.json @@ -1,11 +1,7 @@ { "translations": { "Authentication error" : "அத்தாட்சிப்படுத்தலில் வழு", - "Group already exists" : "குழு ஏற்கனவே உள்ளது", - "Unable to add group" : "குழுவை சேர்க்க முடியாது", "Email saved" : "மின்னஞ்சல் சேமிக்கப்பட்டது", "Invalid email" : "செல்லுபடியற்ற மின்னஞ்சல்", - "Unable to delete group" : "குழுவை நீக்க முடியாது", - "Unable to delete user" : "பயனாளரை நீக்க முடியாது", "Language changed" : "மொழி மாற்றப்பட்டது", "Invalid request" : "செல்லுபடியற்ற வேண்டுகோள்", "Unable to add user to group %s" : "குழு %s இல் பயனாளரை சேர்க்க முடியாது", diff --git a/settings/l10n/th_TH.js b/settings/l10n/th_TH.js index 5f331a3c4fd..56062eaa1cb 100644 --- a/settings/l10n/th_TH.js +++ b/settings/l10n/th_TH.js @@ -5,12 +5,8 @@ OC.L10N.register( "Sharing" : "การแชร์ข้อมูล", "Log" : "บันทึกการเปลี่ยนแปลง", "Authentication error" : "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน", - "Group already exists" : "มีกลุ่มดังกล่าวอยู่ในระบบอยู่แล้ว", - "Unable to add group" : "ไม่สามารถเพิ่มกลุ่มได้", "Email saved" : "อีเมลถูกบันทึกแล้ว", "Invalid email" : "อีเมลไม่ถูกต้อง", - "Unable to delete group" : "ไม่สามารถลบกลุ่มได้", - "Unable to delete user" : "ไม่สามารถลบผู้ใช้งานได้", "Language changed" : "เปลี่ยนภาษาเรียบร้อยแล้ว", "Invalid request" : "คำร้องขอไม่ถูกต้อง", "Admins can't remove themself from the admin group" : "ผู้ดูแลระบบไม่สามารถลบตัวเองออกจากกลุ่มผู้ดูแลได้", diff --git a/settings/l10n/th_TH.json b/settings/l10n/th_TH.json index 42eee4fa737..588ed635232 100644 --- a/settings/l10n/th_TH.json +++ b/settings/l10n/th_TH.json @@ -3,12 +3,8 @@ "Sharing" : "การแชร์ข้อมูล", "Log" : "บันทึกการเปลี่ยนแปลง", "Authentication error" : "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน", - "Group already exists" : "มีกลุ่มดังกล่าวอยู่ในระบบอยู่แล้ว", - "Unable to add group" : "ไม่สามารถเพิ่มกลุ่มได้", "Email saved" : "อีเมลถูกบันทึกแล้ว", "Invalid email" : "อีเมลไม่ถูกต้อง", - "Unable to delete group" : "ไม่สามารถลบกลุ่มได้", - "Unable to delete user" : "ไม่สามารถลบผู้ใช้งานได้", "Language changed" : "เปลี่ยนภาษาเรียบร้อยแล้ว", "Invalid request" : "คำร้องขอไม่ถูกต้อง", "Admins can't remove themself from the admin group" : "ผู้ดูแลระบบไม่สามารถลบตัวเองออกจากกลุ่มผู้ดูแลได้", diff --git a/settings/l10n/tr.js b/settings/l10n/tr.js index 441f1377b96..ef64dd3a79a 100644 --- a/settings/l10n/tr.js +++ b/settings/l10n/tr.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Kimlik doğrulama hatası", "Your full name has been changed." : "Tam adınız değiştirildi.", "Unable to change full name" : "Tam adınız değiştirilirken hata", - "Group already exists" : "Grup zaten mevcut", - "Unable to add group" : "Grup eklenemiyor", "Files decrypted successfully" : "Dosyaların şifrelemesi başarıyla kaldırıldı", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Dosyalarınızın şifrelemesi kaldırılamadı, lütfen owncloud.log dosyasına bakın veya yöneticinizle iletişime geçin", "Couldn't decrypt your files, check your password and try again" : "Dosyalarınızın şifrelemesi kaldırılamadı, parolanızı denetleyip yeniden deneyin", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Uygulama kaldırılamadı.", "Email saved" : "E-posta kaydedildi", "Invalid email" : "Geçersiz e-posta", - "Unable to delete group" : "Grup silinemiyor", - "Unable to delete user" : "Kullanıcı silinemiyor", "Backups restored successfully" : "Yedekler başarıyla geri yüklendi", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Şifreleme anahtarlarınız geri yüklenemedi, lütfen owncloud.log dosyasını denetleyin veya yöneticinize danışın", "Language changed" : "Dil değiştirildi", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Güvenlik Uyarısı", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "%s erişiminiz HTTP aracılığıyla yapılıyor. Sunucunuzu, HTTPS kullanımını zorlamak üzere yapılandırmanızı şiddetle öneririz.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Veri dizininiz ve dosyalarınız muhtemelen İnternet üzerinden erişilebilir. .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak veri dizinine erişimi kapatmanızı veya veri dizinini web sunucu belge kök dizini dışına almanızı şiddetle tavsiye ederiz.", "Read-Only config enabled" : "Salt Okunur yapılandırma etkin", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu, bazı ayarların web arayüzü ile yapılandırılmasını önler. Ayrıca, bu dosya her güncelleme sırasında el ile yazılabilir yapılmalıdır.", "Setup Warning" : "Kurulum Uyarısı", @@ -120,7 +115,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Şu dillerden birini desteklemesi için sisteminize gerekli paketleri kurmanızı şiddetle tavsiye ederiz: %s.", "URL generation in notification emails" : "Bildirim e-postalarında URL oluşturulması", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Eğer kurulumunuz alan adının köküne yapılmamışsa ve sistem cron'u kullanıyorsa, URL oluşturma ile ilgili sorunlar olabilir. Bu sorunların önüne geçmek için, kurulumunuzun web kök yolundaki config.php dosyasında \"overwritewebroot\" seçeneğini ayarlayın (Önerilen: \"%s\")", - "Connectivity Checks" : "Bağlantı Kontrolleri", "No problems found" : "Hiç sorun yok", "Please double check the <a href='%s'>installation guides</a>." : "Lütfen <a href='%s'>kurulum rehberlerini</a> iki kez kontrol edin.", "Last cron was executed at %s." : "Son cron %s zamanında çalıştırıldı.", @@ -173,6 +167,7 @@ OC.L10N.register( "Documentation:" : "Belgelendirme:", "User Documentation" : "Kullanıcı Belgelendirmesi", "Admin Documentation" : "Yönetici Belgelendirmesi", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Bu uygulama, aşağıdaki bağımlılıklar sağlanmadığından yüklenemiyor:", "Update to %s" : "%s sürümüne güncelle", "Enable only for specific groups" : "Sadece belirli gruplar için etkinleştir", "Uninstall App" : "Uygulamayı Kaldır", diff --git a/settings/l10n/tr.json b/settings/l10n/tr.json index 188a93e0c85..d86b63723d8 100644 --- a/settings/l10n/tr.json +++ b/settings/l10n/tr.json @@ -8,8 +8,6 @@ "Authentication error" : "Kimlik doğrulama hatası", "Your full name has been changed." : "Tam adınız değiştirildi.", "Unable to change full name" : "Tam adınız değiştirilirken hata", - "Group already exists" : "Grup zaten mevcut", - "Unable to add group" : "Grup eklenemiyor", "Files decrypted successfully" : "Dosyaların şifrelemesi başarıyla kaldırıldı", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Dosyalarınızın şifrelemesi kaldırılamadı, lütfen owncloud.log dosyasına bakın veya yöneticinizle iletişime geçin", "Couldn't decrypt your files, check your password and try again" : "Dosyalarınızın şifrelemesi kaldırılamadı, parolanızı denetleyip yeniden deneyin", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Uygulama kaldırılamadı.", "Email saved" : "E-posta kaydedildi", "Invalid email" : "Geçersiz e-posta", - "Unable to delete group" : "Grup silinemiyor", - "Unable to delete user" : "Kullanıcı silinemiyor", "Backups restored successfully" : "Yedekler başarıyla geri yüklendi", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Şifreleme anahtarlarınız geri yüklenemedi, lütfen owncloud.log dosyasını denetleyin veya yöneticinize danışın", "Language changed" : "Dil değiştirildi", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Güvenlik Uyarısı", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "%s erişiminiz HTTP aracılığıyla yapılıyor. Sunucunuzu, HTTPS kullanımını zorlamak üzere yapılandırmanızı şiddetle öneririz.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Veri dizininiz ve dosyalarınız muhtemelen İnternet üzerinden erişilebilir. .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak veri dizinine erişimi kapatmanızı veya veri dizinini web sunucu belge kök dizini dışına almanızı şiddetle tavsiye ederiz.", "Read-Only config enabled" : "Salt Okunur yapılandırma etkin", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu, bazı ayarların web arayüzü ile yapılandırılmasını önler. Ayrıca, bu dosya her güncelleme sırasında el ile yazılabilir yapılmalıdır.", "Setup Warning" : "Kurulum Uyarısı", @@ -118,7 +113,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Şu dillerden birini desteklemesi için sisteminize gerekli paketleri kurmanızı şiddetle tavsiye ederiz: %s.", "URL generation in notification emails" : "Bildirim e-postalarında URL oluşturulması", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Eğer kurulumunuz alan adının köküne yapılmamışsa ve sistem cron'u kullanıyorsa, URL oluşturma ile ilgili sorunlar olabilir. Bu sorunların önüne geçmek için, kurulumunuzun web kök yolundaki config.php dosyasında \"overwritewebroot\" seçeneğini ayarlayın (Önerilen: \"%s\")", - "Connectivity Checks" : "Bağlantı Kontrolleri", "No problems found" : "Hiç sorun yok", "Please double check the <a href='%s'>installation guides</a>." : "Lütfen <a href='%s'>kurulum rehberlerini</a> iki kez kontrol edin.", "Last cron was executed at %s." : "Son cron %s zamanında çalıştırıldı.", @@ -171,6 +165,7 @@ "Documentation:" : "Belgelendirme:", "User Documentation" : "Kullanıcı Belgelendirmesi", "Admin Documentation" : "Yönetici Belgelendirmesi", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Bu uygulama, aşağıdaki bağımlılıklar sağlanmadığından yüklenemiyor:", "Update to %s" : "%s sürümüne güncelle", "Enable only for specific groups" : "Sadece belirli gruplar için etkinleştir", "Uninstall App" : "Uygulamayı Kaldır", diff --git a/settings/l10n/ug.js b/settings/l10n/ug.js index 6f49414e6e7..a4a06ae9884 100644 --- a/settings/l10n/ug.js +++ b/settings/l10n/ug.js @@ -5,12 +5,8 @@ OC.L10N.register( "Security" : "بىخەتەرلىك", "Log" : "خاتىرە", "Authentication error" : "سالاھىيەت دەلىللەش خاتالىقى", - "Group already exists" : "گۇرۇپپا مەۋجۇت", - "Unable to add group" : "گۇرۇپپا قوشقىلى بولمايدۇ", "Email saved" : "تورخەت ساقلاندى", "Invalid email" : "ئىناۋەتسىز تورخەت", - "Unable to delete group" : "گۇرۇپپىنى ئۆچۈرەلمىدى", - "Unable to delete user" : "ئىشلەتكۈچىنى ئۆچۈرەلمىدى", "Language changed" : "تىل ئۆزگەردى", "Invalid request" : "ئىناۋەتسىز ئىلتىماس", "Admins can't remove themself from the admin group" : "باشقۇرغۇچى ئۆزىنى باشقۇرۇش گۇرۇپپىسىدىن چىقىرىۋېتەلمەيدۇ", diff --git a/settings/l10n/ug.json b/settings/l10n/ug.json index c9622027cb7..d45c1a21b93 100644 --- a/settings/l10n/ug.json +++ b/settings/l10n/ug.json @@ -3,12 +3,8 @@ "Security" : "بىخەتەرلىك", "Log" : "خاتىرە", "Authentication error" : "سالاھىيەت دەلىللەش خاتالىقى", - "Group already exists" : "گۇرۇپپا مەۋجۇت", - "Unable to add group" : "گۇرۇپپا قوشقىلى بولمايدۇ", "Email saved" : "تورخەت ساقلاندى", "Invalid email" : "ئىناۋەتسىز تورخەت", - "Unable to delete group" : "گۇرۇپپىنى ئۆچۈرەلمىدى", - "Unable to delete user" : "ئىشلەتكۈچىنى ئۆچۈرەلمىدى", "Language changed" : "تىل ئۆزگەردى", "Invalid request" : "ئىناۋەتسىز ئىلتىماس", "Admins can't remove themself from the admin group" : "باشقۇرغۇچى ئۆزىنى باشقۇرۇش گۇرۇپپىسىدىن چىقىرىۋېتەلمەيدۇ", diff --git a/settings/l10n/uk.js b/settings/l10n/uk.js index e46e32c1a2e..d792c074d5c 100644 --- a/settings/l10n/uk.js +++ b/settings/l10n/uk.js @@ -10,8 +10,6 @@ OC.L10N.register( "Authentication error" : "Помилка автентифікації", "Your full name has been changed." : "Ваше ім'я було змінене", "Unable to change full name" : "Неможливо змінити ім'я", - "Group already exists" : "Група вже існує", - "Unable to add group" : "Не вдалося додати групу", "Files decrypted successfully" : "Файли розшифровані успішно", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Помилка розшифровки файлів, зверніться до вашого адміністратора. Додаткова інформація в owncloud.log", "Couldn't decrypt your files, check your password and try again" : "Помилка розшифровки файлів, перевірте пароль та спробуйте ще раз", @@ -20,8 +18,6 @@ OC.L10N.register( "Couldn't remove app." : "Неможливо видалити додаток.", "Email saved" : "Адресу збережено", "Invalid email" : "Невірна адреса", - "Unable to delete group" : "Не вдалося видалити групу", - "Unable to delete user" : "Не вдалося видалити користувача", "Backups restored successfully" : "Резервна копія успішно відновлена", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Неможливо відновити ключі шифрування, зверніться до вашого адміністратора. Додаткова інформація в owncloud.log", "Language changed" : "Мова змінена", @@ -102,7 +98,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "Попередження про небезпеку", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Ви звертаєтесь до %s за допомогою HTTP. Ми наполегливо рекомендуємо вам налаштувати сервер на використання HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Ваш каталог з даними та Ваші файли можливо доступні з Інтернету. Файл .htaccess, наданий з ownCloud, не працює. Ми наполегливо рекомендуємо Вам налаштувати свій веб-сервер таким чином, щоб каталог data більше не був доступний, або перемістити каталог data за межі кореневого каталогу документів веб-сервера.", "Setup Warning" : "Попередження при Налаштуванні", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Схоже, що PHP налаштовано на вичищення блоків вбудованої документації. Це зробить кілька основних додатків недоступними.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Це, ймовірно, обумовлено використанням кеша/прискорювача такого як Zend OPcache або eAccelerator.", @@ -118,7 +113,6 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Пропонуємо встановити необхідні пакети для вашої системи для підтримки однієї з наступних мов %s.", "URL generation in notification emails" : "Генерування URL для повідомлень в електроних листах", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Якщо ваша копія ownCloud встановлена не в корені домену та використовує систему планування CRON, можливі проблеми з генерацією правильних URL. Щоб уникнути цього, встановіть опцію overwritewebroot файла config.php відповідно до теки розташування установки (Ймовірніше за все, це \"%s\")", - "Connectivity Checks" : "Перевірка З'єднання", "No problems found" : "Проблем не виявленно", "Please double check the <a href='%s'>installation guides</a>." : "Будь ласка, перевірте <a href='%s'>інструкції по встановленню</a>.", "Last cron was executed at %s." : "Останню cron-задачу було запущено: %s.", diff --git a/settings/l10n/uk.json b/settings/l10n/uk.json index 03455e50155..3bd3fba8b18 100644 --- a/settings/l10n/uk.json +++ b/settings/l10n/uk.json @@ -8,8 +8,6 @@ "Authentication error" : "Помилка автентифікації", "Your full name has been changed." : "Ваше ім'я було змінене", "Unable to change full name" : "Неможливо змінити ім'я", - "Group already exists" : "Група вже існує", - "Unable to add group" : "Не вдалося додати групу", "Files decrypted successfully" : "Файли розшифровані успішно", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "Помилка розшифровки файлів, зверніться до вашого адміністратора. Додаткова інформація в owncloud.log", "Couldn't decrypt your files, check your password and try again" : "Помилка розшифровки файлів, перевірте пароль та спробуйте ще раз", @@ -18,8 +16,6 @@ "Couldn't remove app." : "Неможливо видалити додаток.", "Email saved" : "Адресу збережено", "Invalid email" : "Невірна адреса", - "Unable to delete group" : "Не вдалося видалити групу", - "Unable to delete user" : "Не вдалося видалити користувача", "Backups restored successfully" : "Резервна копія успішно відновлена", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "Неможливо відновити ключі шифрування, зверніться до вашого адміністратора. Додаткова інформація в owncloud.log", "Language changed" : "Мова змінена", @@ -100,7 +96,6 @@ "TLS" : "TLS", "Security Warning" : "Попередження про небезпеку", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Ви звертаєтесь до %s за допомогою HTTP. Ми наполегливо рекомендуємо вам налаштувати сервер на використання HTTPS.", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Ваш каталог з даними та Ваші файли можливо доступні з Інтернету. Файл .htaccess, наданий з ownCloud, не працює. Ми наполегливо рекомендуємо Вам налаштувати свій веб-сервер таким чином, щоб каталог data більше не був доступний, або перемістити каталог data за межі кореневого каталогу документів веб-сервера.", "Setup Warning" : "Попередження при Налаштуванні", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Схоже, що PHP налаштовано на вичищення блоків вбудованої документації. Це зробить кілька основних додатків недоступними.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Це, ймовірно, обумовлено використанням кеша/прискорювача такого як Zend OPcache або eAccelerator.", @@ -116,7 +111,6 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Пропонуємо встановити необхідні пакети для вашої системи для підтримки однієї з наступних мов %s.", "URL generation in notification emails" : "Генерування URL для повідомлень в електроних листах", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwritewebroot\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Якщо ваша копія ownCloud встановлена не в корені домену та використовує систему планування CRON, можливі проблеми з генерацією правильних URL. Щоб уникнути цього, встановіть опцію overwritewebroot файла config.php відповідно до теки розташування установки (Ймовірніше за все, це \"%s\")", - "Connectivity Checks" : "Перевірка З'єднання", "No problems found" : "Проблем не виявленно", "Please double check the <a href='%s'>installation guides</a>." : "Будь ласка, перевірте <a href='%s'>інструкції по встановленню</a>.", "Last cron was executed at %s." : "Останню cron-задачу було запущено: %s.", diff --git a/settings/l10n/vi.js b/settings/l10n/vi.js index a807bdc9328..03b918fb72c 100644 --- a/settings/l10n/vi.js +++ b/settings/l10n/vi.js @@ -7,12 +7,8 @@ OC.L10N.register( "Authentication error" : "Lỗi xác thực", "Your full name has been changed." : "Họ và tên đã được thay đổi.", "Unable to change full name" : "Họ và tên không thể đổi ", - "Group already exists" : "Nhóm đã tồn tại", - "Unable to add group" : "Không thể thêm nhóm", "Email saved" : "Lưu email", "Invalid email" : "Email không hợp lệ", - "Unable to delete group" : "Không thể xóa nhóm", - "Unable to delete user" : "Không thể xóa người dùng", "Language changed" : "Ngôn ngữ đã được thay đổi", "Invalid request" : "Yêu cầu không hợp lệ", "Admins can't remove themself from the admin group" : "Quản trị viên không thể loại bỏ chính họ khỏi nhóm quản lý", @@ -38,7 +34,6 @@ OC.L10N.register( "None" : "Không gì cả", "Login" : "Đăng nhập", "Security Warning" : "Cảnh bảo bảo mật", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Thư mục và các tập tin của bạn có thể được truy cập từ Internet. Tập tin .htaccess không làm việc. Chúng tôi đề nghị bạn cấu hình ebserver ,phân quyền lại thư mục dữ liệu và cấp quyền truy cập hoặc di chuyển thư mục dữ liệu bên ngoài tài liệu gốc máy chủ web.", "Execute one task with each page loaded" : "Thực thi tác vụ mỗi khi trang được tải", "Allow apps to use the Share API" : "Cho phép các ứng dụng sử dụng chia sẻ API", "Allow resharing" : "Cho phép chia sẻ lại", diff --git a/settings/l10n/vi.json b/settings/l10n/vi.json index 30787bc4f8c..2561411c0bf 100644 --- a/settings/l10n/vi.json +++ b/settings/l10n/vi.json @@ -5,12 +5,8 @@ "Authentication error" : "Lỗi xác thực", "Your full name has been changed." : "Họ và tên đã được thay đổi.", "Unable to change full name" : "Họ và tên không thể đổi ", - "Group already exists" : "Nhóm đã tồn tại", - "Unable to add group" : "Không thể thêm nhóm", "Email saved" : "Lưu email", "Invalid email" : "Email không hợp lệ", - "Unable to delete group" : "Không thể xóa nhóm", - "Unable to delete user" : "Không thể xóa người dùng", "Language changed" : "Ngôn ngữ đã được thay đổi", "Invalid request" : "Yêu cầu không hợp lệ", "Admins can't remove themself from the admin group" : "Quản trị viên không thể loại bỏ chính họ khỏi nhóm quản lý", @@ -36,7 +32,6 @@ "None" : "Không gì cả", "Login" : "Đăng nhập", "Security Warning" : "Cảnh bảo bảo mật", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Thư mục và các tập tin của bạn có thể được truy cập từ Internet. Tập tin .htaccess không làm việc. Chúng tôi đề nghị bạn cấu hình ebserver ,phân quyền lại thư mục dữ liệu và cấp quyền truy cập hoặc di chuyển thư mục dữ liệu bên ngoài tài liệu gốc máy chủ web.", "Execute one task with each page loaded" : "Thực thi tác vụ mỗi khi trang được tải", "Allow apps to use the Share API" : "Cho phép các ứng dụng sử dụng chia sẻ API", "Allow resharing" : "Cho phép chia sẻ lại", diff --git a/settings/l10n/zh_CN.js b/settings/l10n/zh_CN.js index 15ff53307d3..b5616927955 100644 --- a/settings/l10n/zh_CN.js +++ b/settings/l10n/zh_CN.js @@ -9,8 +9,6 @@ OC.L10N.register( "Authentication error" : "认证错误", "Your full name has been changed." : "您的全名已修改。", "Unable to change full name" : "无法修改全名", - "Group already exists" : "已存在该组", - "Unable to add group" : "无法增加组", "Files decrypted successfully" : "文件解密成功", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "无法解密您的文件,请检查您的 owncloud.log 或询问管理员", "Couldn't decrypt your files, check your password and try again" : "无法解密您的文件,请检查密码并重试。", @@ -19,8 +17,6 @@ OC.L10N.register( "Couldn't remove app." : "无法删除应用。", "Email saved" : "电子邮件已保存", "Invalid email" : "无效的电子邮件", - "Unable to delete group" : "无法删除组", - "Unable to delete user" : "无法删除用户", "Backups restored successfully" : "恢复备份成功", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "无法恢复加密密钥,请检查 owncloud.log 或联系管理员", "Language changed" : "语言已修改", @@ -96,7 +92,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "安全警告", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "您正通过 HTTP 访问 %s。我们强烈建议您配置你的服务器来要求使用 HTTPS。", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "您的数据文件夹和文件可由互联网访问。OwnCloud提供的.htaccess文件未生效。我们强烈建议您配置服务器,以使数据文件夹不可被访问,或者将数据文件夹移到web服务器以外。", "Setup Warning" : "设置警告", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除行内 <doc> 块,这将导致数个核心应用无法访问。", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能是由缓存/加速器造成的,例如 Zend OPcache 或 eAccelerator。", diff --git a/settings/l10n/zh_CN.json b/settings/l10n/zh_CN.json index 776ca101012..d0a3df8c25b 100644 --- a/settings/l10n/zh_CN.json +++ b/settings/l10n/zh_CN.json @@ -7,8 +7,6 @@ "Authentication error" : "认证错误", "Your full name has been changed." : "您的全名已修改。", "Unable to change full name" : "无法修改全名", - "Group already exists" : "已存在该组", - "Unable to add group" : "无法增加组", "Files decrypted successfully" : "文件解密成功", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "无法解密您的文件,请检查您的 owncloud.log 或询问管理员", "Couldn't decrypt your files, check your password and try again" : "无法解密您的文件,请检查密码并重试。", @@ -17,8 +15,6 @@ "Couldn't remove app." : "无法删除应用。", "Email saved" : "电子邮件已保存", "Invalid email" : "无效的电子邮件", - "Unable to delete group" : "无法删除组", - "Unable to delete user" : "无法删除用户", "Backups restored successfully" : "恢复备份成功", "Couldn't restore your encryption keys, please check your owncloud.log or ask your administrator" : "无法恢复加密密钥,请检查 owncloud.log 或联系管理员", "Language changed" : "语言已修改", @@ -94,7 +90,6 @@ "TLS" : "TLS", "Security Warning" : "安全警告", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "您正通过 HTTP 访问 %s。我们强烈建议您配置你的服务器来要求使用 HTTPS。", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "您的数据文件夹和文件可由互联网访问。OwnCloud提供的.htaccess文件未生效。我们强烈建议您配置服务器,以使数据文件夹不可被访问,或者将数据文件夹移到web服务器以外。", "Setup Warning" : "设置警告", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 被设置为移除行内 <doc> 块,这将导致数个核心应用无法访问。", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能是由缓存/加速器造成的,例如 Zend OPcache 或 eAccelerator。", diff --git a/settings/l10n/zh_TW.js b/settings/l10n/zh_TW.js index 1a2b20e3f1d..0979ba7bd3b 100644 --- a/settings/l10n/zh_TW.js +++ b/settings/l10n/zh_TW.js @@ -9,15 +9,11 @@ OC.L10N.register( "Authentication error" : "認證錯誤", "Your full name has been changed." : "您的全名已變更。", "Unable to change full name" : "無法變更全名", - "Group already exists" : "群組已存在", - "Unable to add group" : "群組增加失敗", "Files decrypted successfully" : "檔案解密成功", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "無法解密您的檔案,請檢查您的 owncloud.log 或是詢問您的管理者", "Couldn't decrypt your files, check your password and try again" : "無法解密您的檔案,確認您的密碼並再重試一次", "Email saved" : "Email已儲存", "Invalid email" : "無效的email", - "Unable to delete group" : "群組刪除錯誤", - "Unable to delete user" : "使用者刪除錯誤", "Language changed" : "語言已變更", "Invalid request" : "無效請求", "Admins can't remove themself from the admin group" : "管理者帳號無法從管理者群組中移除", @@ -79,7 +75,6 @@ OC.L10N.register( "TLS" : "TLS", "Security Warning" : "安全性警告", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "您正透過未加密網頁存取 %s。我們強烈建議您設定您的主機必須使用加密網頁。", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "您的資料目錄 (Data Directory) 和檔案可能可以由網際網路上面公開存取。Owncloud 所提供的 .htaccess 設定檔並未生效,我們強烈建議您設定您的網頁伺服器以防止資料目錄被公開存取,或將您的資料目錄移出網頁伺服器的 document root 。", "Setup Warning" : "設定警告", "Module 'fileinfo' missing" : "遺失 'fileinfo' 模組", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "未偵測到 PHP 模組 'fileinfo'。我們強烈建議啟用這個模組以取得最好的 mime-type 支援。", diff --git a/settings/l10n/zh_TW.json b/settings/l10n/zh_TW.json index 030d0f30720..e773023f611 100644 --- a/settings/l10n/zh_TW.json +++ b/settings/l10n/zh_TW.json @@ -7,15 +7,11 @@ "Authentication error" : "認證錯誤", "Your full name has been changed." : "您的全名已變更。", "Unable to change full name" : "無法變更全名", - "Group already exists" : "群組已存在", - "Unable to add group" : "群組增加失敗", "Files decrypted successfully" : "檔案解密成功", "Couldn't decrypt your files, please check your owncloud.log or ask your administrator" : "無法解密您的檔案,請檢查您的 owncloud.log 或是詢問您的管理者", "Couldn't decrypt your files, check your password and try again" : "無法解密您的檔案,確認您的密碼並再重試一次", "Email saved" : "Email已儲存", "Invalid email" : "無效的email", - "Unable to delete group" : "群組刪除錯誤", - "Unable to delete user" : "使用者刪除錯誤", "Language changed" : "語言已變更", "Invalid request" : "無效請求", "Admins can't remove themself from the admin group" : "管理者帳號無法從管理者群組中移除", @@ -77,7 +73,6 @@ "TLS" : "TLS", "Security Warning" : "安全性警告", "You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "您正透過未加密網頁存取 %s。我們強烈建議您設定您的主機必須使用加密網頁。", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "您的資料目錄 (Data Directory) 和檔案可能可以由網際網路上面公開存取。Owncloud 所提供的 .htaccess 設定檔並未生效,我們強烈建議您設定您的網頁伺服器以防止資料目錄被公開存取,或將您的資料目錄移出網頁伺服器的 document root 。", "Setup Warning" : "設定警告", "Module 'fileinfo' missing" : "遺失 'fileinfo' 模組", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "未偵測到 PHP 模組 'fileinfo'。我們強烈建議啟用這個模組以取得最好的 mime-type 支援。", diff --git a/settings/middleware/subadminmiddleware.php b/settings/middleware/subadminmiddleware.php new file mode 100644 index 00000000000..a5c005e3148 --- /dev/null +++ b/settings/middleware/subadminmiddleware.php @@ -0,0 +1,65 @@ +<?php +/** + * @author Lukas Reschke + * @copyright 2014 Lukas Reschke lukas@owncloud.com + * + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Settings\Middleware; + +use OC\AppFramework\Http; +use OC\AppFramework\Utility\ControllerMethodReflector; +use OCP\AppFramework\Http\TemplateResponse; +use OCP\AppFramework\Middleware; + +/** + * Verifies whether an user has at least subadmin rights. + * To bypass use the `@NoSubadminRequired` annotation + * + * @package OC\Settings\Middleware + */ +class SubadminMiddleware extends Middleware { + /** @var bool */ + protected $isSubAdmin; + /** @var ControllerMethodReflector */ + protected $reflector; + + /** + * @param ControllerMethodReflector $reflector + * @param bool $isSubAdmin + */ + public function __construct(ControllerMethodReflector $reflector, + $isSubAdmin) { + $this->reflector = $reflector; + $this->isSubAdmin = $isSubAdmin; + } + + /** + * Check if sharing is enabled before the controllers is executed + * @param \OCP\AppFramework\Controller $controller + * @param string $methodName + * @throws \Exception + */ + public function beforeController($controller, $methodName) { + if(!$this->reflector->hasAnnotation('NoSubadminRequired')) { + if(!$this->isSubAdmin) { + throw new \Exception('Logged in user must be a subadmin'); + } + } + } + + /** + * Return 403 page in case of an exception + * @param \OCP\AppFramework\Controller $controller + * @param string $methodName + * @param \Exception $exception + * @return TemplateResponse + */ + public function afterException($controller, $methodName, \Exception $exception) { + return new TemplateResponse('core', '403', array(), 'guest'); + } + +} diff --git a/settings/personal.php b/settings/personal.php index bef800ae7f1..f181c9cb2c1 100644 --- a/settings/personal.php +++ b/settings/personal.php @@ -9,6 +9,7 @@ OC_Util::checkLoggedIn(); $defaults = new OC_Defaults(); // initialize themable default strings and urls $certificateManager = \OC::$server->getCertificateManager(); +$config = \OC::$server->getConfig(); // Highlight navigation entry OC_Util::addScript( 'settings', 'personal' ); @@ -16,7 +17,7 @@ OC_Util::addStyle( 'settings', 'settings' ); \OC_Util::addVendorScript('strengthify/jquery.strengthify'); \OC_Util::addVendorStyle('strengthify/strengthify'); \OC_Util::addScript('files', 'jquery.fileupload'); -if (\OC_Config::getValue('enable_avatars', true) === true) { +if ($config->getSystemValue('enable_avatars', true) === true) { \OC_Util::addVendorScript('jcrop/js/jquery.Jcrop'); \OC_Util::addVendorStyle('jcrop/css/jquery.Jcrop'); } @@ -26,9 +27,9 @@ OC_App::setActiveNavigationEntry( 'personal' ); $storageInfo=OC_Helper::getStorageInfo('/'); -$email=OC_Preferences::getValue(OC_User::getUser(), 'settings', 'email', ''); +$email=$config->getUserValue(OC_User::getUser(), 'settings', 'email', ''); -$userLang=OC_Preferences::getValue( OC_User::getUser(), 'core', 'lang', OC_L10N::findLanguage() ); +$userLang=$config->getUserValue( OC_User::getUser(), 'core', 'lang', OC_L10N::findLanguage() ); $languageCodes=OC_L10N::findAvailableLanguages(); //check if encryption was enabled in the past @@ -74,9 +75,9 @@ usort( $languages, function ($a, $b) { //links to clients $clients = array( - 'desktop' => OC_Config::getValue('customclient_desktop', $defaults->getSyncClientUrl()), - 'android' => OC_Config::getValue('customclient_android', $defaults->getAndroidClientUrl()), - 'ios' => OC_Config::getValue('customclient_ios', $defaults->getiOSClientUrl()) + 'desktop' => $config->getSystemValue('customclient_desktop', $defaults->getSyncClientUrl()), + 'android' => $config->getSystemValue('customclient_android', $defaults->getAndroidClientUrl()), + 'ios' => $config->getSystemValue('customclient_ios', $defaults->getiOSClientUrl()) ); // Return template @@ -95,7 +96,7 @@ $tmpl->assign('displayName', OC_User::getDisplayName()); $tmpl->assign('enableDecryptAll' , $enableDecryptAll); $tmpl->assign('backupKeysExists' , $backupKeysExists); $tmpl->assign('filesStillEncrypted' , $filesStillEncrypted); -$tmpl->assign('enableAvatars', \OC_Config::getValue('enable_avatars', true)); +$tmpl->assign('enableAvatars', $config->getSystemValue('enable_avatars', true)); $tmpl->assign('avatarChangeSupported', OC_User::canUserChangeAvatar(OC_User::getUser())); $tmpl->assign('certs', $certificateManager->listCertificates()); diff --git a/settings/routes.php b/settings/routes.php index 7ca33fc2745..1b7a918fa79 100644 --- a/settings/routes.php +++ b/settings/routes.php @@ -9,17 +9,22 @@ namespace OC\Settings; $application = new Application(); -$application->registerRoutes($this, array('routes' =>array( - array('name' => 'MailSettings#setMailSettings', 'url' => '/settings/admin/mailsettings', 'verb' => 'POST'), - array('name' => 'MailSettings#storeCredentials', 'url' => '/settings/admin/mailsettings/credentials', 'verb' => 'POST'), - array('name' => 'MailSettings#sendTestMail', 'url' => '/settings/admin/mailtest', 'verb' => 'POST'), - array('name' => 'AppSettings#listCategories', 'url' => '/settings/apps/categories', 'verb' => 'GET'), - array('name' => 'AppSettings#listApps', 'url' => '/settings/apps/list', 'verb' => 'GET'), - array('name' => 'SecuritySettings#enforceSSL', 'url' => '/settings/admin/security/ssl', 'verb' => 'POST'), - array('name' => 'SecuritySettings#enforceSSLForSubdomains', 'url' => '/settings/admin/security/ssl/subdomains', 'verb' => 'POST'), - array('name' => 'SecuritySettings#trustedDomains', 'url' => '/settings/admin/security/trustedDomains', 'verb' => 'POST'), - -))); +$application->registerRoutes($this, array( + 'resources' => array( + 'groups' => array('url' => '/settings/users/groups'), + 'users' => array('url' => '/settings/users/users') + ), + 'routes' =>array( + array('name' => 'MailSettings#setMailSettings', 'url' => '/settings/admin/mailsettings', 'verb' => 'POST'), + array('name' => 'MailSettings#storeCredentials', 'url' => '/settings/admin/mailsettings/credentials', 'verb' => 'POST'), + array('name' => 'MailSettings#sendTestMail', 'url' => '/settings/admin/mailtest', 'verb' => 'POST'), + array('name' => 'AppSettings#listCategories', 'url' => '/settings/apps/categories', 'verb' => 'GET'), + array('name' => 'AppSettings#listApps', 'url' => '/settings/apps/list', 'verb' => 'GET'), + array('name' => 'SecuritySettings#enforceSSL', 'url' => '/settings/admin/security/ssl', 'verb' => 'POST'), + array('name' => 'SecuritySettings#enforceSSLForSubdomains', 'url' => '/settings/admin/security/ssl/subdomains', 'verb' => 'POST'), + array('name' => 'SecuritySettings#trustedDomains', 'url' => '/settings/admin/security/trustedDomains', 'verb' => 'POST'), + ) +)); /** @var $this \OCP\Route\IRouter */ @@ -38,26 +43,14 @@ $this->create('settings_admin', '/settings/admin') ->actionInclude('settings/admin.php'); // Settings ajax actions // users -$this->create('settings_ajax_userlist', '/settings/ajax/userlist') - ->actionInclude('settings/ajax/userlist.php'); -$this->create('settings_ajax_grouplist', '/settings/ajax/grouplist') - ->actionInclude('settings/ajax/grouplist.php'); $this->create('settings_ajax_everyonecount', '/settings/ajax/geteveryonecount') ->actionInclude('settings/ajax/geteveryonecount.php'); -$this->create('settings_ajax_createuser', '/settings/ajax/createuser.php') - ->actionInclude('settings/ajax/createuser.php'); -$this->create('settings_ajax_removeuser', '/settings/ajax/removeuser.php') - ->actionInclude('settings/ajax/removeuser.php'); $this->create('settings_ajax_setquota', '/settings/ajax/setquota.php') ->actionInclude('settings/ajax/setquota.php'); -$this->create('settings_ajax_creategroup', '/settings/ajax/creategroup.php') - ->actionInclude('settings/ajax/creategroup.php'); $this->create('settings_ajax_togglegroups', '/settings/ajax/togglegroups.php') ->actionInclude('settings/ajax/togglegroups.php'); $this->create('settings_ajax_togglesubadmins', '/settings/ajax/togglesubadmins.php') ->actionInclude('settings/ajax/togglesubadmins.php'); -$this->create('settings_ajax_removegroup', '/settings/ajax/removegroup.php') - ->actionInclude('settings/ajax/removegroup.php'); $this->create('settings_users_changepassword', '/settings/users/changepassword') ->post() ->action('OC\Settings\ChangePassword\Controller', 'changeUserPassword'); diff --git a/settings/templates/admin.php b/settings/templates/admin.php index 83dc92a060a..a2380a92650 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -83,20 +83,6 @@ if (!$_['isConnectedViaHTTPS']) { <?php } -// is htaccess working ? -if (!$_['htaccessworking']) { - ?> - <div class="section"> - <h2><?php p($l->t('Security Warning')); ?></h2> - - <span class="securitywarning"> - <?php p($l->t('Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root.')); ?> - </span> - - </div> -<?php -} - // is read only config enabled if ($_['readOnlyConfigEnabled']) { ?> @@ -206,7 +192,7 @@ if ($_['suggestedOverwriteWebroot']) { } ?> <div id="postsetupchecks" class="section"> - <h2><?php p($l->t('Connectivity Checks'));?></h2> + <h2><?php p($l->t('Configuration Checks'));?></h2> <div class="loading"></div> <div class="success hidden"><?php p($l->t('No problems found'));?></div> <div class="errors hidden"></div> diff --git a/settings/tests/js/users/deleteHandlerSpec.js b/settings/tests/js/users/deleteHandlerSpec.js index 6b6328be801..c6d88b32411 100644 --- a/settings/tests/js/users/deleteHandlerSpec.js +++ b/settings/tests/js/users/deleteHandlerSpec.js @@ -85,7 +85,7 @@ describe('DeleteHandler tests', function() { // previous one was delete expect(fakeServer.requests.length).toEqual(1); var request = fakeServer.requests[0]; - expect(request.url).toEqual(OC.webroot + '/index.php/settings/ajax/dummyendpoint.php'); + expect(request.url).toEqual(OC.webroot + '/index.php/dummyendpoint.php/some_uid'); }); it('automatically deletes after timeout', function() { var handler = init(markCallback, removeCallback, undoCallback); @@ -98,7 +98,7 @@ describe('DeleteHandler tests', function() { clock.tick(3000); expect(fakeServer.requests.length).toEqual(1); var request = fakeServer.requests[0]; - expect(request.url).toEqual(OC.webroot + '/index.php/settings/ajax/dummyendpoint.php'); + expect(request.url).toEqual(OC.webroot + '/index.php/dummyendpoint.php/some_uid'); }); it('deletes when deleteEntry is called', function() { var handler = init(markCallback, removeCallback, undoCallback); @@ -107,7 +107,7 @@ describe('DeleteHandler tests', function() { handler.deleteEntry(); expect(fakeServer.requests.length).toEqual(1); var request = fakeServer.requests[0]; - expect(request.url).toEqual(OC.webroot + '/index.php/settings/ajax/dummyendpoint.php'); + expect(request.url).toEqual(OC.webroot + '/index.php/dummyendpoint.php/some_uid'); }); it('cancels deletion when undo is clicked', function() { var handler = init(markCallback, removeCallback, undoCallback); @@ -135,7 +135,7 @@ describe('DeleteHandler tests', function() { expect(fakeServer.requests.length).toEqual(0); }); it('calls removeCallback after successful server side deletion', function() { - fakeServer.respondWith(/\/index\.php\/settings\/ajax\/dummyendpoint.php/, [ + fakeServer.respondWith(/\/index\.php\/dummyendpoint.php\/some_uid/, [ 200, { 'Content-Type': 'application/json' }, JSON.stringify({status: 'success'}) @@ -148,7 +148,6 @@ describe('DeleteHandler tests', function() { expect(fakeServer.requests.length).toEqual(1); var request = fakeServer.requests[0]; var query = OC.parseQueryString(request.requestBody); - expect(query.paramid).toEqual('some_uid'); expect(removeCallback.calledOnce).toEqual(true); expect(undoCallback.notCalled).toEqual(true); @@ -157,7 +156,7 @@ describe('DeleteHandler tests', function() { it('calls undoCallback and shows alert after failed server side deletion', function() { // stub t to avoid extra calls var tStub = sinon.stub(window, 't').returns('text'); - fakeServer.respondWith(/\/index\.php\/settings\/ajax\/dummyendpoint.php/, [ + fakeServer.respondWith(/\/index\.php\/dummyendpoint.php\/some_uid/, [ 200, { 'Content-Type': 'application/json' }, JSON.stringify({status: 'error', data: {message: 'test error'}}) @@ -171,7 +170,6 @@ describe('DeleteHandler tests', function() { expect(fakeServer.requests.length).toEqual(1); var request = fakeServer.requests[0]; var query = OC.parseQueryString(request.requestBody); - expect(query.paramid).toEqual('some_uid'); expect(removeCallback.notCalled).toEqual(true); expect(undoCallback.calledOnce).toEqual(true); diff --git a/settings/users.php b/settings/users.php index 85f160a1552..3da8017b883 100644 --- a/settings/users.php +++ b/settings/users.php @@ -21,6 +21,8 @@ $users = array(); $userManager = \OC_User::getManager(); $groupManager = \OC_Group::getManager(); +$config = \OC::$server->getConfig(); + $isAdmin = OC_User::isAdminUser(OC_User::getUser()); $groupsInfo = new \OC\Group\MetaData(OC_User::getUser(), $isAdmin, $groupManager); @@ -28,7 +30,7 @@ $groupsInfo->setSorting($groupsInfo::SORT_USERCOUNT); list($adminGroup, $groups) = $groupsInfo->get(); $recoveryAdminEnabled = OC_App::isEnabled('files_encryption') && - OC_Appconfig::getValue( 'files_encryption', 'recoveryAdminEnabled' ); + $config->getAppValue( 'files_encryption', 'recoveryAdminEnabled', null ); if($isAdmin) { $accessibleUsers = OC_User::getDisplayNames('', 30); @@ -59,7 +61,7 @@ $defaultQuotaIsUserDefined=array_search($defaultQuota, $quotaPreset)===false // load users and quota foreach($accessibleUsers as $uid => $displayName) { - $quota = OC_Preferences::getValue($uid, 'files', 'quota', 'default'); + $quota = $config->getUserValue($uid, 'files', 'quota', 'default'); $isQuotaUserDefined = array_search($quota, $quotaPreset) === false && array_search($quota, array('none', 'default')) === false; diff --git a/status.php b/status.php index db5813814d0..f7bdfe1fd51 100644 --- a/status.php +++ b/status.php @@ -25,8 +25,10 @@ try { require_once 'lib/base.php'; - $installed = OC_Config::getValue('installed') == 1; - $maintenance = OC_Config::getValue('maintenance', false); + $systemConfig = \OC::$server->getSystemConfig(); + + $installed = $systemConfig->getValue('installed') == 1; + $maintenance = $systemConfig->getValue('maintenance', false); $values=array( 'installed'=>$installed, 'maintenance' => $maintenance, diff --git a/tests/lib/allconfig.php b/tests/lib/allconfig.php new file mode 100644 index 00000000000..7f8ad5ec221 --- /dev/null +++ b/tests/lib/allconfig.php @@ -0,0 +1,422 @@ +<?php +/** + * Copyright (c) 2014 Morris Jobke <hey@morrisjobke.de> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test; + +class TestAllConfig extends \Test\TestCase { + + /** @var \OCP\IDBConnection */ + protected $connection; + + protected function getConfig($systemConfig = null, $connection = null) { + if($this->connection === null) { + $this->connection = \OC::$server->getDatabaseConnection(); + } + if($connection === null) { + $connection = $this->connection; + } + if($systemConfig === null) { + $systemConfig = $this->getMock('\OC\SystemConfig'); + } + return new \OC\AllConfig($systemConfig, $connection); + } + + public function testDeleteUserValue() { + $config = $this->getConfig(); + + // preparation - add something to the database + $this->connection->executeUpdate( + 'INSERT INTO `*PREFIX*preferences` (`userid`, `appid`, ' . + '`configkey`, `configvalue`) VALUES (?, ?, ?, ?)', + array('userDelete', 'appDelete', 'keyDelete', 'valueDelete') + ); + + $config->deleteUserValue('userDelete', 'appDelete', 'keyDelete'); + + $result = $this->connection->executeQuery( + 'SELECT COUNT(*) AS `count` FROM `*PREFIX*preferences` WHERE `userid` = ?', + array('userDelete') + )->fetch(); + $actualCount = $result['count']; + + $this->assertEquals(0, $actualCount, 'There was one value in the database and after the tests there should be no entry left.'); + } + + public function testSetUserValue() { + $selectAllSQL = 'SELECT `userid`, `appid`, `configkey`, `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ?'; + $config = $this->getConfig(); + + $config->setUserValue('userSet', 'appSet', 'keySet', 'valueSet'); + + $result = $this->connection->executeQuery($selectAllSQL, array('userSet'))->fetchAll(); + + $this->assertEquals(1, count($result)); + $this->assertEquals(array( + 'userid' => 'userSet', + 'appid' => 'appSet', + 'configkey' => 'keySet', + 'configvalue' => 'valueSet' + ), $result[0]); + + // test if the method overwrites existing database entries + $config->setUserValue('userSet', 'appSet', 'keySet', 'valueSet2'); + + $result = $this->connection->executeQuery($selectAllSQL, array('userSet'))->fetchAll(); + + $this->assertEquals(1, count($result)); + $this->assertEquals(array( + 'userid' => 'userSet', + 'appid' => 'appSet', + 'configkey' => 'keySet', + 'configvalue' => 'valueSet2' + ), $result[0]); + + // cleanup - it therefore relies on the successful execution of the previous test + $config->deleteUserValue('userSet', 'appSet', 'keySet'); + } + + public function testSetUserValueWithPreCondition() { + // mock the check for the database to run the correct SQL statements for each database type + $systemConfig = $this->getMock('\OC\SystemConfig'); + $systemConfig->expects($this->once()) + ->method('getValue') + ->with($this->equalTo('dbtype'), + $this->equalTo('sqlite')) + ->will($this->returnValue(\OC::$server->getConfig()->getSystemValue('dbtype', 'sqlite'))); + $config = $this->getConfig($systemConfig); + + $selectAllSQL = 'SELECT `userid`, `appid`, `configkey`, `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ?'; + + $config->setUserValue('userPreCond', 'appPreCond', 'keyPreCond', 'valuePreCond'); + + $result = $this->connection->executeQuery($selectAllSQL, array('userPreCond'))->fetchAll(); + + $this->assertEquals(1, count($result)); + $this->assertEquals(array( + 'userid' => 'userPreCond', + 'appid' => 'appPreCond', + 'configkey' => 'keyPreCond', + 'configvalue' => 'valuePreCond' + ), $result[0]); + + // test if the method overwrites existing database entries with valid precond + $config->setUserValue('userPreCond', 'appPreCond', 'keyPreCond', 'valuePreCond2', 'valuePreCond'); + + $result = $this->connection->executeQuery($selectAllSQL, array('userPreCond'))->fetchAll(); + + $this->assertEquals(1, count($result)); + $this->assertEquals(array( + 'userid' => 'userPreCond', + 'appid' => 'appPreCond', + 'configkey' => 'keyPreCond', + 'configvalue' => 'valuePreCond2' + ), $result[0]); + + // cleanup + $config->deleteUserValue('userPreCond', 'appPreCond', 'keyPreCond'); + } + + /** + * @expectedException \OCP\PreConditionNotMetException + */ + public function testSetUserValueWithPreConditionFailure() { + // mock the check for the database to run the correct SQL statements for each database type + $systemConfig = $this->getMock('\OC\SystemConfig'); + $systemConfig->expects($this->once()) + ->method('getValue') + ->with($this->equalTo('dbtype'), + $this->equalTo('sqlite')) + ->will($this->returnValue(\OC::$server->getConfig()->getSystemValue('dbtype', 'sqlite'))); + $config = $this->getConfig($systemConfig); + + $selectAllSQL = 'SELECT `userid`, `appid`, `configkey`, `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ?'; + + $config->setUserValue('userPreCond1', 'appPreCond', 'keyPreCond', 'valuePreCond'); + + $result = $this->connection->executeQuery($selectAllSQL, array('userPreCond1'))->fetchAll(); + + $this->assertEquals(1, count($result)); + $this->assertEquals(array( + 'userid' => 'userPreCond1', + 'appid' => 'appPreCond', + 'configkey' => 'keyPreCond', + 'configvalue' => 'valuePreCond' + ), $result[0]); + + // test if the method overwrites existing database entries with valid precond + $config->setUserValue('userPreCond1', 'appPreCond', 'keyPreCond', 'valuePreCond2', 'valuePreCond3'); + + $result = $this->connection->executeQuery($selectAllSQL, array('userPreCond1'))->fetchAll(); + + $this->assertEquals(1, count($result)); + $this->assertEquals(array( + 'userid' => 'userPreCond1', + 'appid' => 'appPreCond', + 'configkey' => 'keyPreCond', + 'configvalue' => 'valuePreCond' + ), $result[0]); + + // cleanup + $config->deleteUserValue('userPreCond1', 'appPreCond', 'keyPreCond'); + } + + public function testSetUserValueUnchanged() { + // TODO - FIXME until the dependency injection is handled properly (in AllConfig) + $this->markTestSkipped('Skipped because this is just testable if database connection can be injected'); + + $resultMock = $this->getMockBuilder('\Doctrine\DBAL\Driver\Statement') + ->disableOriginalConstructor()->getMock(); + $resultMock->expects($this->once()) + ->method('fetchColumn') + ->will($this->returnValue('valueSetUnchanged')); + + $connectionMock = $this->getMock('\OCP\IDBConnection'); + $connectionMock->expects($this->once()) + ->method('executeQuery') + ->with($this->equalTo('SELECT `configvalue` FROM `*PREFIX*preferences` '. + 'WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'), + $this->equalTo(array('userSetUnchanged', 'appSetUnchanged', 'keySetUnchanged'))) + ->will($this->returnValue($resultMock)); + $connectionMock->expects($this->never()) + ->method('executeUpdate'); + + $config = $this->getConfig(null, $connectionMock); + + $config->setUserValue('userSetUnchanged', 'appSetUnchanged', 'keySetUnchanged', 'valueSetUnchanged'); + } + + public function testGetUserValue() { + $config = $this->getConfig(); + + // setup - it therefore relies on the successful execution of the previous test + $config->setUserValue('userGet', 'appGet', 'keyGet', 'valueGet'); + $value = $config->getUserValue('userGet', 'appGet', 'keyGet'); + + $this->assertEquals('valueGet', $value); + + $result = $this->connection->executeQuery( + 'SELECT `userid`, `appid`, `configkey`, `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ?', + array('userGet') + )->fetchAll(); + + $this->assertEquals(1, count($result)); + $this->assertEquals(array( + 'userid' => 'userGet', + 'appid' => 'appGet', + 'configkey' => 'keyGet', + 'configvalue' => 'valueGet' + ), $result[0]); + + // drop data from database - but the config option should be cached in the config object + $this->connection->executeUpdate('DELETE FROM `*PREFIX*preferences` WHERE `userid` = ?', array('userGet')); + + // testing the caching mechanism + $value = $config->getUserValue('userGet', 'appGet', 'keyGet'); + + $this->assertEquals('valueGet', $value); + + $result = $this->connection->executeQuery( + 'SELECT `userid`, `appid`, `configkey`, `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ?', + array('userGet') + )->fetchAll(); + + $this->assertEquals(0, count($result)); + } + + public function testGetUserKeys() { + $config = $this->getConfig(); + + // preparation - add something to the database + $data = array( + array('userFetch', 'appFetch1', 'keyFetch1', 'value1'), + array('userFetch', 'appFetch1', 'keyFetch2', 'value2'), + array('userFetch', 'appFetch2', 'keyFetch3', 'value3'), + array('userFetch', 'appFetch1', 'keyFetch4', 'value4'), + array('userFetch', 'appFetch4', 'keyFetch1', 'value5'), + array('userFetch', 'appFetch5', 'keyFetch1', 'value6'), + array('userFetch2', 'appFetch', 'keyFetch1', 'value7') + ); + foreach ($data as $entry) { + $this->connection->executeUpdate( + 'INSERT INTO `*PREFIX*preferences` (`userid`, `appid`, ' . + '`configkey`, `configvalue`) VALUES (?, ?, ?, ?)', + $entry + ); + } + + $value = $config->getUserKeys('userFetch', 'appFetch1'); + $this->assertEquals(array('keyFetch1', 'keyFetch2', 'keyFetch4'), $value); + + $value = $config->getUserKeys('userFetch2', 'appFetch'); + $this->assertEquals(array('keyFetch1'), $value); + + // cleanup + $this->connection->executeUpdate('DELETE FROM `*PREFIX*preferences`'); + } + + public function testGetUserValueDefault() { + $config = $this->getConfig(); + + $this->assertEquals('', $config->getUserValue('userGetUnset', 'appGetUnset', 'keyGetUnset')); + $this->assertEquals(null, $config->getUserValue('userGetUnset', 'appGetUnset', 'keyGetUnset', null)); + $this->assertEquals('foobar', $config->getUserValue('userGetUnset', 'appGetUnset', 'keyGetUnset', 'foobar')); + } + + public function testGetUserValueForUsers() { + $config = $this->getConfig(); + + // preparation - add something to the database + $data = array( + array('userFetch1', 'appFetch2', 'keyFetch1', 'value1'), + array('userFetch2', 'appFetch2', 'keyFetch1', 'value2'), + array('userFetch3', 'appFetch2', 'keyFetch1', 3), + array('userFetch4', 'appFetch2', 'keyFetch1', 'value4'), + array('userFetch5', 'appFetch2', 'keyFetch1', 'value5'), + array('userFetch6', 'appFetch2', 'keyFetch1', 'value6'), + array('userFetch7', 'appFetch2', 'keyFetch1', 'value7') + ); + foreach ($data as $entry) { + $this->connection->executeUpdate( + 'INSERT INTO `*PREFIX*preferences` (`userid`, `appid`, ' . + '`configkey`, `configvalue`) VALUES (?, ?, ?, ?)', + $entry + ); + } + + $value = $config->getUserValueForUsers('appFetch2', 'keyFetch1', + array('userFetch1', 'userFetch2', 'userFetch3', 'userFetch5')); + $this->assertEquals(array( + 'userFetch1' => 'value1', + 'userFetch2' => 'value2', + 'userFetch3' => 3, + 'userFetch5' => 'value5' + ), $value); + + $value = $config->getUserValueForUsers('appFetch2', 'keyFetch1', + array('userFetch1', 'userFetch4', 'userFetch9')); + $this->assertEquals(array( + 'userFetch1' => 'value1', + 'userFetch4' => 'value4' + ), $value, 'userFetch9 is an non-existent user and should not be shown.'); + + // cleanup + $this->connection->executeUpdate('DELETE FROM `*PREFIX*preferences`'); + } + + public function testDeleteAllUserValues() { + $config = $this->getConfig(); + + // preparation - add something to the database + $data = array( + array('userFetch3', 'appFetch1', 'keyFetch1', 'value1'), + array('userFetch3', 'appFetch1', 'keyFetch2', 'value2'), + array('userFetch3', 'appFetch2', 'keyFetch3', 'value3'), + array('userFetch3', 'appFetch1', 'keyFetch4', 'value4'), + array('userFetch3', 'appFetch4', 'keyFetch1', 'value5'), + array('userFetch3', 'appFetch5', 'keyFetch1', 'value6'), + array('userFetch4', 'appFetch2', 'keyFetch1', 'value7') + ); + foreach ($data as $entry) { + $this->connection->executeUpdate( + 'INSERT INTO `*PREFIX*preferences` (`userid`, `appid`, ' . + '`configkey`, `configvalue`) VALUES (?, ?, ?, ?)', + $entry + ); + } + + $config->deleteAllUserValues('userFetch3'); + + $result = $this->connection->executeQuery( + 'SELECT COUNT(*) AS `count` FROM `*PREFIX*preferences`' + )->fetch(); + $actualCount = $result['count']; + + $this->assertEquals(1, $actualCount, 'After removing `userFetch3` there should be exactly 1 entry left.'); + + // cleanup + $this->connection->executeUpdate('DELETE FROM `*PREFIX*preferences`'); + } + + public function testDeleteAppFromAllUsers() { + $config = $this->getConfig(); + + // preparation - add something to the database + $data = array( + array('userFetch5', 'appFetch1', 'keyFetch1', 'value1'), + array('userFetch5', 'appFetch1', 'keyFetch2', 'value2'), + array('userFetch5', 'appFetch2', 'keyFetch3', 'value3'), + array('userFetch5', 'appFetch1', 'keyFetch4', 'value4'), + array('userFetch5', 'appFetch4', 'keyFetch1', 'value5'), + array('userFetch5', 'appFetch5', 'keyFetch1', 'value6'), + array('userFetch6', 'appFetch2', 'keyFetch1', 'value7') + ); + foreach ($data as $entry) { + $this->connection->executeUpdate( + 'INSERT INTO `*PREFIX*preferences` (`userid`, `appid`, ' . + '`configkey`, `configvalue`) VALUES (?, ?, ?, ?)', + $entry + ); + } + + $config->deleteAppFromAllUsers('appFetch1'); + + $result = $this->connection->executeQuery( + 'SELECT COUNT(*) AS `count` FROM `*PREFIX*preferences`' + )->fetch(); + $actualCount = $result['count']; + + $this->assertEquals(4, $actualCount, 'After removing `appFetch1` there should be exactly 4 entries left.'); + + $config->deleteAppFromAllUsers('appFetch2'); + + $result = $this->connection->executeQuery( + 'SELECT COUNT(*) AS `count` FROM `*PREFIX*preferences`' + )->fetch(); + $actualCount = $result['count']; + + $this->assertEquals(2, $actualCount, 'After removing `appFetch2` there should be exactly 2 entries left.'); + + // cleanup + $this->connection->executeUpdate('DELETE FROM `*PREFIX*preferences`'); + } + + public function testGetUsersForUserValue() { + // mock the check for the database to run the correct SQL statements for each database type + $systemConfig = $this->getMock('\OC\SystemConfig'); + $systemConfig->expects($this->once()) + ->method('getValue') + ->with($this->equalTo('dbtype'), + $this->equalTo('sqlite')) + ->will($this->returnValue(\OC::$server->getConfig()->getSystemValue('dbtype', 'sqlite'))); + $config = $this->getConfig($systemConfig); + + // preparation - add something to the database + $data = array( + array('user1', 'appFetch9', 'keyFetch9', 'value9'), + array('user2', 'appFetch9', 'keyFetch9', 'value9'), + array('user3', 'appFetch9', 'keyFetch9', 'value8'), + array('user4', 'appFetch9', 'keyFetch8', 'value9'), + array('user5', 'appFetch8', 'keyFetch9', 'value9'), + array('user6', 'appFetch9', 'keyFetch9', 'value9'), + ); + foreach ($data as $entry) { + $this->connection->executeUpdate( + 'INSERT INTO `*PREFIX*preferences` (`userid`, `appid`, ' . + '`configkey`, `configvalue`) VALUES (?, ?, ?, ?)', + $entry + ); + } + + $value = $config->getUsersForUserValue('appFetch9', 'keyFetch9', 'value9'); + $this->assertEquals(array('user1', 'user2', 'user6'), $value); + + // cleanup + $this->connection->executeUpdate('DELETE FROM `*PREFIX*preferences`'); + } + +} diff --git a/tests/lib/app/infoparser.php b/tests/lib/app/infoparser.php index 13c0b51e117..e291b616e8b 100644 --- a/tests/lib/app/infoparser.php +++ b/tests/lib/app/infoparser.php @@ -19,7 +19,7 @@ class InfoParser extends \PHPUnit_Framework_TestCase { private $parser; public function setUp() { - $config = $this->getMockBuilder('\OC\AllConfig') + $config = $this->getMockBuilder('\OCP\IConfig') ->disableOriginalConstructor()->getMock(); $httpHelper = $this->getMockBuilder('\OC\HTTPHelper') ->setConstructorArgs(array($config)) diff --git a/tests/lib/config.php b/tests/lib/config.php index 9dff3aab84f..6adba356a1c 100644 --- a/tests/lib/config.php +++ b/tests/lib/config.php @@ -47,7 +47,6 @@ class Test_Config extends \Test\TestCase { } public function testSetValue() { - $this->config->setDebugMode(false); $this->config->setValue('foo', 'moo'); $expectedConfig = $this->initialConfig; $expectedConfig['foo'] = 'moo'; @@ -73,7 +72,6 @@ class Test_Config extends \Test\TestCase { } public function testDeleteKey() { - $this->config->setDebugMode(false); $this->config->deleteKey('foo'); $expectedConfig = $this->initialConfig; unset($expectedConfig['foo']); @@ -85,37 +83,6 @@ class Test_Config extends \Test\TestCase { $this->assertEquals($expected, $content); } - public function testSetDebugMode() { - $this->config->setDebugMode(true); - $this->assertAttributeEquals($this->initialConfig, 'cache', $this->config); - $this->assertAttributeEquals(true, 'debugMode', $this->config); - $content = file_get_contents($this->configFile); - $expected = "<?php\ndefine('DEBUG',true);\n\$CONFIG = array (\n 'foo' => 'bar',\n 'beers' => \n array (\n 0 => 'Appenzeller',\n " . - " 1 => 'Guinness',\n 2 => 'Kölsch',\n ),\n 'alcohol_free' => false,\n);\n"; - $this->assertEquals($expected, $content); - - $this->config->setDebugMode(false); - $this->assertAttributeEquals($this->initialConfig, 'cache', $this->config); - $this->assertAttributeEquals(false, 'debugMode', $this->config); - $content = file_get_contents($this->configFile); - $expected = "<?php\n\$CONFIG = array (\n 'foo' => 'bar',\n 'beers' => \n array (\n 0 => 'Appenzeller',\n " . - " 1 => 'Guinness',\n 2 => 'Kölsch',\n ),\n 'alcohol_free' => false,\n);\n"; - $this->assertEquals($expected, $content); - } - - public function testIsDebugMode() { - // Default - $this->assertFalse($this->config->isDebugMode()); - - // Manually set to false - $this->config->setDebugMode(false); - $this->assertFalse($this->config->isDebugMode()); - - // Manually set to true - $this->config->setDebugMode(true); - $this->assertTrue($this->config->isDebugMode()); - } - public function testConfigMerge() { // Create additional config $additionalConfig = '<?php $CONFIG=array("php53"=>"totallyOutdated");'; diff --git a/tests/lib/files/mount/manager.php b/tests/lib/files/mount/manager.php index 051b76ccf2e..78322b47d50 100644 --- a/tests/lib/files/mount/manager.php +++ b/tests/lib/files/mount/manager.php @@ -30,33 +30,33 @@ class Manager extends \Test\TestCase { public function testFind() { $this->assertNull($this->manager->find('/')); - $rootMount = new \OC\Files\Mount\Mount(new Temporary(array()), '/'); + $rootMount = new \OC\Files\Mount\MountPoint(new Temporary(array()), '/'); $this->manager->addMount($rootMount); $this->assertEquals($rootMount, $this->manager->find('/')); $this->assertEquals($rootMount, $this->manager->find('/foo/bar')); $storage = new Temporary(array()); - $mount1 = new \OC\Files\Mount\Mount($storage, '/foo'); + $mount1 = new \OC\Files\Mount\MountPoint($storage, '/foo'); $this->manager->addMount($mount1); $this->assertEquals($rootMount, $this->manager->find('/')); $this->assertEquals($mount1, $this->manager->find('/foo/bar')); $this->assertEquals(1, count($this->manager->findIn('/'))); - $mount2 = new \OC\Files\Mount\Mount(new Temporary(array()), '/bar'); + $mount2 = new \OC\Files\Mount\MountPoint(new Temporary(array()), '/bar'); $this->manager->addMount($mount2); $this->assertEquals(2, count($this->manager->findIn('/'))); $id = $mount1->getStorageId(); $this->assertEquals(array($mount1), $this->manager->findByStorageId($id)); - $mount3 = new \OC\Files\Mount\Mount($storage, '/foo/bar'); + $mount3 = new \OC\Files\Mount\MountPoint($storage, '/foo/bar'); $this->manager->addMount($mount3); $this->assertEquals(array($mount1, $mount3), $this->manager->findByStorageId($id)); } public function testLong() { $storage = new LongId(array()); - $mount = new \OC\Files\Mount\Mount($storage, '/foo'); + $mount = new \OC\Files\Mount\MountPoint($storage, '/foo'); $this->manager->addMount($mount); $id = $mount->getStorageId(); diff --git a/tests/lib/files/mount/mount.php b/tests/lib/files/mount/mount.php index 5ee3d934e97..584766de836 100644 --- a/tests/lib/files/mount/mount.php +++ b/tests/lib/files/mount/mount.php @@ -9,7 +9,7 @@ namespace Test\Files\Mount; -use OC\Files\Storage\Loader; +use OC\Files\Storage\StorageFactory; use OC\Files\Storage\Wrapper\Wrapper; class Mount extends \Test\TestCase { @@ -17,12 +17,12 @@ class Mount extends \Test\TestCase { $storage = $this->getMockBuilder('\OC\Files\Storage\Temporary') ->disableOriginalConstructor() ->getMock(); - $mount = new \OC\Files\Mount\Mount($storage, '/foo'); + $mount = new \OC\Files\Mount\MountPoint($storage, '/foo'); $this->assertInstanceOf('\OC\Files\Storage\Temporary', $mount->getStorage()); } public function testFromStorageClassname() { - $mount = new \OC\Files\Mount\Mount('\OC\Files\Storage\Temporary', '/foo'); + $mount = new \OC\Files\Mount\MountPoint('\OC\Files\Storage\Temporary', '/foo'); $this->assertInstanceOf('\OC\Files\Storage\Temporary', $mount->getStorage()); } @@ -34,13 +34,13 @@ class Mount extends \Test\TestCase { return new Wrapper(array('storage' => $storage)); }; - $loader = new Loader(); + $loader = new StorageFactory(); $loader->addStorageWrapper('test_wrapper', $wrapper); $storage = $this->getMockBuilder('\OC\Files\Storage\Temporary') ->disableOriginalConstructor() ->getMock(); - $mount = new \OC\Files\Mount\Mount($storage, '/foo', array(), $loader); + $mount = new \OC\Files\Mount\MountPoint($storage, '/foo', array(), $loader); $this->assertInstanceOf('\OC\Files\Storage\Wrapper\Wrapper', $mount->getStorage()); } } diff --git a/tests/lib/files/node/folder.php b/tests/lib/files/node/folder.php index 4aa57aa9373..d8c047a2b75 100644 --- a/tests/lib/files/node/folder.php +++ b/tests/lib/files/node/folder.php @@ -10,7 +10,7 @@ namespace Test\Files\Node; use OC\Files\Cache\Cache; use OC\Files\FileInfo; -use OC\Files\Mount\Mount; +use OC\Files\Mount\MountPoint; use OC\Files\Node\Node; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; @@ -419,7 +419,7 @@ class Folder extends \Test\TestCase { $cache = $this->getMock('\OC\Files\Cache\Cache', array(), array('')); $subCache = $this->getMock('\OC\Files\Cache\Cache', array(), array('')); $subStorage = $this->getMock('\OC\Files\Storage\Storage'); - $subMount = $this->getMock('\OC\Files\Mount\Mount', array(), array(null, '')); + $subMount = $this->getMock('\OC\Files\Mount\MountPoint', array(), array(null, '')); $subMount->expects($this->once()) ->method('getStorage') @@ -487,7 +487,7 @@ class Folder extends \Test\TestCase { ->method('getUser') ->will($this->returnValue($this->user)); $storage = $this->getMock('\OC\Files\Storage\Storage'); - $mount = new Mount($storage, '/bar'); + $mount = new MountPoint($storage, '/bar'); $cache = $this->getMock('\OC\Files\Cache\Cache', array(), array('')); $view->expects($this->once()) @@ -530,7 +530,7 @@ class Folder extends \Test\TestCase { ->method('getUser') ->will($this->returnValue($this->user)); $storage = $this->getMock('\OC\Files\Storage\Storage'); - $mount = new Mount($storage, '/bar'); + $mount = new MountPoint($storage, '/bar'); $cache = $this->getMock('\OC\Files\Cache\Cache', array(), array('')); $storage->expects($this->once()) @@ -568,8 +568,8 @@ class Folder extends \Test\TestCase { ->method('getUser') ->will($this->returnValue($this->user)); $storage = $this->getMock('\OC\Files\Storage\Storage'); - $mount1 = new Mount($storage, '/bar'); - $mount2 = new Mount($storage, '/bar/foo/asd'); + $mount1 = new MountPoint($storage, '/bar'); + $mount2 = new MountPoint($storage, '/bar/foo/asd'); $cache = $this->getMock('\OC\Files\Cache\Cache', array(), array('')); $view->expects($this->any()) diff --git a/tests/lib/files/utils/scanner.php b/tests/lib/files/utils/scanner.php index f729be81bd7..65ddfe47514 100644 --- a/tests/lib/files/utils/scanner.php +++ b/tests/lib/files/utils/scanner.php @@ -9,17 +9,17 @@ namespace Test\Files\Utils; use OC\Files\Filesystem; -use OC\Files\Mount\Mount; +use OC\Files\Mount\MountPoint; use OC\Files\Storage\Temporary; class TestScanner extends \OC\Files\Utils\Scanner { /** - * @var \OC\Files\Mount\Mount[] $mounts + * @var \OC\Files\Mount\MountPoint[] $mounts */ private $mounts = array(); /** - * @param \OC\Files\Mount\Mount $mount + * @param \OC\Files\Mount\MountPoint $mount */ public function addMount($mount) { $this->mounts[] = $mount; @@ -56,7 +56,7 @@ class Scanner extends \Test\TestCase { public function testReuseExistingRoot() { $storage = new Temporary(array()); - $mount = new Mount($storage, ''); + $mount = new MountPoint($storage, ''); Filesystem::getMountManager()->addMount($mount); $cache = $storage->getCache(); @@ -78,7 +78,7 @@ class Scanner extends \Test\TestCase { public function testReuseExistingFile() { $storage = new Temporary(array()); - $mount = new Mount($storage, ''); + $mount = new MountPoint($storage, ''); Filesystem::getMountManager()->addMount($mount); $cache = $storage->getCache(); @@ -105,7 +105,7 @@ class Scanner extends \Test\TestCase { $propagator = $this->getMock('\OC\Files\Cache\ChangePropagator', array('propagateChanges'), array(), '', false); $storage = new Temporary(array()); - $mount = new Mount($storage, '/foo'); + $mount = new MountPoint($storage, '/foo'); Filesystem::getMountManager()->addMount($mount); $cache = $storage->getCache(); diff --git a/tests/lib/helperstorage.php b/tests/lib/helperstorage.php index 9f3bd8824f7..8b5f41fc94c 100644 --- a/tests/lib/helperstorage.php +++ b/tests/lib/helperstorage.php @@ -45,7 +45,7 @@ class Test_Helper_Storage extends \Test\TestCase { \OC_User::setUserId(''); \OC_User::deleteUser($this->user); - \OC_Preferences::deleteUser($this->user); + \OC::$server->getConfig()->deleteAllUserValues($this->user); parent::tearDown(); } diff --git a/tests/lib/httphelper.php b/tests/lib/httphelper.php index eb58508f158..1cc4232ab4b 100644 --- a/tests/lib/httphelper.php +++ b/tests/lib/httphelper.php @@ -8,7 +8,7 @@ class TestHTTPHelper extends \Test\TestCase { - /** @var \OC\AllConfig*/ + /** @var \OCP\IConfig*/ private $config; /** @var \OC\HTTPHelper */ private $httpHelperMock; @@ -16,7 +16,7 @@ class TestHTTPHelper extends \Test\TestCase { protected function setUp() { parent::setUp(); - $this->config = $this->getMockBuilder('\OC\AllConfig') + $this->config = $this->getMockBuilder('\OCP\IConfig') ->disableOriginalConstructor()->getMock(); $this->httpHelperMock = $this->getMockBuilder('\OC\HTTPHelper') ->setConstructorArgs(array($this->config)) diff --git a/tests/lib/preferences-singleton.php b/tests/lib/preferences-singleton.php deleted file mode 100644 index 01e15acdfe1..00000000000 --- a/tests/lib/preferences-singleton.php +++ /dev/null @@ -1,176 +0,0 @@ -<?php -/** - * Copyright (c) 2013 Christopher Schäpers <christopher@schaepers.it> - * Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl> - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. - */ - -class Test_Preferences extends \Test\TestCase { - public static function setUpBeforeClass() { - parent::setUpBeforeClass(); - - $query = \OC_DB::prepare('INSERT INTO `*PREFIX*preferences` VALUES(?, ?, ?, ?)'); - $query->execute(array("Someuser", "someapp", "somekey", "somevalue")); - - $query->execute(array("Someuser", "getusersapp", "somekey", "somevalue")); - $query->execute(array("Anotheruser", "getusersapp", "somekey", "someothervalue")); - $query->execute(array("Anuser", "getusersapp", "somekey", "somevalue")); - - $query->execute(array("Someuser", "getappsapp", "somekey", "somevalue")); - - $query->execute(array("Someuser", "getkeysapp", "firstkey", "somevalue")); - $query->execute(array("Someuser", "getkeysapp", "anotherkey", "somevalue")); - $query->execute(array("Someuser", "getkeysapp", "key-tastic", "somevalue")); - - $query->execute(array("Someuser", "getvalueapp", "key", "a value for a key")); - - $query->execute(array("Deleteuser", "deleteapp", "deletekey", "somevalue")); - $query->execute(array("Deleteuser", "deleteapp", "somekey", "somevalue")); - $query->execute(array("Deleteuser", "someapp", "somekey", "somevalue")); - } - - public static function tearDownAfterClass() { - $query = \OC_DB::prepare('DELETE FROM `*PREFIX*preferences` WHERE `userid` = ?'); - $query->execute(array('Someuser')); - $query->execute(array('Anotheruser')); - $query->execute(array('Anuser')); - - parent::tearDownAfterClass(); - } - - public function testGetUsers() { - $query = \OC_DB::prepare('SELECT DISTINCT `userid` FROM `*PREFIX*preferences`'); - $result = $query->execute(); - $expected = array(); - while ($row = $result->fetchRow()) { - $expected[] = $row['userid']; - } - - sort($expected); - $users = \OC_Preferences::getUsers(); - sort($users); - $this->assertEquals($expected, $users); - } - - public function testGetApps() { - $query = \OC_DB::prepare('SELECT DISTINCT `appid` FROM `*PREFIX*preferences` WHERE `userid` = ?'); - $result = $query->execute(array('Someuser')); - $expected = array(); - while ($row = $result->fetchRow()) { - $expected[] = $row['appid']; - } - - sort($expected); - $apps = \OC_Preferences::getApps('Someuser'); - sort($apps); - $this->assertEquals($expected, $apps); - } - - public function testGetKeys() { - $query = \OC_DB::prepare('SELECT DISTINCT `configkey` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ?'); - $result = $query->execute(array('Someuser', 'getkeysapp')); - $expected = array(); - while ($row = $result->fetchRow()) { - $expected[] = $row['configkey']; - } - - sort($expected); - $keys = \OC_Preferences::getKeys('Someuser', 'getkeysapp'); - sort($keys); - $this->assertEquals($expected, $keys); - } - - public function testGetValue() { - $this->assertNull(\OC_Preferences::getValue('nonexistant', 'nonexistant', 'nonexistant')); - - $this->assertEquals('default', \OC_Preferences::getValue('nonexistant', 'nonexistant', 'nonexistant', 'default')); - - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'); - $result = $query->execute(array('Someuser', 'getvalueapp', 'key')); - $row = $result->fetchRow(); - $expected = $row['configvalue']; - $this->assertEquals($expected, \OC_Preferences::getValue('Someuser', 'getvalueapp', 'key')); - } - - public function testSetValue() { - $this->assertTrue(\OC_Preferences::setValue('Someuser', 'setvalueapp', 'newkey', 'newvalue')); - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'); - $result = $query->execute(array('Someuser', 'setvalueapp', 'newkey')); - $row = $result->fetchRow(); - $value = $row['configvalue']; - $this->assertEquals('newvalue', $value); - - $this->assertTrue(\OC_Preferences::setValue('Someuser', 'setvalueapp', 'newkey', 'othervalue')); - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'); - $result = $query->execute(array('Someuser', 'setvalueapp', 'newkey')); - $row = $result->fetchRow(); - $value = $row['configvalue']; - $this->assertEquals('othervalue', $value); - } - - public function testSetValueWithPreCondition() { - // remove existing key - $this->assertTrue(\OC_Preferences::deleteKey('Someuser', 'setvalueapp', 'newkey')); - - // add new preference with pre-condition should fails - $this->assertFalse(\OC_Preferences::setValue('Someuser', 'setvalueapp', 'newkey', 'newvalue', 'preCondition')); - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'); - $result = $query->execute(array('Someuser', 'setvalueapp', 'newkey')); - $row = $result->fetchRow(); - $this->assertFalse($row); - - // add new preference without pre-condition should insert the new value - $this->assertTrue(\OC_Preferences::setValue('Someuser', 'setvalueapp', 'newkey', 'newvalue')); - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'); - $result = $query->execute(array('Someuser', 'setvalueapp', 'newkey')); - $row = $result->fetchRow(); - $value = $row['configvalue']; - $this->assertEquals('newvalue', $value); - - // wrong pre-condition, value should stay the same - $this->assertFalse(\OC_Preferences::setValue('Someuser', 'setvalueapp', 'newkey', 'othervalue', 'preCondition')); - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'); - $result = $query->execute(array('Someuser', 'setvalueapp', 'newkey')); - $row = $result->fetchRow(); - $value = $row['configvalue']; - $this->assertEquals('newvalue', $value); - - // correct pre-condition, value should change - $this->assertTrue(\OC_Preferences::setValue('Someuser', 'setvalueapp', 'newkey', 'othervalue', 'newvalue')); - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'); - $result = $query->execute(array('Someuser', 'setvalueapp', 'newkey')); - $row = $result->fetchRow(); - $value = $row['configvalue']; - $this->assertEquals('othervalue', $value); - } - - public function testDeleteKey() { - $this->assertTrue(\OC_Preferences::deleteKey('Deleteuser', 'deleteapp', 'deletekey')); - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'); - $result = $query->execute(array('Deleteuser', 'deleteapp', 'deletekey')); - $this->assertEquals(0, count($result->fetchAll())); - } - - public function testDeleteApp() { - $this->assertTrue(\OC_Preferences::deleteApp('Deleteuser', 'deleteapp')); - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ?'); - $result = $query->execute(array('Deleteuser', 'deleteapp')); - $this->assertEquals(0, count($result->fetchAll())); - } - - public function testDeleteUser() { - $this->assertTrue(\OC_Preferences::deleteUser('Deleteuser')); - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ?'); - $result = $query->execute(array('Deleteuser')); - $this->assertEquals(0, count($result->fetchAll())); - } - - public function testDeleteAppFromAllUsers() { - $this->assertTrue(\OC_Preferences::deleteAppFromAllUsers('someapp')); - $query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `appid` = ?'); - $result = $query->execute(array('someapp')); - $this->assertEquals(0, count($result->fetchAll())); - } -} diff --git a/tests/lib/preferences.php b/tests/lib/preferences.php deleted file mode 100644 index 193b1f80280..00000000000 --- a/tests/lib/preferences.php +++ /dev/null @@ -1,241 +0,0 @@ -<?php -/** - * Copyright (c) 2013 Christopher Schäpers <christopher@schaepers.it> - * Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl> - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. - */ - -class Test_Preferences_Object extends \Test\TestCase { - public function testGetUsers() - { - $statementMock = $this->getMock('\Doctrine\DBAL\Statement', array(), array(), '', false); - $statementMock->expects($this->exactly(2)) - ->method('fetchColumn') - ->will($this->onConsecutiveCalls('foo', false)); - $connectionMock = $this->getMock('\OC\DB\Connection', array(), array(), '', false); - $connectionMock->expects($this->once()) - ->method('executeQuery') - ->with($this->equalTo('SELECT DISTINCT `userid` FROM `*PREFIX*preferences`')) - ->will($this->returnValue($statementMock)); - - $preferences = new OC\Preferences($connectionMock); - $apps = $preferences->getUsers(); - $this->assertEquals(array('foo'), $apps); - } - - public function testSetValue() - { - $connectionMock = $this->getMock('\OC\DB\Connection', array(), array(), '', false); - $connectionMock->expects($this->exactly(2)) - ->method('fetchColumn') - ->with($this->equalTo('SELECT `configvalue` FROM `*PREFIX*preferences`' - .' WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'), - $this->equalTo(array('grg', 'bar', 'foo'))) - ->will($this->onConsecutiveCalls(false, 'v1')); - $connectionMock->expects($this->once()) - ->method('insert') - ->with($this->equalTo('*PREFIX*preferences'), - $this->equalTo( - array( - 'userid' => 'grg', - 'appid' => 'bar', - 'configkey' => 'foo', - 'configvalue' => 'v1', - ) - )); - $connectionMock->expects($this->once()) - ->method('executeUpdate') - ->with($this->equalTo("UPDATE `*PREFIX*preferences` SET `configvalue` = ?" - . " WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?"), - $this->equalTo(array('v2', 'grg', 'bar', 'foo')) - ); - - $preferences = new OC\Preferences($connectionMock); - $preferences->setValue('grg', 'bar', 'foo', 'v1'); - $preferences->setValue('grg', 'bar', 'foo', 'v2'); - } - - public function testSetValueUnchanged() { - $connectionMock = $this->getMock('\OC\DB\Connection', array(), array(), '', false); - $connectionMock->expects($this->exactly(3)) - ->method('fetchColumn') - ->with($this->equalTo('SELECT `configvalue` FROM `*PREFIX*preferences`' - .' WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'), - $this->equalTo(array('grg', 'bar', 'foo'))) - ->will($this->onConsecutiveCalls(false, 'v1', 'v1')); - $connectionMock->expects($this->once()) - ->method('insert') - ->with($this->equalTo('*PREFIX*preferences'), - $this->equalTo( - array( - 'userid' => 'grg', - 'appid' => 'bar', - 'configkey' => 'foo', - 'configvalue' => 'v1', - ) - )); - $connectionMock->expects($this->never()) - ->method('executeUpdate'); - - $preferences = new OC\Preferences($connectionMock); - $preferences->setValue('grg', 'bar', 'foo', 'v1'); - $preferences->setValue('grg', 'bar', 'foo', 'v1'); - $preferences->setValue('grg', 'bar', 'foo', 'v1'); - } - - public function testSetValueUnchanged2() { - $connectionMock = $this->getMock('\OC\DB\Connection', array(), array(), '', false); - $connectionMock->expects($this->exactly(3)) - ->method('fetchColumn') - ->with($this->equalTo('SELECT `configvalue` FROM `*PREFIX*preferences`' - .' WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?'), - $this->equalTo(array('grg', 'bar', 'foo'))) - ->will($this->onConsecutiveCalls(false, 'v1', 'v2')); - $connectionMock->expects($this->once()) - ->method('insert') - ->with($this->equalTo('*PREFIX*preferences'), - $this->equalTo( - array( - 'userid' => 'grg', - 'appid' => 'bar', - 'configkey' => 'foo', - 'configvalue' => 'v1', - ) - )); - $connectionMock->expects($this->once()) - ->method('executeUpdate') - ->with($this->equalTo("UPDATE `*PREFIX*preferences` SET `configvalue` = ?" - . " WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?"), - $this->equalTo(array('v2', 'grg', 'bar', 'foo')) - ); - - $preferences = new OC\Preferences($connectionMock); - $preferences->setValue('grg', 'bar', 'foo', 'v1'); - $preferences->setValue('grg', 'bar', 'foo', 'v2'); - $preferences->setValue('grg', 'bar', 'foo', 'v2'); - } - - public function testGetUserValues() - { - $query = \OC_DB::prepare('INSERT INTO `*PREFIX*preferences` VALUES(?, ?, ?, ?)'); - $query->execute(array('SomeUser', 'testGetUserValues', 'somekey', 'somevalue')); - $query->execute(array('AnotherUser', 'testGetUserValues', 'somekey', 'someothervalue')); - $query->execute(array('AUser', 'testGetUserValues', 'somekey', 'somevalue')); - - $preferences = new OC\Preferences(\OC_DB::getConnection()); - $users = array('SomeUser', 'AnotherUser', 'NoValueSet'); - - $values = $preferences->getValueForUsers('testGetUserValues', 'somekey', $users); - $this->assertUserValues($values); - - // Add a lot of users so the array is chunked - for ($i = 1; $i <= 75; $i++) { - array_unshift($users, 'NoValueBefore#' . $i); - array_push($users, 'NoValueAfter#' . $i); - } - - $values = $preferences->getValueForUsers('testGetUserValues', 'somekey', $users); - $this->assertUserValues($values); - - // Clean DB after the test - $query = \OC_DB::prepare('DELETE FROM `*PREFIX*preferences` WHERE `appid` = ?'); - $query->execute(array('testGetUserValues')); - } - - protected function assertUserValues($values) { - $this->assertEquals(2, sizeof($values)); - - $this->assertArrayHasKey('SomeUser', $values); - $this->assertEquals('somevalue', $values['SomeUser']); - - $this->assertArrayHasKey('AnotherUser', $values); - $this->assertEquals('someothervalue', $values['AnotherUser']); - } - - public function testGetValueUsers() - { - // Prepare data - $query = \OC_DB::prepare('INSERT INTO `*PREFIX*preferences` VALUES(?, ?, ?, ?)'); - $query->execute(array('SomeUser', 'testGetUsersForValue', 'somekey', 'somevalue')); - $query->execute(array('AnotherUser', 'testGetUsersForValue', 'somekey', 'someothervalue')); - $query->execute(array('AUser', 'testGetUsersForValue', 'somekey', 'somevalue')); - - $preferences = new OC\Preferences(\OC_DB::getConnection()); - $result = $preferences->getUsersForValue('testGetUsersForValue', 'somekey', 'somevalue'); - sort($result); - $this->assertEquals(array('AUser', 'SomeUser'), $result); - - // Clean DB after the test - $query = \OC_DB::prepare('DELETE FROM `*PREFIX*preferences` WHERE `appid` = ?'); - $query->execute(array('testGetUsersForValue')); - } - - public function testDeleteKey() - { - $connectionMock = $this->getMock('\OC\DB\Connection', array(), array(), '', false); - $connectionMock->expects($this->once()) - ->method('delete') - ->with($this->equalTo('*PREFIX*preferences'), - $this->equalTo( - array( - 'userid' => 'grg', - 'appid' => 'bar', - 'configkey' => 'foo', - ) - )); - - $preferences = new OC\Preferences($connectionMock); - $preferences->deleteKey('grg', 'bar', 'foo'); - } - - public function testDeleteApp() - { - $connectionMock = $this->getMock('\OC\DB\Connection', array(), array(), '', false); - $connectionMock->expects($this->once()) - ->method('delete') - ->with($this->equalTo('*PREFIX*preferences'), - $this->equalTo( - array( - 'userid' => 'grg', - 'appid' => 'bar', - ) - )); - - $preferences = new OC\Preferences($connectionMock); - $preferences->deleteApp('grg', 'bar'); - } - - public function testDeleteUser() - { - $connectionMock = $this->getMock('\OC\DB\Connection', array(), array(), '', false); - $connectionMock->expects($this->once()) - ->method('delete') - ->with($this->equalTo('*PREFIX*preferences'), - $this->equalTo( - array( - 'userid' => 'grg', - ) - )); - - $preferences = new OC\Preferences($connectionMock); - $preferences->deleteUser('grg'); - } - - public function testDeleteAppFromAllUsers() - { - $connectionMock = $this->getMock('\OC\DB\Connection', array(), array(), '', false); - $connectionMock->expects($this->once()) - ->method('delete') - ->with($this->equalTo('*PREFIX*preferences'), - $this->equalTo( - array( - 'appid' => 'bar', - ) - )); - - $preferences = new OC\Preferences($connectionMock); - $preferences->deleteAppFromAllUsers('bar'); - } -} diff --git a/tests/lib/user/session.php b/tests/lib/user/session.php index 8d9d024197c..aa1ea5841c0 100644 --- a/tests/lib/user/session.php +++ b/tests/lib/user/session.php @@ -234,7 +234,7 @@ class Session extends \Test\TestCase { //prepare login token $token = 'goodToken'; - \OC_Preferences::setValue('foo', 'login_token', $token, time()); + \OC::$server->getConfig()->setUserValue('foo', 'login_token', $token, time()); $userSession = $this->getMock( '\OC\User\Session', @@ -282,7 +282,7 @@ class Session extends \Test\TestCase { //prepare login token $token = 'goodToken'; - \OC_Preferences::setValue('foo', 'login_token', $token, time()); + \OC::$server->getConfig()->setUserValue('foo', 'login_token', $token, time()); $userSession = new \OC\User\Session($manager, $session); $granted = $userSession->loginWithCookie('foo', 'badToken'); @@ -323,7 +323,7 @@ class Session extends \Test\TestCase { //prepare login token $token = 'goodToken'; - \OC_Preferences::setValue('foo', 'login_token', $token, time()); + \OC::$server->getConfig()->setUserValue('foo', 'login_token', $token, time()); $userSession = new \OC\User\Session($manager, $session); $granted = $userSession->loginWithCookie('foo', $token); diff --git a/tests/lib/user/user.php b/tests/lib/user/user.php index 6aa7243a75a..a940d6eb627 100644 --- a/tests/lib/user/user.php +++ b/tests/lib/user/user.php @@ -9,7 +9,6 @@ namespace Test\User; -use OC\AllConfig; use OC\Hooks\PublicEmitter; class User extends \Test\TestCase { @@ -228,10 +227,19 @@ class User extends \Test\TestCase { ->method('implementsActions') ->will($this->returnValue(false)); - $allConfig = new AllConfig(); + $allConfig = $this->getMockBuilder('\OCP\IConfig') + ->disableOriginalConstructor() + ->getMock(); + $allConfig->expects($this->any()) + ->method('getUserValue') + ->will($this->returnValue(true)); + $allConfig->expects($this->any()) + ->method('getSystemValue') + ->with($this->equalTo('datadirectory')) + ->will($this->returnValue('arbitrary/path')); $user = new \OC\User\User('foo', $backend, null, $allConfig); - $this->assertEquals(\OC_Config::getValue("datadirectory", \OC::$SERVERROOT . "/data") . '/foo', $user->getHome()); + $this->assertEquals('arbitrary/path/foo', $user->getHome()); } public function testCanChangePassword() { diff --git a/tests/lib/util.php b/tests/lib/util.php index 1ddbd2aba2b..3bb4b47c09c 100644 --- a/tests/lib/util.php +++ b/tests/lib/util.php @@ -152,7 +152,7 @@ class Test_Util extends \Test\TestCase { function testHomeStorageWrapperWithoutQuota() { $user1 = $this->getUniqueID(); \OC_User::createUser($user1, 'test'); - OC_Preferences::setValue($user1, 'files', 'quota', 'none'); + \OC::$server->getConfig()->setUserValue($user1, 'files', 'quota', 'none'); \OC_User::setUserId($user1); \OC_Util::setupFS($user1); @@ -164,7 +164,7 @@ class Test_Util extends \Test\TestCase { // clean up \OC_User::setUserId(''); \OC_User::deleteUser($user1); - OC_Preferences::deleteUser($user1); + \OC::$server->getConfig()->deleteAllUserValues($user1); \OC_Util::tearDownFS(); } @@ -174,7 +174,7 @@ class Test_Util extends \Test\TestCase { function testHomeStorageWrapperWithQuota() { $user1 = $this->getUniqueID(); \OC_User::createUser($user1, 'test'); - OC_Preferences::setValue($user1, 'files', 'quota', '1024'); + \OC::$server->getConfig()->setUserValue($user1, 'files', 'quota', '1024'); \OC_User::setUserId($user1); \OC_Util::setupFS($user1); @@ -191,7 +191,7 @@ class Test_Util extends \Test\TestCase { // clean up \OC_User::setUserId(''); \OC_User::deleteUser($user1); - OC_Preferences::deleteUser($user1); + \OC::$server->getConfig()->deleteAllUserValues($user1); \OC_Util::tearDownFS(); } diff --git a/tests/settings/controller/groupscontrollertest.php b/tests/settings/controller/groupscontrollertest.php new file mode 100644 index 00000000000..4b6c9d02566 --- /dev/null +++ b/tests/settings/controller/groupscontrollertest.php @@ -0,0 +1,246 @@ +<?php +/** + * @author Lukas Reschke + * @copyright 2014 Lukas Reschke lukas@owncloud.com + * + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ +namespace OC\Settings\Controller; + +use OC\Group\Group; +use \OC\Settings\Application; +use OCP\AppFramework\Http; +use OCP\AppFramework\Http\DataResponse; + +/** + * @package OC\Settings\Controller + */ +class GroupsControllerTest extends \Test\TestCase { + + /** @var \OCP\AppFramework\IAppContainer */ + private $container; + + /** @var GroupsController */ + private $groupsController; + + protected function setUp() { + $app = new Application(); + $this->container = $app->getContainer(); + $this->container['AppName'] = 'settings'; + $this->container['GroupManager'] = $this->getMockBuilder('\OCP\IGroupManager') + ->disableOriginalConstructor()->getMock(); + $this->container['UserSession'] = $this->getMockBuilder('\OC\User\Session') + ->disableOriginalConstructor()->getMock(); + $this->container['L10N'] = $this->getMockBuilder('\OCP\IL10N') + ->disableOriginalConstructor()->getMock(); + $this->container['IsAdmin'] = true; + $this->container['L10N'] + ->expects($this->any()) + ->method('t') + ->will($this->returnCallback(function($text, $parameters = array()) { + return vsprintf($text, $parameters); + })); + $this->groupsController = $this->container['GroupsController']; + + } + + /** + * TODO: Since GroupManager uses the static OC_Subadmin class it can't be mocked + * to test for subadmins. Thus the test always assumes you have admin permissions... + */ + public function testIndex() { + $firstGroup = $this->getMockBuilder('\OC\Group\Group') + ->disableOriginalConstructor()->getMock(); + $firstGroup + ->method('getGID') + ->will($this->returnValue('firstGroup')); + $firstGroup + ->method('count') + ->will($this->returnValue(12)); + $secondGroup = $this->getMockBuilder('\OC\Group\Group') + ->disableOriginalConstructor()->getMock(); + $secondGroup + ->method('getGID') + ->will($this->returnValue('secondGroup')); + $secondGroup + ->method('count') + ->will($this->returnValue(25)); + $thirdGroup = $this->getMockBuilder('\OC\Group\Group') + ->disableOriginalConstructor()->getMock(); + $thirdGroup + ->method('getGID') + ->will($this->returnValue('thirdGroup')); + $thirdGroup + ->method('count') + ->will($this->returnValue(14)); + $fourthGroup = $this->getMockBuilder('\OC\Group\Group') + ->disableOriginalConstructor()->getMock(); + $fourthGroup + ->method('getGID') + ->will($this->returnValue('admin')); + $fourthGroup + ->method('count') + ->will($this->returnValue(18)); + /** @var \OC\Group\Group[] $groups */ + $groups = array(); + $groups[] = $firstGroup; + $groups[] = $secondGroup; + $groups[] = $thirdGroup; + $groups[] = $fourthGroup; + + $user = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $this->container['UserSession'] + ->expects($this->once()) + ->method('getUser') + ->will($this->returnValue($user)); + $user + ->expects($this->once()) + ->method('getUID') + ->will($this->returnValue('MyAdminUser')); + $this->container['GroupManager'] + ->method('search') + ->will($this->returnValue($groups)); + + $expectedResponse = new DataResponse( + array( + 'data' => array( + 'adminGroups' => array( + 0 => array( + 'id' => 'admin', + 'name' => 'admin', + 'usercount' => 18 + ) + ), + 'groups' => + array( + 0 => array( + 'id' => 'secondGroup', + 'name' => 'secondGroup', + 'usercount' => 25 + ), + 1 => array( + 'id' => 'thirdGroup', + 'name' => 'thirdGroup', + 'usercount' => 14 + ), + 2 => array( + 'id' => 'firstGroup', + 'name' => 'firstGroup', + 'usercount' => 12 + ) + ) + ) + ) + ); + $response = $this->groupsController->index(); + $this->assertEquals($expectedResponse, $response); + } + + public function testCreateWithExistingGroup() { + $this->container['GroupManager'] + ->expects($this->once()) + ->method('groupExists') + ->with('ExistingGroup') + ->will($this->returnValue(true)); + + $expectedResponse = new DataResponse( + array( + 'message' => 'Group already exists.' + ), + Http::STATUS_CONFLICT + ); + $response = $this->groupsController->create('ExistingGroup'); + $this->assertEquals($expectedResponse, $response); + } + + public function testCreateSuccessful() { + $this->container['GroupManager'] + ->expects($this->once()) + ->method('groupExists') + ->with('NewGroup') + ->will($this->returnValue(false)); + $this->container['GroupManager'] + ->expects($this->once()) + ->method('createGroup') + ->with('NewGroup') + ->will($this->returnValue(true)); + + $expectedResponse = new DataResponse( + array( + 'groupname' => 'NewGroup' + ), + Http::STATUS_CREATED + ); + $response = $this->groupsController->create('NewGroup'); + $this->assertEquals($expectedResponse, $response); + } + + public function testCreateUnsuccessful() { + $this->container['GroupManager'] + ->expects($this->once()) + ->method('groupExists') + ->with('NewGroup') + ->will($this->returnValue(false)); + $this->container['GroupManager'] + ->expects($this->once()) + ->method('createGroup') + ->with('NewGroup') + ->will($this->returnValue(false)); + + $expectedResponse = new DataResponse( + array( + 'status' => 'error', + 'data' => array('message' => 'Unable to add group.') + ), + Http::STATUS_FORBIDDEN + ); + $response = $this->groupsController->create('NewGroup'); + $this->assertEquals($expectedResponse, $response); + } + + public function testDestroySuccessful() { + $group = $this->getMockBuilder('\OC\Group\Group') + ->disableOriginalConstructor()->getMock(); + $this->container['GroupManager'] + ->expects($this->once()) + ->method('get') + ->with('ExistingGroup') + ->will($this->returnValue($group)); + $group + ->expects($this->once()) + ->method('delete') + ->will($this->returnValue(true)); + + $expectedResponse = new DataResponse( + array( + 'status' => 'success', + 'data' => array('groupname' => 'ExistingGroup') + ), + Http::STATUS_NO_CONTENT + ); + $response = $this->groupsController->destroy('ExistingGroup'); + $this->assertEquals($expectedResponse, $response); + } + + public function testDestroyUnsuccessful() { + $this->container['GroupManager'] + ->expects($this->once()) + ->method('get') + ->with('ExistingGroup') + ->will($this->returnValue(null)); + + $expectedResponse = new DataResponse( + array( + 'status' => 'error', + 'data' => array('message' => 'Unable to delete group.') + ), + Http::STATUS_FORBIDDEN + ); + $response = $this->groupsController->destroy('ExistingGroup'); + $this->assertEquals($expectedResponse, $response); + } + +} diff --git a/tests/settings/controller/userscontrollertest.php b/tests/settings/controller/userscontrollertest.php new file mode 100644 index 00000000000..4b0683b6dae --- /dev/null +++ b/tests/settings/controller/userscontrollertest.php @@ -0,0 +1,344 @@ +<?php +/** + * @author Lukas Reschke + * @copyright 2014 Lukas Reschke lukas@owncloud.com + * + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ +namespace OC\Settings\Controller; + +use \OC\Settings\Application; +use OCP\AppFramework\Http; +use OCP\AppFramework\Http\DataResponse; + +/** + * @package OC\Settings\Controller + */ +class UsersControllerTest extends \Test\TestCase { + + /** @var \OCP\AppFramework\IAppContainer */ + private $container; + + /** @var UsersController */ + private $usersController; + + protected function setUp() { + $app = new Application(); + $this->container = $app->getContainer(); + $this->container['AppName'] = 'settings'; + $this->container['GroupManager'] = $this->getMockBuilder('\OCP\IGroupManager') + ->disableOriginalConstructor()->getMock(); + $this->container['UserManager'] = $this->getMockBuilder('\OCP\IUserManager') + ->disableOriginalConstructor()->getMock(); + $this->container['UserSession'] = $this->getMockBuilder('\OC\User\Session') + ->disableOriginalConstructor()->getMock(); + $this->container['L10N'] = $this->getMockBuilder('\OCP\IL10N') + ->disableOriginalConstructor()->getMock(); + $this->container['Config'] = $this->getMockBuilder('\OCP\IConfig') + ->disableOriginalConstructor()->getMock(); + $this->container['IsAdmin'] = true; + $this->container['L10N'] + ->expects($this->any()) + ->method('t') + ->will($this->returnCallback(function($text, $parameters = array()) { + return vsprintf($text, $parameters); + })); + $this->usersController = $this->container['UsersController']; + + } + + /** + * TODO: Since the function uses the static OC_Subadmin class it can't be mocked + * to test for subadmins. Thus the test always assumes you have admin permissions... + */ + public function testIndex() { + $admin = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $admin + ->method('getLastLogin') + ->will($this->returnValue(12)); + $admin + ->method('getHome') + ->will($this->returnValue('/home/admin')); + $foo = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $foo + ->method('getLastLogin') + ->will($this->returnValue(500)); + $foo + ->method('getHome') + ->will($this->returnValue('/home/foo')); + $bar = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $bar + ->method('getLastLogin') + ->will($this->returnValue(3999)); + $bar + ->method('getHome') + ->will($this->returnValue('/home/bar')); + + $this->container['GroupManager'] + ->expects($this->once()) + ->method('displayNamesInGroup') + ->will($this->returnValue(array('foo' => 'M. Foo', 'admin' => 'S. Admin', 'bar' => 'B. Ar'))); + $this->container['GroupManager'] + ->expects($this->exactly(3)) + ->method('getUserGroupIds') + ->will($this->onConsecutiveCalls(array('Users', 'Support'), array('admins', 'Support'), array('External Users'))); + $this->container['UserManager'] + ->expects($this->exactly(3)) + ->method('get') + ->will($this->onConsecutiveCalls($foo, $admin, $bar)); + $this->container['Config'] + ->expects($this->exactly(3)) + ->method('getUserValue') + ->will($this->onConsecutiveCalls(1024, 404, 2323)); + + $expectedResponse = new DataResponse( + array( + 'status' => 'success', + 'data' => array( + 0 => array( + 'name' => 'foo', + 'displayname' => 'M. Foo', + 'groups' => array('Users', 'Support'), + 'subadmin' => array(), + 'quota' => 1024, + 'storageLocation' => '/home/foo', + 'lastLogin' => 500 + ), + 1 => array( + 'name' => 'admin', + 'displayname' => 'S. Admin', + 'groups' => array('admins', 'Support'), + 'subadmin' => array(), + 'quota' => 404, + 'storageLocation' => '/home/admin', + 'lastLogin' => 12 + ), + 2 => array( + 'name' => 'bar', + 'displayname' => 'B. Ar', + 'groups' => array('External Users'), + 'subadmin' => array(), + 'quota' => 2323, + 'storageLocation' => '/home/bar', + 'lastLogin' => 3999 + ), + ) + ) + ); + $response = $this->usersController->index(0, 10, 'pattern'); + $this->assertEquals($expectedResponse, $response); + } + + /** + * TODO: Since the function uses the static OC_Subadmin class it can't be mocked + * to test for subadmins. Thus the test always assumes you have admin permissions... + */ + public function testCreateSuccessfulWithoutGroup() { + $user = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $user + ->method('getHome') + ->will($this->returnValue('/home/user')); + + $this->container['UserManager'] + ->expects($this->once()) + ->method('createUser') + ->will($this->onConsecutiveCalls($user)); + + + $expectedResponse = new DataResponse( + array( + 'username' => 'foo', + 'groups' => null, + 'storageLocation' => '/home/user' + ), + Http::STATUS_CREATED + ); + $response = $this->usersController->create('foo', 'password', array()); + $this->assertEquals($expectedResponse, $response); + } + + /** + * TODO: Since the function uses the static OC_Subadmin class it can't be mocked + * to test for subadmins. Thus the test always assumes you have admin permissions... + */ + public function testCreateSuccessfulWithGroup() { + $user = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $user + ->method('getHome') + ->will($this->returnValue('/home/user')); + $user + ->method('getHome') + ->will($this->returnValue('/home/user')); + $existingGroup = $this->getMockBuilder('\OCP\IGroup') + ->disableOriginalConstructor()->getMock(); + $existingGroup + ->expects($this->once()) + ->method('addUser') + ->with($user); + $newGroup = $this->getMockBuilder('\OCP\IGroup') + ->disableOriginalConstructor()->getMock(); + $newGroup + ->expects($this->once()) + ->method('addUser') + ->with($user); + + $this->container['UserManager'] + ->expects($this->once()) + ->method('createUser') + ->will($this->onConsecutiveCalls($user)); + $this->container['GroupManager'] + ->expects($this->exactly(2)) + ->method('get') + ->will($this->onConsecutiveCalls(null, $existingGroup)); + $this->container['GroupManager'] + ->expects($this->once()) + ->method('createGroup') + ->with('NewGroup') + ->will($this->onConsecutiveCalls($newGroup)); + $this->container['GroupManager'] + ->expects($this->once()) + ->method('getUserGroupIds') + ->with($user) + ->will($this->onConsecutiveCalls(array('NewGroup', 'ExistingGroup'))); + + $expectedResponse = new DataResponse( + array( + 'username' => 'foo', + 'groups' => array('NewGroup', 'ExistingGroup'), + 'storageLocation' => '/home/user' + ), + Http::STATUS_CREATED + ); + $response = $this->usersController->create('foo', 'password', array('NewGroup', 'ExistingGroup')); + $this->assertEquals($expectedResponse, $response); + } + + /** + * TODO: Since the function uses the static OC_Subadmin class it can't be mocked + * to test for subadmins. Thus the test always assumes you have admin permissions... + */ + public function testCreateUnsuccessful() { + $this->container['UserManager'] + ->method('createUser') + ->will($this->throwException(new \Exception())); + + $expectedResponse = new DataResponse( + array( + 'message' => 'Unable to create user.' + ), + Http::STATUS_FORBIDDEN + ); + $response = $this->usersController->create('foo', 'password', array()); + $this->assertEquals($expectedResponse, $response); + } + + /** + * TODO: Since the function uses the static OC_Subadmin class it can't be mocked + * to test for subadmins. Thus the test always assumes you have admin permissions... + */ + public function testDestroySelf() { + $user = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $user + ->expects($this->once()) + ->method('getUID') + ->will($this->returnValue('myself')); + $this->container['UserSession'] + ->method('getUser') + ->will($this->returnValue($user)); + + $expectedResponse = new DataResponse( + array( + 'status' => 'error', + 'data' => array( + 'message' => 'Unable to delete user.' + ) + ), + Http::STATUS_FORBIDDEN + ); + $response = $this->usersController->destroy('myself'); + $this->assertEquals($expectedResponse, $response); + } + + /** + * TODO: Since the function uses the static OC_Subadmin class it can't be mocked + * to test for subadmins. Thus the test always assumes you have admin permissions... + */ + public function testDestroy() { + $user = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $user + ->expects($this->once()) + ->method('getUID') + ->will($this->returnValue('Admin')); + $toDeleteUser = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $toDeleteUser + ->expects($this->once()) + ->method('delete') + ->will($this->returnValue(true)); + $this->container['UserSession'] + ->method('getUser') + ->will($this->returnValue($user)); + $this->container['UserManager'] + ->method('get') + ->with('UserToDelete') + ->will($this->returnValue($toDeleteUser)); + + $expectedResponse = new DataResponse( + array( + 'status' => 'success', + 'data' => array( + 'username' => 'UserToDelete' + ) + ), + Http::STATUS_NO_CONTENT + ); + $response = $this->usersController->destroy('UserToDelete'); + $this->assertEquals($expectedResponse, $response); + } + /** + * TODO: Since the function uses the static OC_Subadmin class it can't be mocked + * to test for subadmins. Thus the test always assumes you have admin permissions... + */ + public function testDestroyUnsuccessful() { + $user = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $user + ->expects($this->once()) + ->method('getUID') + ->will($this->returnValue('Admin')); + $toDeleteUser = $this->getMockBuilder('\OC\User\User') + ->disableOriginalConstructor()->getMock(); + $toDeleteUser + ->expects($this->once()) + ->method('delete') + ->will($this->returnValue(false)); + $this->container['UserSession'] + ->method('getUser') + ->will($this->returnValue($user)); + $this->container['UserManager'] + ->method('get') + ->with('UserToDelete') + ->will($this->returnValue($toDeleteUser)); + + $expectedResponse = new DataResponse( + array( + 'status' => 'error', + 'data' => array( + 'message' => 'Unable to delete user.' + ) + ), + Http::STATUS_FORBIDDEN + ); + $response = $this->usersController->destroy('UserToDelete'); + $this->assertEquals($expectedResponse, $response); + } +} diff --git a/tests/settings/middleware/subadminmiddlewaretest.php b/tests/settings/middleware/subadminmiddlewaretest.php new file mode 100644 index 00000000000..e5572cfba52 --- /dev/null +++ b/tests/settings/middleware/subadminmiddlewaretest.php @@ -0,0 +1,91 @@ +<?php +/** + * @author Lukas Reschke + * @copyright 2014 Lukas Reschke lukas@owncloud.com + * + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Settings\Middleware; + +use OC\AppFramework\Utility\ControllerMethodReflector; +use OCP\AppFramework\Controller; +use OCP\AppFramework\Http\TemplateResponse; + +/** + * Verifies whether an user has at least subadmin rights. + * To bypass use the `@NoSubadminRequired` annotation + * + * @package OC\Settings\Middleware + */ +class SubadminMiddlewareTest extends \Test\TestCase { + /** @var SubadminMiddleware */ + private $subadminMiddlewareAsSubAdmin; + /** @var SubadminMiddleware */ + private $subadminMiddleware; + /** @var ControllerMethodReflector */ + private $reflector; + /** @var Controller */ + private $controller; + + protected function setUp() { + $this->reflector = $this->getMockBuilder('\OC\AppFramework\Utility\ControllerMethodReflector') + ->disableOriginalConstructor()->getMock(); + $this->controller = $this->getMockBuilder('\OCP\AppFramework\Controller') + ->disableOriginalConstructor()->getMock(); + + $this->subadminMiddlewareAsSubAdmin = new SubadminMiddleware($this->reflector, true); + $this->subadminMiddleware = new SubadminMiddleware($this->reflector, false); + } + + /** + * @expectedException \Exception + * @expectedExceptionMessage Logged in user must be a subadmin + */ + public function testBeforeControllerAsUserWithExemption() { + $this->reflector + ->expects($this->once()) + ->method('hasAnnotation') + ->with('NoSubadminRequired') + ->will($this->returnValue(false)); + $this->subadminMiddleware->beforeController($this->controller, 'foo'); + } + + + public function testBeforeControllerAsUserWithoutExemption() { + $this->reflector + ->expects($this->once()) + ->method('hasAnnotation') + ->with('NoSubadminRequired') + ->will($this->returnValue(true)); + $this->subadminMiddleware->beforeController($this->controller, 'foo'); + } + + public function testBeforeControllerAsSubAdminWithoutExemption() { + $this->reflector + ->expects($this->once()) + ->method('hasAnnotation') + ->with('NoSubadminRequired') + ->will($this->returnValue(false)); + $this->subadminMiddlewareAsSubAdmin->beforeController($this->controller, 'foo'); + } + + public function testBeforeControllerAsSubAdminWithExemption() { + $this->reflector + ->expects($this->once()) + ->method('hasAnnotation') + ->with('NoSubadminRequired') + ->will($this->returnValue(true)); + $this->subadminMiddlewareAsSubAdmin->beforeController($this->controller, 'foo'); + } + + + + + public function testAfterException() { + $expectedResponse = new TemplateResponse('core', '403', array(), 'guest'); + $this->assertEquals($expectedResponse, $this->subadminMiddleware->afterException($this->controller, 'foo', new \Exception())); + } +}
\ No newline at end of file |