mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Merge branch 'master' into appframework-master
This commit is contained in:
commit
ad82a56f79
214 changed files with 5087 additions and 1077 deletions
|
|
@ -10,36 +10,38 @@ OCP\JSON::checkLoggedIn();
|
|||
|
||||
// Load the files
|
||||
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
|
||||
|
||||
if (!\OC\Files\Filesystem::is_dir($dir . '/')) {
|
||||
header("HTTP/1.0 404 Not Found");
|
||||
exit();
|
||||
}
|
||||
|
||||
$doBreadcrumb = isset($_GET['breadcrumb']);
|
||||
$data = array();
|
||||
$baseUrl = OCP\Util::linkTo('files', 'index.php') . '?dir=';
|
||||
|
||||
$permissions = \OCA\files\lib\Helper::getDirPermissions($dir);
|
||||
|
||||
// Make breadcrumb
|
||||
if($doBreadcrumb) {
|
||||
$breadcrumb = array();
|
||||
$pathtohere = "/";
|
||||
foreach( explode( "/", $dir ) as $i ) {
|
||||
if( $i != "" ) {
|
||||
$pathtohere .= "$i/";
|
||||
$breadcrumb[] = array( "dir" => $pathtohere, "name" => $i );
|
||||
}
|
||||
}
|
||||
$breadcrumb = \OCA\files\lib\Helper::makeBreadcrumb($dir);
|
||||
|
||||
$breadcrumbNav = new OCP\Template( "files", "part.breadcrumb", "" );
|
||||
$breadcrumbNav->assign( "breadcrumb", $breadcrumb, false );
|
||||
$breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
|
||||
$breadcrumbNav->assign('breadcrumb', $breadcrumb, false);
|
||||
$breadcrumbNav->assign('baseURL', $baseUrl);
|
||||
|
||||
$data['breadcrumb'] = $breadcrumbNav->fetchPage();
|
||||
}
|
||||
|
||||
// make filelist
|
||||
$files = array();
|
||||
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $i ) {
|
||||
$i["date"] = OCP\Util::formatDate($i["mtime"] );
|
||||
$i['icon'] = \OCA\files\lib\Helper::determineIcon($i);
|
||||
$files[] = $i;
|
||||
}
|
||||
$files = \OCA\files\lib\Helper::getFiles($dir);
|
||||
|
||||
$list = new OCP\Template( "files", "part.list", "" );
|
||||
$list->assign( "files", $files, false );
|
||||
$data = array('files' => $list->fetchPage());
|
||||
$list = new OCP\Template("files", "part.list", "");
|
||||
$list->assign('files', $files, false);
|
||||
$list->assign('baseURL', $baseUrl, false);
|
||||
$list->assign('downloadURL', OCP\Util::linkToRoute('download', array('file' => '/')));
|
||||
$list->assign('isPublic', false);
|
||||
$data['files'] = $list->fetchPage();
|
||||
$data['permissions'] = $permissions;
|
||||
|
||||
OCP\JSON::success(array('data' => $data));
|
||||
|
|
|
|||
|
|
@ -25,8 +25,10 @@ $files = array();
|
|||
// If a type other than directory is requested first load them.
|
||||
if($mimetypes && !in_array('httpd/unix-directory', $mimetypes)) {
|
||||
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, 'httpd/unix-directory' ) as $file ) {
|
||||
$file['directory'] = $dir;
|
||||
$file['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($file['mimetype']);
|
||||
$file["date"] = OCP\Util::formatDate($file["mtime"]);
|
||||
$file['mimetype_icon'] = \mimetype_icon('dir');
|
||||
$file['mimetype_icon'] = \OCA\files\lib\Helper::determineIcon($file);
|
||||
$files[] = $file;
|
||||
}
|
||||
}
|
||||
|
|
@ -34,23 +36,19 @@ if($mimetypes && !in_array('httpd/unix-directory', $mimetypes)) {
|
|||
if (is_array($mimetypes) && count($mimetypes)) {
|
||||
foreach ($mimetypes as $mimetype) {
|
||||
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, $mimetype ) as $file ) {
|
||||
$file['directory'] = $dir;
|
||||
$file['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($file['mimetype']);
|
||||
$file["date"] = OCP\Util::formatDate($file["mtime"]);
|
||||
if ($file['type'] === "dir") {
|
||||
$file['mimetype_icon'] = \mimetype_icon('dir');
|
||||
} else {
|
||||
$file['mimetype_icon'] = \mimetype_icon($file['mimetype']);
|
||||
}
|
||||
$file['mimetype_icon'] = \OCA\files\lib\Helper::determineIcon($file);
|
||||
$files[] = $file;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $file ) {
|
||||
$file['directory'] = $dir;
|
||||
$file['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($file['mimetype']);
|
||||
$file["date"] = OCP\Util::formatDate($file["mtime"]);
|
||||
if ($file['type'] === "dir") {
|
||||
$file['mimetype_icon'] = \mimetype_icon('dir');
|
||||
} else {
|
||||
$file['mimetype_icon'] = \mimetype_icon($file['mimetype']);
|
||||
}
|
||||
$file['mimetype_icon'] = \OCA\files\lib\Helper::determineIcon($file);
|
||||
$files[] = $file;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -336,3 +336,25 @@ table.dragshadow td.size {
|
|||
text-align: center;
|
||||
margin-left: -200px;
|
||||
}
|
||||
.mask {
|
||||
z-index: 50;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: white;
|
||||
background-repeat: no-repeat no-repeat;
|
||||
background-position: 50%;
|
||||
opacity: 0.7;
|
||||
filter: alpha(opacity=70);
|
||||
transition: opacity 100ms;
|
||||
-moz-transition: opacity 100ms;
|
||||
-o-transition: opacity 100ms;
|
||||
-ms-transition: opacity 100ms;
|
||||
-webkit-transition: opacity 100ms;
|
||||
}
|
||||
.mask.transparent{
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,80 +41,58 @@ if (!\OC\Files\Filesystem::is_dir($dir . '/')) {
|
|||
exit();
|
||||
}
|
||||
|
||||
function fileCmp($a, $b) {
|
||||
if ($a['type'] == 'dir' and $b['type'] != 'dir') {
|
||||
return -1;
|
||||
} elseif ($a['type'] != 'dir' and $b['type'] == 'dir') {
|
||||
return 1;
|
||||
} else {
|
||||
return strnatcasecmp($a['name'], $b['name']);
|
||||
}
|
||||
$isIE8 = false;
|
||||
preg_match('/MSIE (.*?);/', $_SERVER['HTTP_USER_AGENT'], $matches);
|
||||
if (count($matches) > 0 && $matches[1] <= 8){
|
||||
$isIE8 = true;
|
||||
}
|
||||
|
||||
// if IE8 and "?dir=path" was specified, reformat the URL to use a hash like "#?dir=path"
|
||||
if ($isIE8 && isset($_GET['dir'])){
|
||||
if ($dir === ''){
|
||||
$dir = '/';
|
||||
}
|
||||
header('Location: ' . OCP\Util::linkTo('files', 'index.php') . '#?dir=' . \OCP\Util::encodePath($dir));
|
||||
exit();
|
||||
}
|
||||
|
||||
$ajaxLoad = false;
|
||||
$files = array();
|
||||
$user = OC_User::getUser();
|
||||
if (\OC\Files\Cache\Upgrade::needUpgrade($user)) { //dont load anything if we need to upgrade the cache
|
||||
$content = array();
|
||||
$needUpgrade = true;
|
||||
$freeSpace = 0;
|
||||
} else {
|
||||
$content = \OC\Files\Filesystem::getDirectoryContent($dir);
|
||||
if ($isIE8){
|
||||
// after the redirect above, the URL will have a format
|
||||
// like "files#?dir=path" which means that no path was given
|
||||
// (dir is not set). In that specific case, we don't return any
|
||||
// files because the client will take care of switching the dir
|
||||
// to the one from the hash, then ajax-load the initial file list
|
||||
$files = array();
|
||||
$ajaxLoad = true;
|
||||
}
|
||||
else{
|
||||
$files = \OCA\files\lib\Helper::getFiles($dir);
|
||||
}
|
||||
$freeSpace = \OC\Files\Filesystem::free_space($dir);
|
||||
$needUpgrade = false;
|
||||
}
|
||||
foreach ($content as $i) {
|
||||
$i['date'] = OCP\Util::formatDate($i['mtime']);
|
||||
if ($i['type'] == 'file') {
|
||||
$fileinfo = pathinfo($i['name']);
|
||||
$i['basename'] = $fileinfo['filename'];
|
||||
if (!empty($fileinfo['extension'])) {
|
||||
$i['extension'] = '.' . $fileinfo['extension'];
|
||||
} else {
|
||||
$i['extension'] = '';
|
||||
}
|
||||
}
|
||||
$i['directory'] = $dir;
|
||||
$i['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($i['mimetype']);
|
||||
$i['icon'] = \OCA\files\lib\Helper::determineIcon($i);
|
||||
$files[] = $i;
|
||||
}
|
||||
|
||||
usort($files, "fileCmp");
|
||||
|
||||
// Make breadcrumb
|
||||
$breadcrumb = array();
|
||||
$pathtohere = '';
|
||||
foreach (explode('/', $dir) as $i) {
|
||||
if ($i != '') {
|
||||
$pathtohere .= '/' . $i;
|
||||
$breadcrumb[] = array('dir' => $pathtohere, 'name' => $i);
|
||||
}
|
||||
}
|
||||
$breadcrumb = \OCA\files\lib\Helper::makeBreadcrumb($dir);
|
||||
|
||||
// make breadcrumb und filelist markup
|
||||
$list = new OCP\Template('files', 'part.list', '');
|
||||
$list->assign('files', $files);
|
||||
$list->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=');
|
||||
$list->assign('downloadURL', OCP\Util::linkToRoute('download', array('file' => '/')));
|
||||
$list->assign('disableSharing', false);
|
||||
$list->assign('isPublic', false);
|
||||
$breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
|
||||
$breadcrumbNav->assign('breadcrumb', $breadcrumb);
|
||||
$breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=');
|
||||
|
||||
$permissions = OCP\PERMISSION_READ;
|
||||
if (\OC\Files\Filesystem::isCreatable($dir . '/')) {
|
||||
$permissions |= OCP\PERMISSION_CREATE;
|
||||
}
|
||||
if (\OC\Files\Filesystem::isUpdatable($dir . '/')) {
|
||||
$permissions |= OCP\PERMISSION_UPDATE;
|
||||
}
|
||||
if (\OC\Files\Filesystem::isDeletable($dir . '/')) {
|
||||
$permissions |= OCP\PERMISSION_DELETE;
|
||||
}
|
||||
if (\OC\Files\Filesystem::isSharable($dir . '/')) {
|
||||
$permissions |= OCP\PERMISSION_SHARE;
|
||||
}
|
||||
$permissions = \OCA\files\lib\Helper::getDirPermissions($dir);
|
||||
|
||||
if ($needUpgrade) {
|
||||
OCP\Util::addscript('files', 'upgrade');
|
||||
|
|
@ -154,5 +132,7 @@ if ($needUpgrade) {
|
|||
$tmpl->assign('isPublic', false);
|
||||
$tmpl->assign('publicUploadEnabled', $publicUploadEnabled);
|
||||
$tmpl->assign("encryptedFiles", \OCP\Util::encryptedFiles());
|
||||
$tmpl->assign('disableSharing', false);
|
||||
$tmpl->assign('ajaxLoad', $ajaxLoad);
|
||||
$tmpl->printPage();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,13 +196,12 @@ FileActions.register('all', 'Rename', OC.PERMISSION_UPDATE, function () {
|
|||
FileList.rename(filename);
|
||||
});
|
||||
|
||||
|
||||
FileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename) {
|
||||
var dir = $('#dir').val();
|
||||
var dir = $('#dir').val() || '/';
|
||||
if (dir !== '/') {
|
||||
dir = dir + '/';
|
||||
}
|
||||
window.location = OC.linkTo('files', 'index.php') + '?dir=' + encodeURIComponent(dir + filename);
|
||||
FileList.changeDirectory(dir + filename);
|
||||
});
|
||||
|
||||
FileActions.setDefault('dir', 'Open');
|
||||
|
|
|
|||
|
|
@ -1,7 +1,28 @@
|
|||
var FileList={
|
||||
useUndo:true,
|
||||
postProcessList: function(){
|
||||
$('#fileList tr').each(function(){
|
||||
//little hack to set unescape filenames in attribute
|
||||
$(this).attr('data-file',decodeURIComponent($(this).attr('data-file')));
|
||||
});
|
||||
},
|
||||
update:function(fileListHtml) {
|
||||
$('#fileList').empty().html(fileListHtml);
|
||||
var $fileList = $('#fileList'),
|
||||
permissions = $('#permissions').val(),
|
||||
isCreatable = (permissions & OC.PERMISSION_CREATE) !== 0;
|
||||
$fileList.empty().html(fileListHtml);
|
||||
$('#emptycontent').toggleClass('hidden', !isCreatable || $fileList.find('tr').length > 0);
|
||||
$fileList.find('tr').each(function () {
|
||||
FileActions.display($(this).children('td.filename'));
|
||||
});
|
||||
$fileList.trigger(jQuery.Event("fileActionsReady"));
|
||||
FileList.postProcessList();
|
||||
// "Files" might not be loaded in extending apps
|
||||
if (window.Files){
|
||||
Files.setupDragAndDrop();
|
||||
}
|
||||
FileList.updateFileSummary();
|
||||
$fileList.trigger(jQuery.Event("updated"));
|
||||
},
|
||||
createRow:function(type, name, iconurl, linktarget, size, lastModified, permissions){
|
||||
var td, simpleSize, basename, extension;
|
||||
|
|
@ -134,20 +155,109 @@ var FileList={
|
|||
FileActions.display(tr.find('td.filename'));
|
||||
return tr;
|
||||
},
|
||||
refresh:function(data) {
|
||||
var result = jQuery.parseJSON(data.responseText);
|
||||
if(typeof(result.data.breadcrumb) != 'undefined'){
|
||||
updateBreadcrumb(result.data.breadcrumb);
|
||||
/**
|
||||
* @brief Changes the current directory and reload the file list.
|
||||
* @param targetDir target directory (non URL encoded)
|
||||
* @param changeUrl false if the URL must not be changed (defaults to true)
|
||||
*/
|
||||
changeDirectory: function(targetDir, changeUrl, force){
|
||||
var $dir = $('#dir'),
|
||||
url,
|
||||
currentDir = $dir.val() || '/';
|
||||
targetDir = targetDir || '/';
|
||||
if (!force && currentDir === targetDir){
|
||||
return;
|
||||
}
|
||||
FileList.setCurrentDir(targetDir, changeUrl);
|
||||
FileList.reload();
|
||||
},
|
||||
linkTo: function(dir){
|
||||
return OC.linkTo('files', 'index.php')+"?dir="+ encodeURIComponent(dir).replace(/%2F/g, '/');
|
||||
},
|
||||
setCurrentDir: function(targetDir, changeUrl){
|
||||
$('#dir').val(targetDir);
|
||||
if (changeUrl !== false){
|
||||
if (window.history.pushState && changeUrl !== false){
|
||||
url = FileList.linkTo(targetDir);
|
||||
window.history.pushState({dir: targetDir}, '', url);
|
||||
}
|
||||
// use URL hash for IE8
|
||||
else{
|
||||
window.location.hash = '?dir='+ encodeURIComponent(targetDir).replace(/%2F/g, '/');
|
||||
}
|
||||
}
|
||||
},
|
||||
/**
|
||||
* @brief Reloads the file list using ajax call
|
||||
*/
|
||||
reload: function(){
|
||||
FileList.showMask();
|
||||
if (FileList._reloadCall){
|
||||
FileList._reloadCall.abort();
|
||||
}
|
||||
FileList._reloadCall = $.ajax({
|
||||
url: OC.filePath('files','ajax','list.php'),
|
||||
data: {
|
||||
dir : $('#dir').val(),
|
||||
breadcrumb: true
|
||||
},
|
||||
error: function(result){
|
||||
FileList.reloadCallback(result);
|
||||
},
|
||||
success: function(result) {
|
||||
FileList.reloadCallback(result);
|
||||
}
|
||||
});
|
||||
},
|
||||
reloadCallback: function(result){
|
||||
var $controls = $('#controls');
|
||||
|
||||
delete FileList._reloadCall;
|
||||
FileList.hideMask();
|
||||
|
||||
if (!result || result.status === 'error') {
|
||||
OC.Notification.show(result.data.message);
|
||||
return;
|
||||
}
|
||||
|
||||
if (result.status === 404){
|
||||
// go back home
|
||||
FileList.changeDirectory('/');
|
||||
return;
|
||||
}
|
||||
|
||||
if (result.data.permissions){
|
||||
FileList.setDirectoryPermissions(result.data.permissions);
|
||||
}
|
||||
|
||||
if(typeof(result.data.breadcrumb) != 'undefined'){
|
||||
$controls.find('.crumb').remove();
|
||||
$controls.prepend(result.data.breadcrumb);
|
||||
|
||||
var width = $(window).width();
|
||||
Files.initBreadCrumbs();
|
||||
Files.resizeBreadcrumbs(width, true);
|
||||
|
||||
// in case svg is not supported by the browser we need to execute the fallback mechanism
|
||||
if(!SVGSupport()) {
|
||||
replaceSVG();
|
||||
}
|
||||
}
|
||||
|
||||
FileList.update(result.data.files);
|
||||
resetFileActionPanel();
|
||||
},
|
||||
setDirectoryPermissions: function(permissions){
|
||||
var isCreatable = (permissions & OC.PERMISSION_CREATE) !== 0;
|
||||
$('#permissions').val(permissions);
|
||||
$('.creatable').toggleClass('hidden', !isCreatable);
|
||||
$('.notCreatable').toggleClass('hidden', isCreatable);
|
||||
},
|
||||
remove:function(name){
|
||||
$('tr').filterAttr('data-file',name).find('td.filename').draggable('destroy');
|
||||
$('tr').filterAttr('data-file',name).remove();
|
||||
FileList.updateFileSummary();
|
||||
if($('tr[data-file]').length==0){
|
||||
$('#emptycontent').show();
|
||||
$('#emptycontent').removeClass('hidden');
|
||||
}
|
||||
},
|
||||
insertElement:function(name,type,element){
|
||||
|
|
@ -177,7 +287,7 @@ var FileList={
|
|||
}else{
|
||||
$('#fileList').append(element);
|
||||
}
|
||||
$('#emptycontent').hide();
|
||||
$('#emptycontent').addClass('hidden');
|
||||
FileList.updateFileSummary();
|
||||
},
|
||||
loadingDone:function(name, id){
|
||||
|
|
@ -508,6 +618,31 @@ var FileList={
|
|||
$connector.show();
|
||||
}
|
||||
}
|
||||
},
|
||||
showMask: function(){
|
||||
// in case one was shown before
|
||||
var $mask = $('#content .mask');
|
||||
if ($mask.length){
|
||||
return;
|
||||
}
|
||||
|
||||
$mask = $('<div class="mask transparent"></div>');
|
||||
|
||||
$mask.css('background-image', 'url('+ OC.imagePath('core', 'loading.gif') + ')');
|
||||
$mask.css('background-repeat', 'no-repeat');
|
||||
$('#content').append($mask);
|
||||
|
||||
// block UI, but only make visible in case loading takes longer
|
||||
FileList._maskTimeout = window.setTimeout(function(){
|
||||
// reset opacity
|
||||
$mask.removeClass('transparent');
|
||||
}, 250);
|
||||
},
|
||||
hideMask: function(){
|
||||
var $mask = $('#content .mask').remove();
|
||||
if (FileList._maskTimeout){
|
||||
window.clearTimeout(FileList._maskTimeout);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -629,8 +764,8 @@ $(document).ready(function(){
|
|||
}
|
||||
|
||||
// update folder size
|
||||
var size = parseInt(data.context.data('size'));
|
||||
size += parseInt(file.size) ;
|
||||
var size = parseInt(data.context.data('size'));
|
||||
size += parseInt(file.size);
|
||||
data.context.attr('data-size', size);
|
||||
data.context.find('td.filesize').text(humanFileSize(size));
|
||||
|
||||
|
|
@ -710,5 +845,55 @@ $(document).ready(function(){
|
|||
$(window).trigger('beforeunload');
|
||||
});
|
||||
|
||||
function parseHashQuery(){
|
||||
var hash = window.location.hash,
|
||||
pos = hash.indexOf('?'),
|
||||
query;
|
||||
if (pos >= 0){
|
||||
return hash.substr(pos + 1);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
function parseCurrentDirFromUrl(){
|
||||
var query = parseHashQuery(),
|
||||
params,
|
||||
dir = '/';
|
||||
// try and parse from URL hash first
|
||||
if (query){
|
||||
params = OC.parseQueryString(query);
|
||||
}
|
||||
// else read from query attributes
|
||||
if (!params){
|
||||
params = OC.parseQueryString(location.search);
|
||||
}
|
||||
return (params && params.dir) || '/';
|
||||
}
|
||||
|
||||
// fallback to hashchange when no history support
|
||||
if (!window.history.pushState){
|
||||
$(window).on('hashchange', function(){
|
||||
FileList.changeDirectory(parseCurrentDirFromUrl(), false);
|
||||
});
|
||||
}
|
||||
window.onpopstate = function(e){
|
||||
var targetDir;
|
||||
if (e.state && e.state.dir){
|
||||
targetDir = e.state.dir;
|
||||
}
|
||||
else{
|
||||
// read from URL
|
||||
targetDir = parseCurrentDirFromUrl();
|
||||
}
|
||||
if (targetDir){
|
||||
FileList.changeDirectory(targetDir, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (parseInt($('#ajaxLoad').val(), 10) === 1){
|
||||
// need to initially switch the dir to the one from the hash (IE8)
|
||||
FileList.changeDirectory(parseCurrentDirFromUrl(), false, true);
|
||||
}
|
||||
|
||||
FileList.createFileSummary();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -94,29 +94,106 @@ Files={
|
|||
OC.Notification.show(t('files_encryption', 'Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files.'));
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
||||
setupDragAndDrop: function(){
|
||||
var $fileList = $('#fileList');
|
||||
|
||||
//drag/drop of files
|
||||
$fileList.find('tr td.filename').each(function(i,e){
|
||||
if ($(e).parent().data('permissions') & OC.PERMISSION_DELETE) {
|
||||
$(e).draggable(dragOptions);
|
||||
}
|
||||
});
|
||||
|
||||
$fileList.find('tr[data-type="dir"] td.filename').each(function(i,e){
|
||||
if ($(e).parent().data('permissions') & OC.PERMISSION_CREATE){
|
||||
$(e).droppable(folderDropOptions);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
lastWidth: 0,
|
||||
|
||||
initBreadCrumbs: function () {
|
||||
Files.lastWidth = 0;
|
||||
Files.breadcrumbs = [];
|
||||
|
||||
// initialize with some extra space
|
||||
Files.breadcrumbsWidth = 64;
|
||||
if ( document.getElementById("navigation") ) {
|
||||
Files.breadcrumbsWidth += $('#navigation').get(0).offsetWidth;
|
||||
}
|
||||
Files.hiddenBreadcrumbs = 0;
|
||||
|
||||
$.each($('.crumb'), function(index, breadcrumb) {
|
||||
Files.breadcrumbs[index] = breadcrumb;
|
||||
Files.breadcrumbsWidth += $(breadcrumb).get(0).offsetWidth;
|
||||
});
|
||||
|
||||
$.each($('#controls .actions>div'), function(index, action) {
|
||||
Files.breadcrumbsWidth += $(action).get(0).offsetWidth;
|
||||
});
|
||||
|
||||
// event handlers for breadcrumb items
|
||||
$('#controls .crumb a').on('click', onClickBreadcrumb);
|
||||
},
|
||||
|
||||
resizeBreadcrumbs: function (width, firstRun) {
|
||||
if (width != Files.lastWidth) {
|
||||
if ((width < Files.lastWidth || firstRun) && width < Files.breadcrumbsWidth) {
|
||||
if (Files.hiddenBreadcrumbs == 0) {
|
||||
Files.breadcrumbsWidth -= $(Files.breadcrumbs[1]).get(0).offsetWidth;
|
||||
$(Files.breadcrumbs[1]).find('a').hide();
|
||||
$(Files.breadcrumbs[1]).append('<span>...</span>');
|
||||
Files.breadcrumbsWidth += $(Files.breadcrumbs[1]).get(0).offsetWidth;
|
||||
Files.hiddenBreadcrumbs = 2;
|
||||
}
|
||||
var i = Files.hiddenBreadcrumbs;
|
||||
while (width < Files.breadcrumbsWidth && i > 1 && i < Files.breadcrumbs.length - 1) {
|
||||
Files.breadcrumbsWidth -= $(Files.breadcrumbs[i]).get(0).offsetWidth;
|
||||
$(Files.breadcrumbs[i]).hide();
|
||||
Files.hiddenBreadcrumbs = i;
|
||||
i++
|
||||
}
|
||||
} else if (width > Files.lastWidth && Files.hiddenBreadcrumbs > 0) {
|
||||
var i = Files.hiddenBreadcrumbs;
|
||||
while (width > Files.breadcrumbsWidth && i > 0) {
|
||||
if (Files.hiddenBreadcrumbs == 1) {
|
||||
Files.breadcrumbsWidth -= $(Files.breadcrumbs[1]).get(0).offsetWidth;
|
||||
$(Files.breadcrumbs[1]).find('span').remove();
|
||||
$(Files.breadcrumbs[1]).find('a').show();
|
||||
Files.breadcrumbsWidth += $(Files.breadcrumbs[1]).get(0).offsetWidth;
|
||||
} else {
|
||||
$(Files.breadcrumbs[i]).show();
|
||||
Files.breadcrumbsWidth += $(Files.breadcrumbs[i]).get(0).offsetWidth;
|
||||
if (Files.breadcrumbsWidth > width) {
|
||||
Files.breadcrumbsWidth -= $(Files.breadcrumbs[i]).get(0).offsetWidth;
|
||||
$(Files.breadcrumbs[i]).hide();
|
||||
break;
|
||||
}
|
||||
}
|
||||
i--;
|
||||
Files.hiddenBreadcrumbs = i;
|
||||
}
|
||||
}
|
||||
Files.lastWidth = width;
|
||||
}
|
||||
}
|
||||
};
|
||||
$(document).ready(function() {
|
||||
// FIXME: workaround for trashbin app
|
||||
if (window.trashBinApp){
|
||||
return;
|
||||
}
|
||||
Files.displayEncryptionWarning();
|
||||
Files.bindKeyboardShortcuts(document, jQuery);
|
||||
$('#fileList tr').each(function(){
|
||||
//little hack to set unescape filenames in attribute
|
||||
$(this).attr('data-file',decodeURIComponent($(this).attr('data-file')));
|
||||
});
|
||||
|
||||
FileList.postProcessList();
|
||||
Files.setupDragAndDrop();
|
||||
|
||||
$('#file_action_panel').attr('activeAction', false);
|
||||
|
||||
//drag/drop of files
|
||||
$('#fileList tr td.filename').each(function(i,e){
|
||||
if ($(e).parent().data('permissions') & OC.PERMISSION_DELETE) {
|
||||
$(e).draggable(dragOptions);
|
||||
}
|
||||
});
|
||||
$('#fileList tr[data-type="dir"] td.filename').each(function(i,e){
|
||||
if ($(e).parent().data('permissions') & OC.PERMISSION_CREATE){
|
||||
$(e).droppable(folderDropOptions);
|
||||
}
|
||||
});
|
||||
$('div.crumb:not(.last)').droppable(crumbDropOptions);
|
||||
$('ul#apps>li:first-child').data('dir','');
|
||||
if($('div.crumb').length){
|
||||
|
|
@ -268,72 +345,15 @@ $(document).ready(function() {
|
|||
//do a background scan if needed
|
||||
scanFiles();
|
||||
|
||||
var lastWidth = 0;
|
||||
var breadcrumbs = [];
|
||||
var breadcrumbsWidth = 0;
|
||||
if ( document.getElementById("navigation") ) {
|
||||
breadcrumbsWidth = $('#navigation').get(0).offsetWidth;
|
||||
}
|
||||
var hiddenBreadcrumbs = 0;
|
||||
|
||||
$.each($('.crumb'), function(index, breadcrumb) {
|
||||
breadcrumbs[index] = breadcrumb;
|
||||
breadcrumbsWidth += $(breadcrumb).get(0).offsetWidth;
|
||||
});
|
||||
|
||||
|
||||
$.each($('#controls .actions>div'), function(index, action) {
|
||||
breadcrumbsWidth += $(action).get(0).offsetWidth;
|
||||
});
|
||||
|
||||
function resizeBreadcrumbs(firstRun) {
|
||||
var width = $(this).width();
|
||||
if (width != lastWidth) {
|
||||
if ((width < lastWidth || firstRun) && width < breadcrumbsWidth) {
|
||||
if (hiddenBreadcrumbs == 0) {
|
||||
breadcrumbsWidth -= $(breadcrumbs[1]).get(0).offsetWidth;
|
||||
$(breadcrumbs[1]).find('a').hide();
|
||||
$(breadcrumbs[1]).append('<span>...</span>');
|
||||
breadcrumbsWidth += $(breadcrumbs[1]).get(0).offsetWidth;
|
||||
hiddenBreadcrumbs = 2;
|
||||
}
|
||||
var i = hiddenBreadcrumbs;
|
||||
while (width < breadcrumbsWidth && i > 1 && i < breadcrumbs.length - 1) {
|
||||
breadcrumbsWidth -= $(breadcrumbs[i]).get(0).offsetWidth;
|
||||
$(breadcrumbs[i]).hide();
|
||||
hiddenBreadcrumbs = i;
|
||||
i++
|
||||
}
|
||||
} else if (width > lastWidth && hiddenBreadcrumbs > 0) {
|
||||
var i = hiddenBreadcrumbs;
|
||||
while (width > breadcrumbsWidth && i > 0) {
|
||||
if (hiddenBreadcrumbs == 1) {
|
||||
breadcrumbsWidth -= $(breadcrumbs[1]).get(0).offsetWidth;
|
||||
$(breadcrumbs[1]).find('span').remove();
|
||||
$(breadcrumbs[1]).find('a').show();
|
||||
breadcrumbsWidth += $(breadcrumbs[1]).get(0).offsetWidth;
|
||||
} else {
|
||||
$(breadcrumbs[i]).show();
|
||||
breadcrumbsWidth += $(breadcrumbs[i]).get(0).offsetWidth;
|
||||
if (breadcrumbsWidth > width) {
|
||||
breadcrumbsWidth -= $(breadcrumbs[i]).get(0).offsetWidth;
|
||||
$(breadcrumbs[i]).hide();
|
||||
break;
|
||||
}
|
||||
}
|
||||
i--;
|
||||
hiddenBreadcrumbs = i;
|
||||
}
|
||||
}
|
||||
lastWidth = width;
|
||||
}
|
||||
}
|
||||
Files.initBreadCrumbs();
|
||||
|
||||
$(window).resize(function() {
|
||||
resizeBreadcrumbs(false);
|
||||
var width = $(this).width();
|
||||
Files.resizeBreadcrumbs(width, false);
|
||||
});
|
||||
|
||||
resizeBreadcrumbs(true);
|
||||
var width = $(this).width();
|
||||
Files.resizeBreadcrumbs(width, true);
|
||||
|
||||
// display storage warnings
|
||||
setTimeout ( "Files.displayStorageWarnings()", 100 );
|
||||
|
|
@ -415,10 +435,6 @@ function boolOperationFinished(data, callback) {
|
|||
}
|
||||
}
|
||||
|
||||
function updateBreadcrumb(breadcrumbHtml) {
|
||||
$('p.nav').empty().html(breadcrumbHtml);
|
||||
}
|
||||
|
||||
var createDragShadow = function(event){
|
||||
//select dragged file
|
||||
var isDragSelected = $(event.target).parents('tr').find('td input:first').prop('checked');
|
||||
|
|
@ -681,3 +697,9 @@ function checkTrashStatus() {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
function onClickBreadcrumb(e){
|
||||
var $el = $(e.target).closest('.crumb');
|
||||
e.preventDefault();
|
||||
FileList.changeDirectory(decodeURIComponent($el.data('dir')));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
$TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Nepavyko perkelti %s - failas su tokiu pavadinimu jau egzistuoja",
|
||||
"Could not move %s" => "Nepavyko perkelti %s",
|
||||
"Unable to set upload directory." => "Nepavyksta nustatyti įkėlimų katalogo.",
|
||||
"Invalid Token" => "Netinkamas ženklas",
|
||||
"No file was uploaded. Unknown error" => "Failai nebuvo įkelti dėl nežinomos priežasties",
|
||||
"There is no error, the file uploaded with success" => "Failas įkeltas sėkmingai, be klaidų",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Įkeliamas failas yra didesnis nei leidžia upload_max_filesize php.ini faile:",
|
||||
|
|
@ -31,19 +33,22 @@ $TRANSLATIONS = array(
|
|||
"cancel" => "atšaukti",
|
||||
"replaced {new_name} with {old_name}" => "pakeiskite {new_name} į {old_name}",
|
||||
"undo" => "anuliuoti",
|
||||
"_%n folder_::_%n folders_" => array("","",""),
|
||||
"_%n file_::_%n files_" => array("","",""),
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("","",""),
|
||||
"_%n folder_::_%n folders_" => array("%n aplankas","%n aplankai","%n aplankų"),
|
||||
"_%n file_::_%n files_" => array("%n failas","%n failai","%n failų"),
|
||||
"{dirs} and {files}" => "{dirs} ir {files}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"),
|
||||
"files uploading" => "įkeliami failai",
|
||||
"'.' is an invalid file name." => "'.' yra neleidžiamas failo pavadinime.",
|
||||
"File name cannot be empty." => "Failo pavadinimas negali būti tuščias.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neleistinas pavadinimas, '\\', '/', '<', '>', ':', '\"', '|', '?' ir '*' yra neleidžiami.",
|
||||
"Your storage is full, files can not be updated or synced anymore!" => "Jūsų visa vieta serveryje užimta",
|
||||
"Your storage is almost full ({usedSpacePercent}%)" => "Jūsų vieta serveryje beveik visa užimta ({usedSpacePercent}%)",
|
||||
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Šifravimas buvo išjungtas, bet Jūsų failai vis dar užšifruoti. Prašome eiti į asmeninius nustatymus ir iššifruoti savo failus.",
|
||||
"Your download is being prepared. This might take some time if the files are big." => "Jūsų atsisiuntimas yra paruošiamas. tai gali užtrukti jei atsisiunčiamas didelis failas.",
|
||||
"Name" => "Pavadinimas",
|
||||
"Size" => "Dydis",
|
||||
"Modified" => "Pakeista",
|
||||
"%s could not be renamed" => "%s negali būti pervadintas",
|
||||
"Upload" => "Įkelti",
|
||||
"File handling" => "Failų tvarkymas",
|
||||
"Maximum upload size" => "Maksimalus įkeliamo failo dydis",
|
||||
|
|
|
|||
|
|
@ -45,5 +45,92 @@ class Helper
|
|||
return \OC_Helper::mimetypeIcon($file['mimetype']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Comparator function to sort files alphabetically and have
|
||||
* the directories appear first
|
||||
* @param array $a file
|
||||
* @param array $b file
|
||||
* @return -1 if $a must come before $b, 1 otherwise
|
||||
*/
|
||||
public static function fileCmp($a, $b) {
|
||||
if ($a['type'] === 'dir' and $b['type'] !== 'dir') {
|
||||
return -1;
|
||||
} elseif ($a['type'] !== 'dir' and $b['type'] === 'dir') {
|
||||
return 1;
|
||||
} else {
|
||||
return strnatcasecmp($a['name'], $b['name']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the contents of the given directory and
|
||||
* returns it as a sorted array.
|
||||
* @param string $dir path to the directory
|
||||
* @return array of files
|
||||
*/
|
||||
public static function getFiles($dir) {
|
||||
$content = \OC\Files\Filesystem::getDirectoryContent($dir);
|
||||
$files = array();
|
||||
|
||||
foreach ($content as $i) {
|
||||
$i['date'] = \OCP\Util::formatDate($i['mtime']);
|
||||
if ($i['type'] === 'file') {
|
||||
$fileinfo = pathinfo($i['name']);
|
||||
$i['basename'] = $fileinfo['filename'];
|
||||
if (!empty($fileinfo['extension'])) {
|
||||
$i['extension'] = '.' . $fileinfo['extension'];
|
||||
} else {
|
||||
$i['extension'] = '';
|
||||
}
|
||||
}
|
||||
$i['directory'] = $dir;
|
||||
$i['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($i['mimetype']);
|
||||
$i['icon'] = \OCA\files\lib\Helper::determineIcon($i);
|
||||
$files[] = $i;
|
||||
}
|
||||
|
||||
usort($files, array('\OCA\files\lib\Helper', 'fileCmp'));
|
||||
|
||||
return $files;
|
||||
}
|
||||
|
||||
/**
|
||||
* Splits the given path into a breadcrumb structure.
|
||||
* @param string $dir path to process
|
||||
* @return array where each entry is a hash of the absolute
|
||||
* directory path and its name
|
||||
*/
|
||||
public static function makeBreadcrumb($dir){
|
||||
$breadcrumb = array();
|
||||
$pathtohere = '';
|
||||
foreach (explode('/', $dir) as $i) {
|
||||
if ($i !== '') {
|
||||
$pathtohere .= '/' . $i;
|
||||
$breadcrumb[] = array('dir' => $pathtohere, 'name' => $i);
|
||||
}
|
||||
}
|
||||
return $breadcrumb;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the numeric permissions for the given directory.
|
||||
* @param string $dir directory without trailing slash
|
||||
* @return numeric permissions
|
||||
*/
|
||||
public static function getDirPermissions($dir){
|
||||
$permissions = \OCP\PERMISSION_READ;
|
||||
if (\OC\Files\Filesystem::isCreatable($dir . '/')) {
|
||||
$permissions |= \OCP\PERMISSION_CREATE;
|
||||
}
|
||||
if (\OC\Files\Filesystem::isUpdatable($dir . '/')) {
|
||||
$permissions |= \OCP\PERMISSION_UPDATE;
|
||||
}
|
||||
if (\OC\Files\Filesystem::isDeletable($dir . '/')) {
|
||||
$permissions |= \OCP\PERMISSION_DELETE;
|
||||
}
|
||||
if (\OC\Files\Filesystem::isSharable($dir . '/')) {
|
||||
$permissions |= \OCP\PERMISSION_SHARE;
|
||||
}
|
||||
return $permissions;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
<!--[if IE 8]><style>input[type="checkbox"]{padding:0;}table td{position:static !important;}</style><![endif]-->
|
||||
<div id="controls">
|
||||
<?php print_unescaped($_['breadcrumb']); ?>
|
||||
<?php if ($_['isCreatable']):?>
|
||||
<div class="actions <?php if (isset($_['files']) and count($_['files'])==0):?>emptyfolder<?php endif; ?>">
|
||||
<div class="actions creatable <?php if (!$_['isCreatable']):?>hidden<?php endif; ?> <?php if (isset($_['files']) and count($_['files'])==0):?>emptycontent<?php endif; ?>">
|
||||
<div id="new" class="button">
|
||||
<a><?php p($l->t('New'));?></a>
|
||||
<ul>
|
||||
|
|
@ -38,7 +37,9 @@
|
|||
</form>
|
||||
</div>
|
||||
<?php if ($_['trash'] ): ?>
|
||||
<input id="trash" type="button" value="<?php p($l->t('Deleted files'));?>" class="button" <?php $_['trashEmpty'] ? p('disabled') : '' ?>></input>
|
||||
<div id="trash" class="button" <?php $_['trashEmpty'] ? p('disabled') : '' ?>>
|
||||
<a><?php p($l->t('Deleted files'));?></a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div id="uploadprogresswrapper">
|
||||
<div id="uploadprogressbar"></div>
|
||||
|
|
@ -48,16 +49,15 @@
|
|||
</div>
|
||||
</div>
|
||||
<div id="file_action_panel"></div>
|
||||
<?php elseif( !$_['isPublic'] ):?>
|
||||
<div class="actions"><input type="button" disabled value="<?php p($l->t('You don’t have write permissions here.'))?>"></div>
|
||||
<input type="hidden" name="dir" value="<?php p($_['dir']) ?>" id="dir">
|
||||
<?php endif;?>
|
||||
<div class="notCreatable notPublic <?php if ($_['isCreatable'] or $_['isPublic'] ):?>hidden<?php endif; ?>">
|
||||
<div class="actions"><input type="button" disabled value="<?php p($l->t('You don’t have write permissions here.'))?>"></div>
|
||||
</div>
|
||||
<input type="hidden" name="permissions" value="<?php p($_['permissions']); ?>" id="permissions">
|
||||
</div>
|
||||
|
||||
<?php if (isset($_['files']) and $_['isCreatable'] and count($_['files'])==0):?>
|
||||
<div id="emptycontent"><?php p($l->t('Nothing in here. Upload something!'))?></div>
|
||||
<?php endif; ?>
|
||||
<div id="emptycontent" <?php if (!isset($_['files']) or !$_['isCreatable'] or count($_['files']) > 0 or !$_['ajaxLoad']):?>class="hidden"<?php endif; ?>><?php p($l->t('Nothing in here. Upload something!'))?></div>
|
||||
|
||||
<input type="hidden" id="disableSharing" data-status="<?php p($_['disableSharing']); ?>"></input>
|
||||
|
||||
<table id="filestable" data-allow-public-upload="<?php p($_['publicUploadEnabled'])?>" data-preview-x="36" data-preview-y="36">
|
||||
<thead>
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
<th id="headerDate">
|
||||
<span id="modified"><?php p($l->t( 'Modified' )); ?></span>
|
||||
<?php if ($_['permissions'] & OCP\PERMISSION_DELETE): ?>
|
||||
<!-- NOTE: Temporary fix to allow unsharing of files in root of Shared folder -->
|
||||
<!-- NOTE: Temporary fix to allow unsharing of files in root of Shared folder -->
|
||||
<?php if ($_['dir'] == '/Shared'): ?>
|
||||
<span class="selectedActions"><a href="" class="delete-selected">
|
||||
<?php p($l->t('Unshare'))?>
|
||||
|
|
@ -120,6 +120,7 @@
|
|||
</div>
|
||||
|
||||
<!-- config hints for javascript -->
|
||||
<input type="hidden" name="ajaxLoad" id="ajaxLoad" value="<?php p($_['ajaxLoad']); ?>" />
|
||||
<input type="hidden" name="allowZipDownload" id="allowZipDownload" value="<?php p($_['allowZipDownload']); ?>" />
|
||||
<input type="hidden" name="usedSpacePercent" id="usedSpacePercent" value="<?php p($_['usedSpacePercent']); ?>" />
|
||||
<input type="hidden" name="encryptedFiles" id="encryptedFiles" value="<?php $_['encryptedFiles'] ? p('1') : p('0'); ?>" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
<input type="hidden" id="disableSharing" data-status="<?php p($_['disableSharing']); ?>">
|
||||
<?php $totalfiles = 0;
|
||||
$totaldirs = 0;
|
||||
$totalsize = 0; ?>
|
||||
<?php foreach($_['files'] as $file):
|
||||
// the bigger the file, the darker the shade of grey; megabytes*2
|
||||
$simple_size_color = intval(160-$file['size']/(1024*1024)*2);
|
||||
|
|
|
|||
|
|
@ -6,12 +6,34 @@ $TRANSLATIONS = array(
|
|||
"Could not disable recovery key. Please check your recovery key password!" => "Neišėjo išjungti jūsų atkūrimo rakto. Prašome jį patikrinti!",
|
||||
"Password successfully changed." => "Slaptažodis sėkmingai pakeistas",
|
||||
"Could not change the password. Maybe the old password was not correct." => "Slaptažodis nebuvo pakeistas. Gali būti, kad buvo neteisingai suvestas senasis.",
|
||||
"Private key password successfully updated." => "Privataus rakto slaptažodis buvo sėkmingai atnaujintas.",
|
||||
"Could not update the private key password. Maybe the old password was not correct." => "Nepavyko atnaujinti privataus rakto slaptažodžio. Gali būti, kad buvo neteisingai suvestas senasis.",
|
||||
"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Jūsų privatus raktas yra netinkamas! Panašu, kad Jūsų slaptažodis buvo pakeistas išorėje ownCloud sistemos (pvz. Jūsų organizacijos kataloge). Galite atnaujinti savo privataus rakto slaptažodį savo asmeniniuose nustatymuose, kad atkurti prieigą prie savo šifruotų failų.",
|
||||
"Missing requirements." => "Trūkstami laukai.",
|
||||
"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Prašome įsitikinti, kad PHP 5.3.3 ar naujesnė yra įdiegta ir kad OpenSSL kartu su PHP plėtiniu yra šjungti ir teisingai sukonfigūruoti. Kol kas šifravimo programa bus išjungta.",
|
||||
"Following users are not set up for encryption:" => "Sekantys naudotojai nenustatyti šifravimui:",
|
||||
"Saving..." => "Saugoma...",
|
||||
"Your private key is not valid! Maybe the your password was changed from outside." => "Jūsų privatus raktas yra netinkamas! Galbūt Jūsų slaptažodis buvo pakeistas iš išorės?",
|
||||
"You can unlock your private key in your " => "Galite atrakinti savo privatų raktą savo",
|
||||
"personal settings" => "asmeniniai nustatymai",
|
||||
"Encryption" => "Šifravimas",
|
||||
"Enable recovery key (allow to recover users files in case of password loss):" => "Įjunkite atkūrimo raktą, (leisti atkurti naudotojų failus praradus slaptažodį):",
|
||||
"Recovery key password" => "Atkūrimo rakto slaptažodis",
|
||||
"Enabled" => "Įjungta",
|
||||
"Disabled" => "Išjungta",
|
||||
"Change recovery key password:" => "Pakeisti atkūrimo rakto slaptažodį:",
|
||||
"Old Recovery key password" => "Senas atkūrimo rakto slaptažodis",
|
||||
"New Recovery key password" => "Naujas atkūrimo rakto slaptažodis",
|
||||
"Change Password" => "Pakeisti slaptažodį",
|
||||
"File recovery settings updated" => "Failų atstatymo nustatymai pakeisti",
|
||||
"Your private key password no longer match your log-in password:" => "Privatus rakto slaptažodis daugiau neatitinka Jūsų prisijungimo slaptažodžio:",
|
||||
"Set your old private key password to your current log-in password." => "Nustatyti Jūsų privataus rakto slaptažodį į Jūsų dabartinį prisijungimo.",
|
||||
" If you don't remember your old password you can ask your administrator to recover your files." => "Jei nepamenate savo seno slaptažodžio, galite paprašyti administratoriaus atkurti Jūsų failus.",
|
||||
"Old log-in password" => "Senas prisijungimo slaptažodis",
|
||||
"Current log-in password" => "Dabartinis prisijungimo slaptažodis",
|
||||
"Update Private Key Password" => "Atnaujinti privataus rakto slaptažodį",
|
||||
"Enable password recovery:" => "Įjungti slaptažodžio atkūrimą:",
|
||||
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "Įjungus šią funkciją jums bus suteiktas pakartotinis priėjimas prie Jūsų šifruotų failų pamiršus slaptažodį.",
|
||||
"File recovery settings updated" => "Failų atkūrimo nustatymai pakeisti",
|
||||
"Could not update file recovery" => "Neišėjo atnaujinti failų atkūrimo"
|
||||
);
|
||||
$PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);";
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ $(document).ready(function() {
|
|||
|
||||
if (typeof OC.Share !== 'undefined' && typeof FileActions !== 'undefined' && !disableSharing) {
|
||||
|
||||
$('#fileList').one('fileActionsReady',function(){
|
||||
$('#fileList').on('fileActionsReady',function(){
|
||||
OC.Share.loadIcons('file');
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,14 @@
|
|||
<?php
|
||||
$TRANSLATIONS = array(
|
||||
"The password is wrong. Try again." => "Netinka slaptažodis: Bandykite dar kartą.",
|
||||
"Password" => "Slaptažodis",
|
||||
"Submit" => "Išsaugoti",
|
||||
"Sorry, this link doesn’t seem to work anymore." => "Atleiskite, panašu, kad nuoroda yra neveiksni.",
|
||||
"Reasons might be:" => "Galimos priežastys:",
|
||||
"the item was removed" => "elementas buvo pašalintas",
|
||||
"the link expired" => "baigėsi nuorodos galiojimo laikas",
|
||||
"sharing is disabled" => "dalinimasis yra išjungtas",
|
||||
"For more info, please ask the person who sent this link." => "Dėl tikslesnės informacijos susisiekite su asmeniu atsiuntusiu nuorodą.",
|
||||
"%s shared the folder %s with you" => "%s pasidalino su jumis %s aplanku",
|
||||
"%s shared the file %s with you" => "%s pasidalino su jumis %s failu",
|
||||
"Download" => "Atsisiųsti",
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@ if (isset($path)) {
|
|||
$tmpl->assign('mimetype', \OC\Files\Filesystem::getMimeType($path));
|
||||
$tmpl->assign('fileTarget', basename($linkItem['file_target']));
|
||||
$tmpl->assign('dirToken', $linkItem['token']);
|
||||
$tmpl->assign('disableSharing', true);
|
||||
$allowPublicUploadEnabled = (bool) ($linkItem['permissions'] & OCP\PERMISSION_CREATE);
|
||||
if (\OCP\App::isEnabled('files_encryption')) {
|
||||
$allowPublicUploadEnabled = false;
|
||||
|
|
@ -206,7 +207,6 @@ if (isset($path)) {
|
|||
}
|
||||
$list = new OCP\Template('files', 'part.list', '');
|
||||
$list->assign('files', $files);
|
||||
$list->assign('disableSharing', true);
|
||||
$list->assign('baseURL', OCP\Util::linkToPublic('files') . $urlLinkIdentifiers . '&path=');
|
||||
$list->assign('downloadURL',
|
||||
OCP\Util::linkToPublic('files') . $urlLinkIdentifiers . '&download&path=');
|
||||
|
|
|
|||
51
apps/files_trashbin/ajax/list.php
Normal file
51
apps/files_trashbin/ajax/list.php
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
<?php
|
||||
|
||||
// only need filesystem apps
|
||||
$RUNTIME_APPTYPES=array('filesystem');
|
||||
|
||||
// Init owncloud
|
||||
|
||||
|
||||
OCP\JSON::checkLoggedIn();
|
||||
|
||||
// Load the files
|
||||
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
|
||||
$doBreadcrumb = isset( $_GET['breadcrumb'] ) ? true : false;
|
||||
$data = array();
|
||||
|
||||
// Make breadcrumb
|
||||
if($doBreadcrumb) {
|
||||
$breadcrumb = \OCA\files_trashbin\lib\Helper::makeBreadcrumb($dir);
|
||||
|
||||
$breadcrumbNav = new OCP\Template('files_trashbin', 'part.breadcrumb', '');
|
||||
$breadcrumbNav->assign('breadcrumb', $breadcrumb, false);
|
||||
$breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files_trashbin', 'index.php') . '?dir=');
|
||||
$breadcrumbNav->assign('home', OCP\Util::linkTo('files', 'index.php'));
|
||||
|
||||
$data['breadcrumb'] = $breadcrumbNav->fetchPage();
|
||||
}
|
||||
|
||||
// make filelist
|
||||
$files = \OCA\files_trashbin\lib\Helper::getTrashFiles($dir);
|
||||
|
||||
if ($files === null){
|
||||
header("HTTP/1.0 404 Not Found");
|
||||
exit();
|
||||
}
|
||||
|
||||
$dirlisting = false;
|
||||
if ($dir && $dir !== '/') {
|
||||
$dirlisting = true;
|
||||
}
|
||||
|
||||
$encodedDir = \OCP\Util::encodePath($dir);
|
||||
$list = new OCP\Template('files_trashbin', 'part.list', '');
|
||||
$list->assign('files', $files, false);
|
||||
$list->assign('baseURL', OCP\Util::linkTo('files_trashbin', 'index.php'). '?dir='.$encodedDir);
|
||||
$list->assign('downloadURL', OCP\Util::linkToRoute('download', array('file' => '/')));
|
||||
$list->assign('dirlisting', $dirlisting);
|
||||
$list->assign('disableDownloadActions', true);
|
||||
$data['files'] = $list->fetchPage();
|
||||
|
||||
OCP\JSON::success(array('data' => $data));
|
||||
|
||||
|
|
@ -10,93 +10,52 @@ OCP\Util::addScript('files_trashbin', 'disableDefaultActions');
|
|||
OCP\Util::addScript('files', 'fileactions');
|
||||
$tmpl = new OCP\Template('files_trashbin', 'index', 'user');
|
||||
|
||||
$user = \OCP\User::getUser();
|
||||
$view = new OC_Filesystemview('/'.$user.'/files_trashbin/files');
|
||||
|
||||
OCP\Util::addStyle('files', 'files');
|
||||
OCP\Util::addScript('files', 'filelist');
|
||||
// filelist overrides
|
||||
OCP\Util::addScript('files_trashbin', 'filelist');
|
||||
OCP\Util::addscript('files', 'files');
|
||||
|
||||
$dir = isset($_GET['dir']) ? stripslashes($_GET['dir']) : '';
|
||||
|
||||
$result = array();
|
||||
if ($dir) {
|
||||
$dirlisting = true;
|
||||
$dirContent = $view->opendir($dir);
|
||||
$i = 0;
|
||||
if(is_resource($dirContent)) {
|
||||
while(($entryName = readdir($dirContent)) !== false) {
|
||||
if (!\OC\Files\Filesystem::isIgnoredDir($entryName)) {
|
||||
$pos = strpos($dir.'/', '/', 1);
|
||||
$tmp = substr($dir, 0, $pos);
|
||||
$pos = strrpos($tmp, '.d');
|
||||
$timestamp = substr($tmp, $pos+2);
|
||||
$result[] = array(
|
||||
'id' => $entryName,
|
||||
'timestamp' => $timestamp,
|
||||
'mime' => $view->getMimeType($dir.'/'.$entryName),
|
||||
'type' => $view->is_dir($dir.'/'.$entryName) ? 'dir' : 'file',
|
||||
'location' => $dir,
|
||||
);
|
||||
}
|
||||
}
|
||||
closedir($dirContent);
|
||||
}
|
||||
} else {
|
||||
$dirlisting = false;
|
||||
$query = \OC_DB::prepare('SELECT `id`,`location`,`timestamp`,`type`,`mime` FROM `*PREFIX*files_trash` WHERE `user` = ?');
|
||||
$result = $query->execute(array($user))->fetchAll();
|
||||
$isIE8 = false;
|
||||
preg_match('/MSIE (.*?);/', $_SERVER['HTTP_USER_AGENT'], $matches);
|
||||
if (count($matches) > 0 && $matches[1] <= 8){
|
||||
$isIE8 = true;
|
||||
}
|
||||
|
||||
$files = array();
|
||||
foreach ($result as $r) {
|
||||
$i = array();
|
||||
$i['name'] = $r['id'];
|
||||
$i['date'] = OCP\Util::formatDate($r['timestamp']);
|
||||
$i['timestamp'] = $r['timestamp'];
|
||||
$i['mimetype'] = $r['mime'];
|
||||
$i['type'] = $r['type'];
|
||||
if ($i['type'] === 'file') {
|
||||
$fileinfo = pathinfo($r['id']);
|
||||
$i['basename'] = $fileinfo['filename'];
|
||||
$i['extension'] = isset($fileinfo['extension']) ? ('.'.$fileinfo['extension']) : '';
|
||||
// if IE8 and "?dir=path" was specified, reformat the URL to use a hash like "#?dir=path"
|
||||
if ($isIE8 && isset($_GET['dir'])){
|
||||
if ($dir === ''){
|
||||
$dir = '/';
|
||||
}
|
||||
$i['directory'] = $r['location'];
|
||||
if ($i['directory'] === '/') {
|
||||
$i['directory'] = '';
|
||||
}
|
||||
$i['permissions'] = OCP\PERMISSION_READ;
|
||||
$i['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($r['mime']);
|
||||
$i['icon'] = \OCA\files\lib\Helper::determineIcon($i);
|
||||
$files[] = $i;
|
||||
header('Location: ' . OCP\Util::linkTo('files_trashbin', 'index.php') . '#?dir=' . \OCP\Util::encodePath($dir));
|
||||
exit();
|
||||
}
|
||||
|
||||
function fileCmp($a, $b) {
|
||||
if ($a['type'] === 'dir' and $b['type'] !== 'dir') {
|
||||
return -1;
|
||||
} elseif ($a['type'] !== 'dir' and $b['type'] === 'dir') {
|
||||
return 1;
|
||||
} else {
|
||||
return strnatcasecmp($a['name'], $b['name']);
|
||||
}
|
||||
$ajaxLoad = false;
|
||||
|
||||
if (!$isIE8){
|
||||
$files = \OCA\files_trashbin\lib\Helper::getTrashFiles($dir);
|
||||
}
|
||||
else{
|
||||
$files = array();
|
||||
$ajaxLoad = true;
|
||||
}
|
||||
|
||||
usort($files, "fileCmp");
|
||||
|
||||
// Make breadcrumb
|
||||
$pathtohere = '';
|
||||
$breadcrumb = array();
|
||||
foreach (explode('/', $dir) as $i) {
|
||||
if ($i !== '') {
|
||||
if ( preg_match('/^(.+)\.d[0-9]+$/', $i, $match) ) {
|
||||
$name = $match[1];
|
||||
} else {
|
||||
$name = $i;
|
||||
}
|
||||
$pathtohere .= '/' . $i;
|
||||
$breadcrumb[] = array('dir' => $pathtohere, 'name' => $name);
|
||||
}
|
||||
// Redirect if directory does not exist
|
||||
if ($files === null){
|
||||
header('Location: ' . OCP\Util::linkTo('files_trashbin', 'index.php'));
|
||||
exit();
|
||||
}
|
||||
|
||||
$dirlisting = false;
|
||||
if ($dir && $dir !== '/') {
|
||||
$dirlisting = true;
|
||||
}
|
||||
|
||||
$breadcrumb = \OCA\files_trashbin\lib\Helper::makeBreadcrumb($dir);
|
||||
|
||||
$breadcrumbNav = new OCP\Template('files_trashbin', 'part.breadcrumb', '');
|
||||
$breadcrumbNav->assign('breadcrumb', $breadcrumb);
|
||||
$breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files_trashbin', 'index.php') . '?dir=');
|
||||
|
|
@ -108,7 +67,6 @@ $list->assign('files', $files);
|
|||
$encodedDir = \OCP\Util::encodePath($dir);
|
||||
$list->assign('baseURL', OCP\Util::linkTo('files_trashbin', 'index.php'). '?dir='.$encodedDir);
|
||||
$list->assign('downloadURL', OCP\Util::linkTo('files_trashbin', 'download.php') . '?file='.$encodedDir);
|
||||
$list->assign('disableSharing', true);
|
||||
$list->assign('dirlisting', $dirlisting);
|
||||
$list->assign('disableDownloadActions', true);
|
||||
|
||||
|
|
@ -116,6 +74,8 @@ $tmpl->assign('dirlisting', $dirlisting);
|
|||
$tmpl->assign('breadcrumb', $breadcrumbNav->fetchPage());
|
||||
$tmpl->assign('fileList', $list->fetchPage());
|
||||
$tmpl->assign('files', $files);
|
||||
$tmpl->assign('dir', \OC\Files\Filesystem::normalizePath($view->getAbsolutePath()));
|
||||
$tmpl->assign('dir', $dir);
|
||||
$tmpl->assign('disableSharing', true);
|
||||
$tmpl->assign('ajaxLoad', true);
|
||||
|
||||
$tmpl->printPage();
|
||||
|
|
|
|||
24
apps/files_trashbin/js/filelist.js
Normal file
24
apps/files_trashbin/js/filelist.js
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
// override reload with own ajax call
|
||||
FileList.reload = function(){
|
||||
FileList.showMask();
|
||||
if (FileList._reloadCall){
|
||||
FileList._reloadCall.abort();
|
||||
}
|
||||
$.ajax({
|
||||
url: OC.filePath('files_trashbin','ajax','list.php'),
|
||||
data: {
|
||||
dir : $('#dir').val(),
|
||||
breadcrumb: true
|
||||
},
|
||||
error: function(result) {
|
||||
FileList.reloadCallback(result);
|
||||
},
|
||||
success: function(result) {
|
||||
FileList.reloadCallback(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
FileList.linkTo = function(dir){
|
||||
return OC.linkTo('files_trashbin', 'index.php')+"?dir="+ encodeURIComponent(dir).replace(/%2F/g, '/');
|
||||
}
|
||||
|
|
@ -171,9 +171,15 @@ $(document).ready(function() {
|
|||
action(filename);
|
||||
}
|
||||
}
|
||||
|
||||
// event handlers for breadcrumb items
|
||||
$('#controls').delegate('.crumb:not(.home) a', 'click', onClickBreadcrumb);
|
||||
});
|
||||
|
||||
FileActions.actions.dir = {};
|
||||
FileActions.actions.dir = {
|
||||
// only keep 'Open' action for navigation
|
||||
'Open': FileActions.actions.dir.Open
|
||||
};
|
||||
});
|
||||
|
||||
function processSelection(){
|
||||
|
|
@ -246,3 +252,9 @@ function disableActions() {
|
|||
$(".action").css("display", "none");
|
||||
$(":input:checkbox").css("display", "none");
|
||||
}
|
||||
function onClickBreadcrumb(e){
|
||||
var $el = $(e.target).closest('.crumb');
|
||||
e.preventDefault();
|
||||
FileList.changeDirectory(decodeURIComponent($el.data('dir')));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,9 @@ $TRANSLATIONS = array(
|
|||
"Delete permanently" => "Ištrinti negrįžtamai",
|
||||
"Name" => "Pavadinimas",
|
||||
"Deleted" => "Ištrinti",
|
||||
"_%n folder_::_%n folders_" => array("","",""),
|
||||
"_%n file_::_%n files_" => array("","",""),
|
||||
"_%n folder_::_%n folders_" => array("","","%n aplankų"),
|
||||
"_%n file_::_%n files_" => array("","","%n failų"),
|
||||
"restored" => "atstatyta",
|
||||
"Nothing in here. Your trash bin is empty!" => "Nieko nėra. Jūsų šiukšliadėžė tuščia!",
|
||||
"Restore" => "Atstatyti",
|
||||
"Delete" => "Ištrinti",
|
||||
|
|
|
|||
97
apps/files_trashbin/lib/helper.php
Normal file
97
apps/files_trashbin/lib/helper.php
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
<?php
|
||||
|
||||
namespace OCA\files_trashbin\lib;
|
||||
|
||||
class Helper
|
||||
{
|
||||
/**
|
||||
* Retrieves the contents of a trash bin directory.
|
||||
* @param string $dir path to the directory inside the trashbin
|
||||
* or empty to retrieve the root of the trashbin
|
||||
* @return array of files
|
||||
*/
|
||||
public static function getTrashFiles($dir){
|
||||
$result = array();
|
||||
$user = \OCP\User::getUser();
|
||||
|
||||
if ($dir && $dir !== '/') {
|
||||
$view = new \OC_Filesystemview('/'.$user.'/files_trashbin/files');
|
||||
$dirContent = $view->opendir($dir);
|
||||
if ($dirContent === false){
|
||||
return null;
|
||||
}
|
||||
if(is_resource($dirContent)){
|
||||
while(($entryName = readdir($dirContent)) !== false) {
|
||||
if (!\OC\Files\Filesystem::isIgnoredDir($entryName)) {
|
||||
$pos = strpos($dir.'/', '/', 1);
|
||||
$tmp = substr($dir, 0, $pos);
|
||||
$pos = strrpos($tmp, '.d');
|
||||
$timestamp = substr($tmp, $pos+2);
|
||||
$result[] = array(
|
||||
'id' => $entryName,
|
||||
'timestamp' => $timestamp,
|
||||
'mime' => $view->getMimeType($dir.'/'.$entryName),
|
||||
'type' => $view->is_dir($dir.'/'.$entryName) ? 'dir' : 'file',
|
||||
'location' => $dir,
|
||||
);
|
||||
}
|
||||
}
|
||||
closedir($dirContent);
|
||||
}
|
||||
} else {
|
||||
$query = \OC_DB::prepare('SELECT `id`,`location`,`timestamp`,`type`,`mime` FROM `*PREFIX*files_trash` WHERE `user` = ?');
|
||||
$result = $query->execute(array($user))->fetchAll();
|
||||
}
|
||||
|
||||
$files = array();
|
||||
foreach ($result as $r) {
|
||||
$i = array();
|
||||
$i['name'] = $r['id'];
|
||||
$i['date'] = \OCP\Util::formatDate($r['timestamp']);
|
||||
$i['timestamp'] = $r['timestamp'];
|
||||
$i['mimetype'] = $r['mime'];
|
||||
$i['type'] = $r['type'];
|
||||
if ($i['type'] === 'file') {
|
||||
$fileinfo = pathinfo($r['id']);
|
||||
$i['basename'] = $fileinfo['filename'];
|
||||
$i['extension'] = isset($fileinfo['extension']) ? ('.'.$fileinfo['extension']) : '';
|
||||
}
|
||||
$i['directory'] = $r['location'];
|
||||
if ($i['directory'] === '/') {
|
||||
$i['directory'] = '';
|
||||
}
|
||||
$i['permissions'] = \OCP\PERMISSION_READ;
|
||||
$i['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($r['mime']);
|
||||
$i['icon'] = \OCA\files\lib\Helper::determineIcon($i);
|
||||
$files[] = $i;
|
||||
}
|
||||
|
||||
usort($files, array('\OCA\files\lib\Helper', 'fileCmp'));
|
||||
|
||||
return $files;
|
||||
}
|
||||
|
||||
/**
|
||||
* Splits the given path into a breadcrumb structure.
|
||||
* @param string $dir path to process
|
||||
* @return array where each entry is a hash of the absolute
|
||||
* directory path and its name
|
||||
*/
|
||||
public static function makeBreadcrumb($dir){
|
||||
// Make breadcrumb
|
||||
$pathtohere = '';
|
||||
$breadcrumb = array();
|
||||
foreach (explode('/', $dir) as $i) {
|
||||
if ($i !== '') {
|
||||
if ( preg_match('/^(.+)\.d[0-9]+$/', $i, $match) ) {
|
||||
$name = $match[1];
|
||||
} else {
|
||||
$name = $i;
|
||||
}
|
||||
$pathtohere .= '/' . $i;
|
||||
$breadcrumb[] = array('dir' => $pathtohere, 'name' => $name);
|
||||
}
|
||||
}
|
||||
return $breadcrumb;
|
||||
}
|
||||
}
|
||||
|
|
@ -5,10 +5,14 @@
|
|||
</div>
|
||||
<div id='notification'></div>
|
||||
|
||||
<?php if (isset($_['files']) && count($_['files']) === 0 && $_['dirlisting'] === false):?>
|
||||
<?php if (isset($_['files']) && count($_['files']) === 0 && $_['dirlisting'] === false && !$_['ajaxLoad']):?>
|
||||
<div id="emptycontent"><?php p($l->t('Nothing in here. Your trash bin is empty!'))?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<input type="hidden" name="ajaxLoad" id="ajaxLoad" value="<?php p($_['ajaxLoad']); ?>" />
|
||||
<input type="hidden" id="disableSharing" data-status="<?php p($_['disableSharing']); ?>"></input>
|
||||
<input type="hidden" name="dir" value="<?php p($_['dir']) ?>" id="dir">
|
||||
|
||||
<table id="filestable">
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<div class="crumb">
|
||||
<div class="crumb home">
|
||||
<a href="<?php print_unescaped($_['home']); ?>">
|
||||
<img src="<?php print_unescaped(OCP\image_path('core', 'places/home.svg'));?>" class="svg" />
|
||||
</a>
|
||||
</div>
|
||||
<?php if(count($_["breadcrumb"])):?>
|
||||
<div class="crumb svg"
|
||||
data-dir='<?php print_unescaped($_['baseURL']); ?>'>
|
||||
data-dir='/'>
|
||||
<a href="<?php p($_['baseURL']); ?>"><?php p($l->t("Deleted Files")); ?></a>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
<input type="hidden" id="disableSharing" data-status="<?php p($_['disableSharing']); ?>">
|
||||
<?php foreach($_['files'] as $file):
|
||||
$relative_deleted_date = OCP\relative_modified_date($file['timestamp']);
|
||||
// the older the file, the brighter the shade of grey; days*14
|
||||
|
|
@ -12,7 +11,7 @@
|
|||
data-permissions='<?php p($file['permissions']); ?>'
|
||||
<?php if ( $_['dirlisting'] ): ?>
|
||||
id="<?php p($file['directory'].'/'.$file['name']);?>"
|
||||
data-file="<?php p($file['directory'].'/'.$file['name']);?>"
|
||||
data-file="<?php p($name);?>"
|
||||
data-timestamp=''
|
||||
data-dirlisting=1
|
||||
<?php else: ?>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@
|
|||
$TRANSLATIONS = array(
|
||||
"Could not revert: %s" => "Nepavyko atstatyti: %s",
|
||||
"Versions" => "Versijos",
|
||||
"Failed to revert {file} to revision {timestamp}." => "Nepavyko atstatyti {file} į būseną {timestamp}.",
|
||||
"More versions..." => "Daugiau versijų...",
|
||||
"No other versions available" => "Nėra daugiau versijų",
|
||||
"Restore" => "Atstatyti"
|
||||
);
|
||||
$PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);";
|
||||
|
|
|
|||
|
|
@ -75,8 +75,10 @@ $TRANSLATIONS = array(
|
|||
"By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." => "Por defecto, el nombre de usuario interno es creado a partir del atributo UUID. Esto asegura que el nombre de usuario es único y no es necesaria una conversión de caracteres. El nombre de usuario interno sólo se pueden usar estos caracteres: [ a-zA-Z0-9_.@- ]. El resto de caracteres son sustituidos por su correspondiente en ASCII o simplemente omitidos. En caso colisiones, se agregará o incrementará un número. El nombre de usuario interno es usado para identificar un usuario. Es también el nombre predeterminado para el directorio personal del usuario en ownCloud. También es parte de las URLs remotas, por ejemplo, para los servicios *DAV. Con esta opción, se puede cambiar el comportamiento por defecto. Para conseguir un comportamiento similar a versiones anteriores a ownCloud 5, ingresá el atributo del nombre mostrado en el campo siguiente. Dejalo vacío para el comportamiento por defecto. Los cambios solo tendrán efecto en los nuevos usuarios LDAP mapeados (agregados).",
|
||||
"Internal Username Attribute:" => "Atributo Nombre Interno de usuario:",
|
||||
"Override UUID detection" => "Sobrescribir la detección UUID",
|
||||
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." => "Por defecto, el atributo UUID es detectado automáticamente. Este atributo es usado para identificar de manera certera usuarios y grupos LDAP. Además, el nombre de usuario interno será creado en base al UUID, si no fue especificado otro comportamiento más arriba. Podés sobrescribir la configuración y pasar un atributo de tu elección. Tenés que asegurarte que el atributo de tu elección sea accesible por los usuarios y grupos y que sea único. Dejalo en blanco para usar el comportamiento por defecto. Los cambios tendrán efecto sólo en los nuevos usuarios y grupos de LDAP mapeados (agregados).",
|
||||
"UUID Attribute:" => "Atributo UUID:",
|
||||
"Username-LDAP User Mapping" => "Asignación del Nombre de usuario de un usuario LDAP",
|
||||
"Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." => "Los usuarios son usados para almacenar y asignar datos (metadatos). Con el fin de identificar de forma precisa y reconocer usuarios, a cada usuario de LDAP se será asignado un nombre de usuario interno. Esto requiere un mapeo entre el nombre de usuario y el usuario del LDAP. El nombre de usuario creado es mapeado respecto al UUID del usuario en el LDAP. De forma adicional, el DN es dejado en caché para reducir la interacción entre el LDAP, pero no es usado para la identificación. Si el DN cambia, los cambios van a ser aplicados. El nombre de usuario interno es usado en todos los lugares. Vaciar los mapeos, deja restos por todas partes. Vaciar los mapeos, no es sensible a configuración, ¡afecta a todas las configuraciones del LDAP! Nunca limpies los mapeos en un entorno de producción, solamente en fase de desarrollo o experimental.",
|
||||
"Clear Username-LDAP User Mapping" => "Borrar la asignación de los Nombres de usuario de los usuarios LDAP",
|
||||
"Clear Groupname-LDAP Group Mapping" => "Borrar la asignación de los Nombres de grupo de los grupos de LDAP",
|
||||
"Test Configuration" => "Probar configuración",
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
$TRANSLATIONS = array(
|
||||
"Deletion failed" => "Ištrinti nepavyko",
|
||||
"Error" => "Klaida",
|
||||
"Host" => "Mazgas",
|
||||
"Password" => "Slaptažodis",
|
||||
"Group Filter" => "Grupės filtras",
|
||||
"Port" => "Prievadas",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
$TRANSLATIONS = array(
|
||||
"WebDAV Authentication" => "WebDAV autorizavimas"
|
||||
"WebDAV Authentication" => "WebDAV autentikacija",
|
||||
"Address: " => "Adresas:",
|
||||
"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Naudotojo duomenys bus nusiųsti šiuo adresu. Šis įskiepis patikrins gautą atsakymą ir interpretuos HTTP būsenos kodą 401 ir 403 kaip negaliojančius duomenis, ir visus kitus gautus atsakymus kaip galiojančius duomenis. "
|
||||
);
|
||||
$PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);";
|
||||
|
|
|
|||
|
|
@ -212,6 +212,9 @@ $CONFIG = array(
|
|||
/* cl parameters for libreoffice / openoffice */
|
||||
'preview_office_cl_parameters' => '',
|
||||
|
||||
/* whether avatars should be enabled */
|
||||
'enable_avatars' => true,
|
||||
|
||||
// Extra SSL options to be used for configuration
|
||||
'openssl' => array(
|
||||
//'config' => '/absolute/location/of/openssl.cnf',
|
||||
|
|
|
|||
158
core/avatar/controller.php
Normal file
158
core/avatar/controller.php
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
<?php
|
||||
/**
|
||||
* Copyright (c) 2013 Christopher Schäpers <christopher@schaepers.it>
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
namespace OC\Core\Avatar;
|
||||
|
||||
class Controller {
|
||||
public static function getAvatar($args) {
|
||||
\OC_JSON::checkLoggedIn();
|
||||
\OC_JSON::callCheck();
|
||||
|
||||
$user = stripslashes($args['user']);
|
||||
$size = (int)$args['size'];
|
||||
if ($size > 2048) {
|
||||
$size = 2048;
|
||||
}
|
||||
// Undefined size
|
||||
elseif ($size === 0) {
|
||||
$size = 64;
|
||||
}
|
||||
|
||||
$avatar = new \OC_Avatar($user);
|
||||
$image = $avatar->get($size);
|
||||
|
||||
\OC_Response::disableCaching();
|
||||
\OC_Response::setLastModifiedHeader(time());
|
||||
if ($image instanceof \OC_Image) {
|
||||
\OC_Response::setETagHeader(crc32($image->data()));
|
||||
$image->show();
|
||||
} else {
|
||||
// Signalizes $.avatar() to display a defaultavatar
|
||||
\OC_JSON::success();
|
||||
}
|
||||
}
|
||||
|
||||
public static function postAvatar($args) {
|
||||
\OC_JSON::checkLoggedIn();
|
||||
\OC_JSON::callCheck();
|
||||
|
||||
$user = \OC_User::getUser();
|
||||
|
||||
if (isset($_POST['path'])) {
|
||||
$path = stripslashes($_POST['path']);
|
||||
$view = new \OC\Files\View('/'.$user.'/files');
|
||||
$newAvatar = $view->file_get_contents($path);
|
||||
} elseif (!empty($_FILES)) {
|
||||
$files = $_FILES['files'];
|
||||
if (
|
||||
$files['error'][0] === 0 &&
|
||||
is_uploaded_file($files['tmp_name'][0]) &&
|
||||
!\OC\Files\Filesystem::isFileBlacklisted($files['tmp_name'][0])
|
||||
) {
|
||||
$newAvatar = file_get_contents($files['tmp_name'][0]);
|
||||
unlink($files['tmp_name'][0]);
|
||||
}
|
||||
} else {
|
||||
$l = new \OC_L10n('core');
|
||||
\OC_JSON::error(array("data" => array("message" => $l->t("No image or file provided")) ));
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
$avatar = new \OC_Avatar($user);
|
||||
$avatar->set($newAvatar);
|
||||
\OC_JSON::success();
|
||||
} catch (\OC\NotSquareException $e) {
|
||||
$image = new \OC_Image($newAvatar);
|
||||
|
||||
if ($image->valid()) {
|
||||
\OC_Cache::set('tmpavatar', $image->data(), 7200);
|
||||
\OC_JSON::error(array("data" => "notsquare"));
|
||||
} else {
|
||||
$l = new \OC_L10n('core');
|
||||
|
||||
$mimeType = $image->mimeType();
|
||||
if ($mimeType !== 'image/jpeg' && $mimeType !== 'image/png') {
|
||||
\OC_JSON::error(array("data" => array("message" => $l->t("Unknown filetype")) ));
|
||||
}
|
||||
|
||||
if (!$image->valid()) {
|
||||
\OC_JSON::error(array("data" => array("message" => $l->t("Invalid image")) ));
|
||||
}
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
\OC_JSON::error(array("data" => array("message" => $e->getMessage()) ));
|
||||
}
|
||||
}
|
||||
|
||||
public static function deleteAvatar($args) {
|
||||
\OC_JSON::checkLoggedIn();
|
||||
\OC_JSON::callCheck();
|
||||
|
||||
$user = \OC_User::getUser();
|
||||
|
||||
try {
|
||||
$avatar = new \OC_Avatar($user);
|
||||
$avatar->remove();
|
||||
\OC_JSON::success();
|
||||
} catch (\Exception $e) {
|
||||
\OC_JSON::error(array("data" => array("message" => $e->getMessage()) ));
|
||||
}
|
||||
}
|
||||
|
||||
public static function getTmpAvatar($args) {
|
||||
\OC_JSON::checkLoggedIn();
|
||||
\OC_JSON::callCheck();
|
||||
|
||||
$tmpavatar = \OC_Cache::get('tmpavatar');
|
||||
if (is_null($tmpavatar)) {
|
||||
$l = new \OC_L10n('core');
|
||||
\OC_JSON::error(array("data" => array("message" => $l->t("No temporary profile picture available, try again")) ));
|
||||
return;
|
||||
}
|
||||
|
||||
$image = new \OC_Image($tmpavatar);
|
||||
\OC_Response::disableCaching();
|
||||
\OC_Response::setLastModifiedHeader(time());
|
||||
\OC_Response::setETagHeader(crc32($image->data()));
|
||||
$image->show();
|
||||
}
|
||||
|
||||
public static function postCroppedAvatar($args) {
|
||||
\OC_JSON::checkLoggedIn();
|
||||
\OC_JSON::callCheck();
|
||||
|
||||
$user = \OC_User::getUser();
|
||||
if (isset($_POST['crop'])) {
|
||||
$crop = $_POST['crop'];
|
||||
} else {
|
||||
$l = new \OC_L10n('core');
|
||||
\OC_JSON::error(array("data" => array("message" => $l->t("No crop data provided")) ));
|
||||
return;
|
||||
}
|
||||
|
||||
$tmpavatar = \OC_Cache::get('tmpavatar');
|
||||
if (is_null($tmpavatar)) {
|
||||
$l = new \OC_L10n('core');
|
||||
\OC_JSON::error(array("data" => array("message" => $l->t("No temporary profile picture available, try again")) ));
|
||||
return;
|
||||
}
|
||||
|
||||
$image = new \OC_Image($tmpavatar);
|
||||
$image->crop($crop['x'], $crop['y'], $crop['w'], $crop['h']);
|
||||
try {
|
||||
$avatar = new \OC_Avatar($user);
|
||||
$avatar->set($image->data());
|
||||
// Clean up
|
||||
\OC_Cache::remove('tmpavatar');
|
||||
\OC_JSON::success();
|
||||
} catch (\Exception $e) {
|
||||
\OC_JSON::error(array("data" => array("message" => $e->getMessage()) ));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -50,8 +50,8 @@
|
|||
#app-navigation li > a {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 44px;
|
||||
padding: 12px;
|
||||
line-height: 44px;
|
||||
padding: 0 12px;
|
||||
overflow: hidden;
|
||||
-moz-box-sizing: border-box; box-sizing: border-box;
|
||||
white-space: nowrap;
|
||||
|
|
|
|||
|
|
@ -40,6 +40,11 @@ body { background:#fefefe; font:normal .8em/1.6em "Helvetica Neue",Helvetica,Ari
|
|||
.header-right { float:right; vertical-align:middle; padding:0.5em; }
|
||||
.header-right > * { vertical-align:middle; }
|
||||
|
||||
#header .avatardiv {
|
||||
text-shadow: none;
|
||||
float: left;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* INPUTS */
|
||||
input[type="text"], input[type="password"], input[type="search"], input[type="number"], input[type="email"], input[type="url"],
|
||||
|
|
@ -583,8 +588,18 @@ label.infield { cursor:text !important; top:1.05em; left:.85em; }
|
|||
|
||||
|
||||
/* USER MENU */
|
||||
#settings { float:right; margin-top:7px; color:#bbb; text-shadow:0 -1px 0 #000; }
|
||||
#expand { padding:15px; cursor:pointer; font-weight:bold; }
|
||||
#settings {
|
||||
float: right;
|
||||
margin-top: 7px;
|
||||
margin-left: 10px;
|
||||
color: #bbb;
|
||||
text-shadow: 0 -1px 0 #000;
|
||||
}
|
||||
#expand {
|
||||
padding: 15px 15px 15px 5px;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
}
|
||||
#expand:hover, #expand:focus, #expand:active { color:#fff; }
|
||||
#expand img { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; filter:alpha(opacity=70); opacity:.7; margin-bottom:-2px; }
|
||||
#expand:hover img, #expand:focus img, #expand:active img { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
|
||||
|
|
@ -624,6 +639,7 @@ label.infield { cursor:text !important; top:1.05em; left:.85em; }
|
|||
.hidden { display:none; }
|
||||
.bold { font-weight:bold; }
|
||||
.center { text-align:center; }
|
||||
.inlineblock { display: inline-block; }
|
||||
|
||||
#notification-container { position: fixed; top: 0px; width: 100%; text-align: center; z-index: 101; line-height: 1.2;}
|
||||
#notification, #update-notification { z-index:101; background-color:#fc4; border:0; padding:0 .7em .3em; display:none; position: relative; top:0; -moz-border-radius-bottomleft:1em; -webkit-border-bottom-left-radius:1em; border-bottom-left-radius:1em; -moz-border-radius-bottomright:1em; -webkit-border-bottom-right-radius:1em; border-bottom-right-radius:1em; }
|
||||
|
|
|
|||
9
core/js/avatar.js
Normal file
9
core/js/avatar.js
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
$(document).ready(function(){
|
||||
$('#header .avatardiv').avatar(OC.currentUser, 32);
|
||||
// Personal settings
|
||||
$('#avatar .avatardiv').avatar(OC.currentUser, 128);
|
||||
// User settings
|
||||
$.each($('td.avatar .avatardiv'), function(i, element) {
|
||||
$(element).avatar($(element).parent().parent().data('uid'), 32);
|
||||
});
|
||||
});
|
||||
83
core/js/jquery.avatar.js
Normal file
83
core/js/jquery.avatar.js
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
/**
|
||||
* Copyright (c) 2013 Christopher Schäpers <christopher@schaepers.it>
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
/**
|
||||
* This plugin inserts the right avatar for the user, depending on, whether a
|
||||
* custom avatar is uploaded - which it uses then - or not, and display a
|
||||
* placeholder with the first letter of the users name instead.
|
||||
* For this it queries the core_avatar_get route, thus this plugin is fit very
|
||||
* tightly for owncloud, and it may not work anywhere else.
|
||||
*
|
||||
* You may use this on any <div></div>
|
||||
* Here I'm using <div class="avatardiv"></div> as an example.
|
||||
*
|
||||
* There are 4 ways to call this:
|
||||
*
|
||||
* 1. $('.avatardiv').avatar('jdoe', 128);
|
||||
* This will make the div to jdoe's fitting avatar, with a size of 128px.
|
||||
*
|
||||
* 2. $('.avatardiv').avatar('jdoe');
|
||||
* This will make the div to jdoe's fitting avatar. If the div aready has a
|
||||
* height, it will be used for the avatars size. Otherwise this plugin will
|
||||
* search for 'size' DOM data, to use for avatar size. If neither are available
|
||||
* it will default to 64px.
|
||||
*
|
||||
* 3. $('.avatardiv').avatar();
|
||||
* This will search the DOM for 'user' data, to use as the username. If there
|
||||
* is no username available it will default to a placeholder with the value of
|
||||
* "x". The size will be determined the same way, as the second example.
|
||||
*
|
||||
* 4. $('.avatardiv').avatar('jdoe', 128, true);
|
||||
* This will behave like the first example, except it will also append random
|
||||
* hashes to the custom avatar images, to force image reloading in IE8.
|
||||
*/
|
||||
|
||||
(function ($) {
|
||||
$.fn.avatar = function(user, size, ie8fix) {
|
||||
if (typeof(size) === 'undefined') {
|
||||
if (this.height() > 0) {
|
||||
size = this.height();
|
||||
} else if (this.data('size') > 0) {
|
||||
size = this.data('size');
|
||||
} else {
|
||||
size = 64;
|
||||
}
|
||||
}
|
||||
|
||||
this.height(size);
|
||||
this.width(size);
|
||||
|
||||
if (typeof(user) === 'undefined') {
|
||||
if (typeof(this.data('user')) !== 'undefined') {
|
||||
user = this.data('user');
|
||||
} else {
|
||||
this.placeholder('x');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// sanitize
|
||||
user = user.replace(/\//g,'');
|
||||
|
||||
var $div = this;
|
||||
|
||||
OC.Router.registerLoadedCallback(function() {
|
||||
var url = OC.Router.generate('core_avatar_get', {user: user, size: size})+'?requesttoken='+oc_requesttoken;
|
||||
$.get(url, function(result) {
|
||||
if (typeof(result) === 'object') {
|
||||
$div.placeholder(user);
|
||||
} else {
|
||||
if (ie8fix === true) {
|
||||
$div.html('<img src="'+url+'#'+Math.floor(Math.random()*1000)+'">');
|
||||
} else {
|
||||
$div.html('<img src="'+url+'">');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
}(jQuery));
|
||||
|
|
@ -321,6 +321,38 @@ var OC={
|
|||
var date = new Date(1000*mtime);
|
||||
return date.getDate()+'.'+(date.getMonth()+1)+'.'+date.getFullYear()+', '+date.getHours()+':'+date.getMinutes();
|
||||
},
|
||||
/**
|
||||
* Parses a URL query string into a JS map
|
||||
* @param queryString query string in the format param1=1234¶m2=abcde¶m3=xyz
|
||||
* @return map containing key/values matching the URL parameters
|
||||
*/
|
||||
parseQueryString:function(queryString){
|
||||
var parts,
|
||||
components,
|
||||
result = {},
|
||||
key,
|
||||
value;
|
||||
if (!queryString){
|
||||
return null;
|
||||
}
|
||||
if (queryString[0] === '?'){
|
||||
queryString = queryString.substr(1);
|
||||
}
|
||||
parts = queryString.split('&');
|
||||
for (var i = 0; i < parts.length; i++){
|
||||
components = parts[i].split('=');
|
||||
if (!components.length){
|
||||
continue;
|
||||
}
|
||||
key = decodeURIComponent(components[0]);
|
||||
if (!key){
|
||||
continue;
|
||||
}
|
||||
value = components[1];
|
||||
result[key] = value && decodeURIComponent(value);
|
||||
}
|
||||
return result;
|
||||
},
|
||||
/**
|
||||
* Opens a popup with the setting for an app.
|
||||
* @param appid String. The ID of the app e.g. 'calendar', 'contacts' or 'files'.
|
||||
|
|
|
|||
|
|
@ -139,8 +139,12 @@ var OCdialogs = {
|
|||
}
|
||||
});
|
||||
})
|
||||
.fail(function() {
|
||||
alert(t('core', 'Error loading file picker template'));
|
||||
.fail(function(status, error) {
|
||||
// If the method is called while navigating away
|
||||
// from the page, it is probably not needed ;)
|
||||
if(status !== 0) {
|
||||
alert(t('core', 'Error loading file picker template: {error}', {error: error}));
|
||||
}
|
||||
});
|
||||
},
|
||||
/**
|
||||
|
|
@ -206,8 +210,14 @@ var OCdialogs = {
|
|||
});
|
||||
OCdialogs.dialogs_counter++;
|
||||
})
|
||||
.fail(function() {
|
||||
alert(t('core', 'Error loading file picker template'));
|
||||
.fail(function(status, error) {
|
||||
// If the method is called while navigating away from
|
||||
// the page, we still want to deliver the message.
|
||||
if(status === 0) {
|
||||
alert(title + ': ' + content);
|
||||
} else {
|
||||
alert(t('core', 'Error loading message template: {error}', {error: error}));
|
||||
}
|
||||
});
|
||||
},
|
||||
_getFilePickerTemplate: function() {
|
||||
|
|
@ -219,8 +229,8 @@ var OCdialogs = {
|
|||
self.$listTmpl = self.$filePickerTemplate.find('.filelist li:first-child').detach();
|
||||
defer.resolve(self.$filePickerTemplate);
|
||||
})
|
||||
.fail(function() {
|
||||
defer.reject();
|
||||
.fail(function(jqXHR, textStatus, errorThrown) {
|
||||
defer.reject(jqXHR.status, errorThrown);
|
||||
});
|
||||
} else {
|
||||
defer.resolve(this.$filePickerTemplate);
|
||||
|
|
@ -235,8 +245,8 @@ var OCdialogs = {
|
|||
self.$messageTemplate = $(tmpl);
|
||||
defer.resolve(self.$messageTemplate);
|
||||
})
|
||||
.fail(function() {
|
||||
defer.reject();
|
||||
.fail(function(jqXHR, textStatus, errorThrown) {
|
||||
defer.reject(jqXHR.status, errorThrown);
|
||||
});
|
||||
} else {
|
||||
defer.resolve(this.$messageTemplate);
|
||||
|
|
@ -292,11 +302,7 @@ var OCdialogs = {
|
|||
filename: entry.name,
|
||||
date: OC.mtime2date(entry.mtime)
|
||||
});
|
||||
if (entry.mimetype === "httpd/unix-directory") {
|
||||
$li.find('img').attr('src', OC.imagePath('core', 'filetypes/folder.png'));
|
||||
} else {
|
||||
$li.find('img').attr('src', OC.Router.generate('core_ajax_preview', {x:32, y:32, file:escapeHTML(dir+'/'+entry.name)}) );
|
||||
}
|
||||
$li.find('img').attr('src', entry.mimetype_icon);
|
||||
self.$filelist.append($li);
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -233,6 +233,7 @@ OC.Share={
|
|||
// } else {
|
||||
$.get(OC.filePath('core', 'ajax', 'share.php'), { fetch: 'getShareWith', search: search.term, itemShares: OC.Share.itemShares }, function(result) {
|
||||
if (result.status == 'success' && result.data.length > 0) {
|
||||
$( "#shareWith" ).autocomplete( "option", "autoFocus", true );
|
||||
response(result.data);
|
||||
} else {
|
||||
// Suggest sharing via email if valid email address
|
||||
|
|
@ -240,6 +241,7 @@ OC.Share={
|
|||
// if (pattern.test(search.term)) {
|
||||
// response([{label: t('core', 'Share via email:')+' '+search.term, value: {shareType: OC.Share.SHARE_TYPE_EMAIL, shareWith: search.term}}]);
|
||||
// } else {
|
||||
$( "#shareWith" ).autocomplete( "option", "autoFocus", false );
|
||||
response([t('core', 'No people found')]);
|
||||
// }
|
||||
}
|
||||
|
|
@ -423,7 +425,7 @@ OC.Share={
|
|||
dateFormat : 'dd-mm-yy'
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
|
|
@ -512,7 +514,7 @@ $(document).ready(function() {
|
|||
|
||||
$(document).on('change', '#dropdown .permissions', function() {
|
||||
if ($(this).attr('name') == 'edit') {
|
||||
var li = $(this).parent().parent()
|
||||
var li = $(this).parent().parent();
|
||||
var checkboxes = $('.permissions', li);
|
||||
var checked = $(this).is(':checked');
|
||||
// Check/uncheck Create, Update, and Delete checkboxes if Edit is checked/unck
|
||||
|
|
|
|||
8
core/l10n/km.php
Normal file
8
core/l10n/km.php
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<?php
|
||||
$TRANSLATIONS = array(
|
||||
"_%n minute ago_::_%n minutes ago_" => array(""),
|
||||
"_%n hour ago_::_%n hours ago_" => array(""),
|
||||
"_%n day ago_::_%n days ago_" => array(""),
|
||||
"_%n month ago_::_%n months ago_" => array("")
|
||||
);
|
||||
$PLURAL_FORMS = "nplurals=1; plural=0;";
|
||||
|
|
@ -2,6 +2,12 @@
|
|||
$TRANSLATIONS = array(
|
||||
"%s shared »%s« with you" => "%s pasidalino »%s« su tavimi",
|
||||
"group" => "grupė",
|
||||
"Turned on maintenance mode" => "Įjungta priežiūros veiksena",
|
||||
"Turned off maintenance mode" => "Išjungta priežiūros veiksena",
|
||||
"Updated database" => "Atnaujinta duomenų bazė",
|
||||
"Updating filecache, this may take really long..." => "Atnaujinama failų talpykla, tai gali užtrukti labai ilgai...",
|
||||
"Updated filecache" => "Atnaujinta failų talpykla",
|
||||
"... %d%% done ..." => "... %d%% atlikta ...",
|
||||
"Category type not provided." => "Kategorija nenurodyta.",
|
||||
"No category to add?" => "Nepridėsite jokios kategorijos?",
|
||||
"This category already exists: %s" => "Ši kategorija jau egzistuoja: %s",
|
||||
|
|
@ -35,7 +41,7 @@ $TRANSLATIONS = array(
|
|||
"_%n hour ago_::_%n hours ago_" => array("prieš %n valandą","prieš %n valandų","prieš %n valandų"),
|
||||
"today" => "šiandien",
|
||||
"yesterday" => "vakar",
|
||||
"_%n day ago_::_%n days ago_" => array("","",""),
|
||||
"_%n day ago_::_%n days ago_" => array("prieš %n dieną","prieš %n dienas","prieš %n dienų"),
|
||||
"last month" => "praeitą mėnesį",
|
||||
"_%n month ago_::_%n months ago_" => array("prieš %n mėnesį","prieš %n mėnesius","prieš %n mėnesių"),
|
||||
"months ago" => "prieš mėnesį",
|
||||
|
|
@ -61,6 +67,7 @@ $TRANSLATIONS = array(
|
|||
"Share with link" => "Dalintis nuoroda",
|
||||
"Password protect" => "Apsaugotas slaptažodžiu",
|
||||
"Password" => "Slaptažodis",
|
||||
"Allow Public Upload" => "Leisti viešą įkėlimą",
|
||||
"Email link to person" => "Nusiųsti nuorodą paštu",
|
||||
"Send" => "Siųsti",
|
||||
"Set expiration date" => "Nustatykite galiojimo laiką",
|
||||
|
|
@ -89,6 +96,7 @@ $TRANSLATIONS = array(
|
|||
"Request failed!<br>Did you make sure your email/username was right?" => "Klaida!<br>Ar tikrai jūsų el paštas/vartotojo vardas buvo teisingi?",
|
||||
"You will receive a link to reset your password via Email." => "Elektroniniu paštu gausite nuorodą, su kuria galėsite iš naujo nustatyti slaptažodį.",
|
||||
"Username" => "Prisijungimo vardas",
|
||||
"Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?" => "Jūsų failai yra užšifruoti. Jei neįjungėte atstatymo rakto, nebus galimybės atstatyti duomenų po slaptažodžio atstatymo. Jei nesate tikri ką daryti, prašome susisiekti su administratoriumi prie tęsiant. Ar tikrai tęsti?",
|
||||
"Yes, I really want to reset my password now" => "Taip, aš tikrai noriu atnaujinti slaptažodį",
|
||||
"Request reset" => "Prašyti nustatymo iš najo",
|
||||
"Your password was reset" => "Jūsų slaptažodis buvo nustatytas iš naujo",
|
||||
|
|
@ -102,13 +110,16 @@ $TRANSLATIONS = array(
|
|||
"Help" => "Pagalba",
|
||||
"Access forbidden" => "Priėjimas draudžiamas",
|
||||
"Cloud not found" => "Negalima rasti",
|
||||
"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\nCheers!" => "Labas,\n\nInformuojame, kad %s pasidalino su Jumis %s.\nPažiūrėkite: %s\n\nLinkėjimai!",
|
||||
"Edit categories" => "Redaguoti kategorijas",
|
||||
"Add" => "Pridėti",
|
||||
"Security Warning" => "Saugumo pranešimas",
|
||||
"Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" => "Jūsų PHP versija yra pažeidžiama prieš NULL Byte ataką (CVE-2006-7243)",
|
||||
"Please update your PHP installation to use %s securely." => "Prašome atnaujinti savo PHP, kad saugiai naudoti %s.",
|
||||
"No secure random number generator is available, please enable the PHP OpenSSL extension." => "Saugaus atsitiktinių skaičių generatoriaus nėra, prašome įjungti PHP OpenSSL modulį.",
|
||||
"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Be saugaus atsitiktinių skaičių generatoriaus, piktavaliai gali atspėti Jūsų slaptažodį ir pasisavinti paskyrą.",
|
||||
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." => "Jūsų failai yra tikriausiai prieinami per internetą nes .htaccess failas neveikia.",
|
||||
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." => "Kad gauti informaciją apie tai kaip tinkamai sukonfigūruoti savo serverį, prašome skaityti <a href=\"%s\" target=\"_blank\">dokumentaciją</a>.",
|
||||
"Create an <strong>admin account</strong>" => "Sukurti <strong>administratoriaus paskyrą</strong>",
|
||||
"Advanced" => "Išplėstiniai",
|
||||
"Data folder" => "Duomenų katalogas",
|
||||
|
|
@ -129,6 +140,7 @@ $TRANSLATIONS = array(
|
|||
"remember" => "prisiminti",
|
||||
"Log in" => "Prisijungti",
|
||||
"Alternative Logins" => "Alternatyvūs prisijungimai",
|
||||
"Hey there,<br><br>just letting you know that %s shared »%s« with you.<br><a href=\"%s\">View it!</a><br><br>Cheers!" => "Labas,<br><br>tik informuojame, kad %s pasidalino su Jumis »%s«.<br><a href=\"%s\">Peržiūrėk!</a><br><br>Linkėjimai!",
|
||||
"Updating ownCloud to version %s, this may take a while." => "Atnaujinama ownCloud į %s versiją. tai gali šiek tiek užtrukti."
|
||||
);
|
||||
$PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);";
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ $TRANSLATIONS = array(
|
|||
"Turned on maintenance mode" => "Activado o modo de manutenção",
|
||||
"Turned off maintenance mode" => "Desactivado o modo de manutenção",
|
||||
"Updated database" => "Base de dados actualizada",
|
||||
"Updating filecache, this may take really long..." => "A actualizar o cache dos ficheiros, poderá demorar algum tempo...",
|
||||
"Updated filecache" => "Actualizado o cache dos ficheiros",
|
||||
"... %d%% done ..." => "... %d%% feito ...",
|
||||
"Category type not provided." => "Tipo de categoria não fornecido",
|
||||
"No category to add?" => "Nenhuma categoria para adicionar?",
|
||||
|
|
@ -88,6 +90,7 @@ $TRANSLATIONS = array(
|
|||
"Email sent" => "E-mail enviado",
|
||||
"The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud community</a>." => "A actualização falhou. Por favor reporte este incidente seguindo este link <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud community</a>.",
|
||||
"The update was successful. Redirecting you to ownCloud now." => "A actualização foi concluída com sucesso. Vai ser redireccionado para o ownCloud agora.",
|
||||
"%s password reset" => "%s reposição da password",
|
||||
"Use the following link to reset your password: {link}" => "Use o seguinte endereço para repor a sua password: {link}",
|
||||
"The link to reset your password has been sent to your email.<br>If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator ." => "O link para fazer reset à sua password foi enviado para o seu e-mail. <br> Se não o recebeu dentro um espaço de tempo aceitável, por favor verifique a sua pasta de SPAM.<br> Se não o encontrar, por favor contacte o seu administrador.",
|
||||
"Request failed!<br>Did you make sure your email/username was right?" => "O pedido falhou! <br> Tem a certeza que introduziu o seu email/username correcto?",
|
||||
|
|
|
|||
|
|
@ -57,6 +57,23 @@ $this->create('core_lostpassword_reset_password', '/lostpassword/reset/{token}/{
|
|||
->post()
|
||||
->action('OC\Core\LostPassword\Controller', 'resetPassword');
|
||||
|
||||
// Avatar routes
|
||||
$this->create('core_avatar_get_tmp', '/avatar/tmp')
|
||||
->get()
|
||||
->action('OC\Core\Avatar\Controller', 'getTmpAvatar');
|
||||
$this->create('core_avatar_get', '/avatar/{user}/{size}')
|
||||
->get()
|
||||
->action('OC\Core\Avatar\Controller', 'getAvatar');
|
||||
$this->create('core_avatar_post', '/avatar/')
|
||||
->post()
|
||||
->action('OC\Core\Avatar\Controller', 'postAvatar');
|
||||
$this->create('core_avatar_delete', '/avatar/')
|
||||
->delete()
|
||||
->action('OC\Core\Avatar\Controller', 'deleteAvatar');
|
||||
$this->create('core_avatar_post_cropped', '/avatar/cropped')
|
||||
->post()
|
||||
->action('OC\Core\Avatar\Controller', 'postCroppedAvatar');
|
||||
|
||||
// Not specifically routed
|
||||
$this->create('app_css', '/apps/{app}/{file}')
|
||||
->requirements(array('file' => '.*.css'))
|
||||
|
|
|
|||
|
|
@ -49,6 +49,9 @@
|
|||
<span id="expand" tabindex="0" role="link">
|
||||
<span id="expandDisplayName"><?php p(trim($_['user_displayname']) != '' ? $_['user_displayname'] : $_['user_uid']) ?></span>
|
||||
<img class="svg" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" />
|
||||
<?php if ($_['enableAvatars']): ?>
|
||||
<div class="avatardiv"></div>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
<div id="expanddiv">
|
||||
<?php foreach($_['settingsnavigation'] as $entry):?>
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-09-01 13:30+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: ibrahim_9090 <ibrahim9090@gmail.com>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-08-30 09:31-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:34+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -111,7 +111,7 @@ msgstr "URL ফাঁকা রাখা যাবে না।"
|
|||
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
|
||||
msgstr ""
|
||||
|
||||
#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
|
||||
#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
|
||||
msgid "Error"
|
||||
msgstr "সমস্যা"
|
||||
|
||||
|
|
@ -127,57 +127,57 @@ msgstr ""
|
|||
msgid "Rename"
|
||||
msgstr "পূনঃনামকরণ"
|
||||
|
||||
#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
|
||||
#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
|
||||
msgid "Pending"
|
||||
msgstr "মুলতুবি"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "{new_name} already exists"
|
||||
msgstr "{new_name} টি বিদ্যমান"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "replace"
|
||||
msgstr "প্রতিস্থাপন"
|
||||
|
||||
#: js/filelist.js:305
|
||||
#: js/filelist.js:307
|
||||
msgid "suggest name"
|
||||
msgstr "নাম সুপারিশ করুন"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "cancel"
|
||||
msgstr "বাতিল"
|
||||
|
||||
#: js/filelist.js:352
|
||||
#: js/filelist.js:354
|
||||
msgid "replaced {new_name} with {old_name}"
|
||||
msgstr "{new_name} কে {old_name} নামে প্রতিস্থাপন করা হয়েছে"
|
||||
|
||||
#: js/filelist.js:352
|
||||
#: js/filelist.js:354
|
||||
msgid "undo"
|
||||
msgstr "ক্রিয়া প্রত্যাহার"
|
||||
|
||||
#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
|
||||
#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
|
||||
msgid "%n folder"
|
||||
msgid_plural "%n folders"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
|
||||
#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
|
||||
msgid "%n file"
|
||||
msgid_plural "%n files"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: js/filelist.js:430
|
||||
#: js/filelist.js:432
|
||||
msgid "{dirs} and {files}"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:561
|
||||
#: js/filelist.js:563
|
||||
msgid "Uploading %n file"
|
||||
msgid_plural "Uploading %n files"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: js/filelist.js:626
|
||||
#: js/filelist.js:628
|
||||
msgid "files uploading"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -215,15 +215,15 @@ msgid ""
|
|||
"big."
|
||||
msgstr ""
|
||||
|
||||
#: js/files.js:562 templates/index.php:67
|
||||
#: js/files.js:563 templates/index.php:69
|
||||
msgid "Name"
|
||||
msgstr "রাম"
|
||||
|
||||
#: js/files.js:563 templates/index.php:78
|
||||
#: js/files.js:564 templates/index.php:81
|
||||
msgid "Size"
|
||||
msgstr "আকার"
|
||||
|
||||
#: js/files.js:564 templates/index.php:80
|
||||
#: js/files.js:565 templates/index.php:83
|
||||
msgid "Modified"
|
||||
msgstr "পরিবর্তিত"
|
||||
|
||||
|
|
@ -300,33 +300,33 @@ msgstr ""
|
|||
msgid "Nothing in here. Upload something!"
|
||||
msgstr "এখানে কিছুই নেই। কিছু আপলোড করুন !"
|
||||
|
||||
#: templates/index.php:73
|
||||
#: templates/index.php:75
|
||||
msgid "Download"
|
||||
msgstr "ডাউনলোড"
|
||||
|
||||
#: templates/index.php:85 templates/index.php:86
|
||||
#: templates/index.php:88 templates/index.php:89
|
||||
msgid "Unshare"
|
||||
msgstr "ভাগাভাগি বাতিল "
|
||||
|
||||
#: templates/index.php:91 templates/index.php:92
|
||||
#: templates/index.php:94 templates/index.php:95
|
||||
msgid "Delete"
|
||||
msgstr "মুছে"
|
||||
|
||||
#: templates/index.php:105
|
||||
#: templates/index.php:108
|
||||
msgid "Upload too large"
|
||||
msgstr "আপলোডের আকারটি অনেক বড়"
|
||||
|
||||
#: templates/index.php:107
|
||||
#: templates/index.php:110
|
||||
msgid ""
|
||||
"The files you are trying to upload exceed the maximum size for file uploads "
|
||||
"on this server."
|
||||
msgstr "আপনি এই সার্ভারে আপলোড করার জন্য অনুমোদিত ফাইলের সর্বোচ্চ আকারের চেয়ে বৃহদাকার ফাইল আপলোড করার চেষ্টা করছেন "
|
||||
|
||||
#: templates/index.php:112
|
||||
#: templates/index.php:115
|
||||
msgid "Files are being scanned, please wait."
|
||||
msgstr "ফাইলগুলো স্ক্যান করা হচ্ছে, দয়া করে অপেক্ষা করুন।"
|
||||
|
||||
#: templates/index.php:115
|
||||
#: templates/index.php:118
|
||||
msgid "Current scanning"
|
||||
msgstr "বর্তমান স্ক্যানিং"
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-05 07:36-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 07:40+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: rogerc\n"
|
||||
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: rogerc\n"
|
||||
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-31 08:10+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: pstast <petr@stastny.eu>\n"
|
||||
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: pstast <petr@stastny.eu>\n"
|
||||
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-31 17:27+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: Sappe\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: Sappe\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-31 18:00+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: Mario Siegmann <mario_siegmann@web.de>\n"
|
||||
"Language-Team: German <translations@owncloud.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: Mario Siegmann <mario_siegmann@web.de>\n"
|
||||
"Language-Team: German <translations@owncloud.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/owncloud/language/de_CH/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: FlorianScholz <work@bgstyle.de>\n"
|
||||
"Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/owncloud/language/de_CH/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-31 18:00+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: Mario Siegmann <mario_siegmann@web.de>\n"
|
||||
"Language-Team: German (Germany) <translations@owncloud.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: Mario Siegmann <mario_siegmann@web.de>\n"
|
||||
"Language-Team: German (Germany) <translations@owncloud.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: Efstathios Iosifidis <iefstathios@gmail.com>\n"
|
||||
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:40+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: mnestis <transifex@mnestis.net>\n"
|
||||
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/en_GB/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: mnestis <transifex@mnestis.net>\n"
|
||||
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/en_GB/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-05 07:36-0400\n"
|
||||
"PO-Revision-Date: 2013-09-03 18:10+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-13 23:50+0000\n"
|
||||
"Last-Translator: Korrosivo <yo@rubendelcampo.es>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-13 23:50+0000\n"
|
||||
"Last-Translator: Korrosivo <yo@rubendelcampo.es>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-10 10:41-0400\n"
|
||||
"PO-Revision-Date: 2013-09-10 13:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: cnngimenez\n"
|
||||
"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-11 06:48-0400\n"
|
||||
"PO-Revision-Date: 2013-09-11 10:30+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: cjtess <claudio.tessone@gmail.com>\n"
|
||||
"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-11 06:48-0400\n"
|
||||
"PO-Revision-Date: 2013-09-11 10:48+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:47-0400\n"
|
||||
"PO-Revision-Date: 2013-09-11 11:00+0000\n"
|
||||
"Last-Translator: cjtess <claudio.tessone@gmail.com>\n"
|
||||
"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -366,7 +366,7 @@ msgid ""
|
|||
"You must make sure that the attribute of your choice can be fetched for both"
|
||||
" users and groups and it is unique. Leave it empty for default behavior. "
|
||||
"Changes will have effect only on newly mapped (added) LDAP users and groups."
|
||||
msgstr ""
|
||||
msgstr "Por defecto, el atributo UUID es detectado automáticamente. Este atributo es usado para identificar de manera certera usuarios y grupos LDAP. Además, el nombre de usuario interno será creado en base al UUID, si no fue especificado otro comportamiento más arriba. Podés sobrescribir la configuración y pasar un atributo de tu elección. Tenés que asegurarte que el atributo de tu elección sea accesible por los usuarios y grupos y que sea único. Dejalo en blanco para usar el comportamiento por defecto. Los cambios tendrán efecto sólo en los nuevos usuarios y grupos de LDAP mapeados (agregados)."
|
||||
|
||||
#: templates/settings.php:103
|
||||
msgid "UUID Attribute:"
|
||||
|
|
@ -388,7 +388,7 @@ msgid ""
|
|||
" is not configuration sensitive, it affects all LDAP configurations! Never "
|
||||
"clear the mappings in a production environment, only in a testing or "
|
||||
"experimental stage."
|
||||
msgstr ""
|
||||
msgstr "Los usuarios son usados para almacenar y asignar datos (metadatos). Con el fin de identificar de forma precisa y reconocer usuarios, a cada usuario de LDAP se será asignado un nombre de usuario interno. Esto requiere un mapeo entre el nombre de usuario y el usuario del LDAP. El nombre de usuario creado es mapeado respecto al UUID del usuario en el LDAP. De forma adicional, el DN es dejado en caché para reducir la interacción entre el LDAP, pero no es usado para la identificación. Si el DN cambia, los cambios van a ser aplicados. El nombre de usuario interno es usado en todos los lugares. Vaciar los mapeos, deja restos por todas partes. Vaciar los mapeos, no es sensible a configuración, ¡afecta a todas las configuraciones del LDAP! Nunca limpies los mapeos en un entorno de producción, solamente en fase de desarrollo o experimental."
|
||||
|
||||
#: templates/settings.php:106
|
||||
msgid "Clear Username-LDAP User Mapping"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-05 07:36-0400\n"
|
||||
"PO-Revision-Date: 2013-09-04 05:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: pisike.sipelgas <pisike.sipelgas@gmail.com>\n"
|
||||
"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: pisike.sipelgas <pisike.sipelgas@gmail.com>\n"
|
||||
"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: asieriko <asieriko@gmail.com>\n"
|
||||
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 17:20+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
|
||||
"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
|
||||
"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:39-0400\n"
|
||||
"PO-Revision-Date: 2013-09-06 15:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: ogre_sympathique <ogre.sympathique@speed.1s.fr>\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
|
||||
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-05 07:36-0400\n"
|
||||
"PO-Revision-Date: 2013-09-03 12:20+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: mbouzada <mbouzada@gmail.com>\n"
|
||||
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: mbouzada <mbouzada@gmail.com>\n"
|
||||
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-08-30 09:31-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:34+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -111,7 +111,7 @@ msgstr ""
|
|||
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
|
||||
msgstr ""
|
||||
|
||||
#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
|
||||
#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
|
||||
msgid "Error"
|
||||
msgstr "Greška"
|
||||
|
||||
|
|
@ -127,60 +127,60 @@ msgstr ""
|
|||
msgid "Rename"
|
||||
msgstr "Promjeni ime"
|
||||
|
||||
#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
|
||||
#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
|
||||
msgid "Pending"
|
||||
msgstr "U tijeku"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "{new_name} already exists"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "replace"
|
||||
msgstr "zamjeni"
|
||||
|
||||
#: js/filelist.js:305
|
||||
#: js/filelist.js:307
|
||||
msgid "suggest name"
|
||||
msgstr "predloži ime"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "cancel"
|
||||
msgstr "odustani"
|
||||
|
||||
#: js/filelist.js:352
|
||||
#: js/filelist.js:354
|
||||
msgid "replaced {new_name} with {old_name}"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:352
|
||||
#: js/filelist.js:354
|
||||
msgid "undo"
|
||||
msgstr "vrati"
|
||||
|
||||
#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
|
||||
#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
|
||||
msgid "%n folder"
|
||||
msgid_plural "%n folders"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
|
||||
#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
|
||||
msgid "%n file"
|
||||
msgid_plural "%n files"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
#: js/filelist.js:430
|
||||
#: js/filelist.js:432
|
||||
msgid "{dirs} and {files}"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:561
|
||||
#: js/filelist.js:563
|
||||
msgid "Uploading %n file"
|
||||
msgid_plural "Uploading %n files"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
#: js/filelist.js:626
|
||||
#: js/filelist.js:628
|
||||
msgid "files uploading"
|
||||
msgstr "datoteke se učitavaju"
|
||||
|
||||
|
|
@ -218,15 +218,15 @@ msgid ""
|
|||
"big."
|
||||
msgstr ""
|
||||
|
||||
#: js/files.js:562 templates/index.php:67
|
||||
#: js/files.js:563 templates/index.php:69
|
||||
msgid "Name"
|
||||
msgstr "Ime"
|
||||
|
||||
#: js/files.js:563 templates/index.php:78
|
||||
#: js/files.js:564 templates/index.php:81
|
||||
msgid "Size"
|
||||
msgstr "Veličina"
|
||||
|
||||
#: js/files.js:564 templates/index.php:80
|
||||
#: js/files.js:565 templates/index.php:83
|
||||
msgid "Modified"
|
||||
msgstr "Zadnja promjena"
|
||||
|
||||
|
|
@ -303,33 +303,33 @@ msgstr ""
|
|||
msgid "Nothing in here. Upload something!"
|
||||
msgstr "Nema ničega u ovoj mapi. Pošalji nešto!"
|
||||
|
||||
#: templates/index.php:73
|
||||
#: templates/index.php:75
|
||||
msgid "Download"
|
||||
msgstr "Preuzimanje"
|
||||
|
||||
#: templates/index.php:85 templates/index.php:86
|
||||
#: templates/index.php:88 templates/index.php:89
|
||||
msgid "Unshare"
|
||||
msgstr "Makni djeljenje"
|
||||
|
||||
#: templates/index.php:91 templates/index.php:92
|
||||
#: templates/index.php:94 templates/index.php:95
|
||||
msgid "Delete"
|
||||
msgstr "Obriši"
|
||||
|
||||
#: templates/index.php:105
|
||||
#: templates/index.php:108
|
||||
msgid "Upload too large"
|
||||
msgstr "Prijenos je preobiman"
|
||||
|
||||
#: templates/index.php:107
|
||||
#: templates/index.php:110
|
||||
msgid ""
|
||||
"The files you are trying to upload exceed the maximum size for file uploads "
|
||||
"on this server."
|
||||
msgstr "Datoteke koje pokušavate prenijeti prelaze maksimalnu veličinu za prijenos datoteka na ovom poslužitelju."
|
||||
|
||||
#: templates/index.php:112
|
||||
#: templates/index.php:115
|
||||
msgid "Files are being scanned, please wait."
|
||||
msgstr "Datoteke se skeniraju, molimo pričekajte."
|
||||
|
||||
#: templates/index.php:115
|
||||
#: templates/index.php:118
|
||||
msgid "Current scanning"
|
||||
msgstr "Trenutno skeniranje"
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:50+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\n"
|
||||
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-08-30 09:31-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:34+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -111,7 +111,7 @@ msgstr ""
|
|||
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
|
||||
msgstr ""
|
||||
|
||||
#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
|
||||
#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
|
|
@ -127,57 +127,57 @@ msgstr ""
|
|||
msgid "Rename"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
|
||||
#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "{new_name} already exists"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "replace"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:305
|
||||
#: js/filelist.js:307
|
||||
msgid "suggest name"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "cancel"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:352
|
||||
#: js/filelist.js:354
|
||||
msgid "replaced {new_name} with {old_name}"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:352
|
||||
#: js/filelist.js:354
|
||||
msgid "undo"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
|
||||
#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
|
||||
msgid "%n folder"
|
||||
msgid_plural "%n folders"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
|
||||
#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
|
||||
msgid "%n file"
|
||||
msgid_plural "%n files"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: js/filelist.js:430
|
||||
#: js/filelist.js:432
|
||||
msgid "{dirs} and {files}"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:561
|
||||
#: js/filelist.js:563
|
||||
msgid "Uploading %n file"
|
||||
msgid_plural "Uploading %n files"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: js/filelist.js:626
|
||||
#: js/filelist.js:628
|
||||
msgid "files uploading"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -215,15 +215,15 @@ msgid ""
|
|||
"big."
|
||||
msgstr ""
|
||||
|
||||
#: js/files.js:562 templates/index.php:67
|
||||
#: js/files.js:563 templates/index.php:69
|
||||
msgid "Name"
|
||||
msgstr "Nomine"
|
||||
|
||||
#: js/files.js:563 templates/index.php:78
|
||||
#: js/files.js:564 templates/index.php:81
|
||||
msgid "Size"
|
||||
msgstr "Dimension"
|
||||
|
||||
#: js/files.js:564 templates/index.php:80
|
||||
#: js/files.js:565 templates/index.php:83
|
||||
msgid "Modified"
|
||||
msgstr "Modificate"
|
||||
|
||||
|
|
@ -300,33 +300,33 @@ msgstr ""
|
|||
msgid "Nothing in here. Upload something!"
|
||||
msgstr "Nihil hic. Incarga alcun cosa!"
|
||||
|
||||
#: templates/index.php:73
|
||||
#: templates/index.php:75
|
||||
msgid "Download"
|
||||
msgstr "Discargar"
|
||||
|
||||
#: templates/index.php:85 templates/index.php:86
|
||||
#: templates/index.php:88 templates/index.php:89
|
||||
msgid "Unshare"
|
||||
msgstr ""
|
||||
|
||||
#: templates/index.php:91 templates/index.php:92
|
||||
#: templates/index.php:94 templates/index.php:95
|
||||
msgid "Delete"
|
||||
msgstr "Deler"
|
||||
|
||||
#: templates/index.php:105
|
||||
#: templates/index.php:108
|
||||
msgid "Upload too large"
|
||||
msgstr "Incargamento troppo longe"
|
||||
|
||||
#: templates/index.php:107
|
||||
#: templates/index.php:110
|
||||
msgid ""
|
||||
"The files you are trying to upload exceed the maximum size for file uploads "
|
||||
"on this server."
|
||||
msgstr ""
|
||||
|
||||
#: templates/index.php:112
|
||||
#: templates/index.php:115
|
||||
msgid "Files are being scanned, please wait."
|
||||
msgstr ""
|
||||
|
||||
#: templates/index.php:115
|
||||
#: templates/index.php:118
|
||||
msgid "Current scanning"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-08-30 09:31-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:34+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -111,7 +111,7 @@ msgstr "URL tidak boleh kosong"
|
|||
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
|
||||
msgstr ""
|
||||
|
||||
#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
|
||||
#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
|
||||
msgid "Error"
|
||||
msgstr "Galat"
|
||||
|
||||
|
|
@ -127,54 +127,54 @@ msgstr "Hapus secara permanen"
|
|||
msgid "Rename"
|
||||
msgstr "Ubah nama"
|
||||
|
||||
#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
|
||||
#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
|
||||
msgid "Pending"
|
||||
msgstr "Menunggu"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "{new_name} already exists"
|
||||
msgstr "{new_name} sudah ada"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "replace"
|
||||
msgstr "ganti"
|
||||
|
||||
#: js/filelist.js:305
|
||||
#: js/filelist.js:307
|
||||
msgid "suggest name"
|
||||
msgstr "sarankan nama"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "cancel"
|
||||
msgstr "batalkan"
|
||||
|
||||
#: js/filelist.js:352
|
||||
#: js/filelist.js:354
|
||||
msgid "replaced {new_name} with {old_name}"
|
||||
msgstr "mengganti {new_name} dengan {old_name}"
|
||||
|
||||
#: js/filelist.js:352
|
||||
#: js/filelist.js:354
|
||||
msgid "undo"
|
||||
msgstr "urungkan"
|
||||
|
||||
#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
|
||||
#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
|
||||
msgid "%n folder"
|
||||
msgid_plural "%n folders"
|
||||
msgstr[0] ""
|
||||
|
||||
#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
|
||||
#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
|
||||
msgid "%n file"
|
||||
msgid_plural "%n files"
|
||||
msgstr[0] ""
|
||||
|
||||
#: js/filelist.js:430
|
||||
#: js/filelist.js:432
|
||||
msgid "{dirs} and {files}"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:561
|
||||
#: js/filelist.js:563
|
||||
msgid "Uploading %n file"
|
||||
msgid_plural "Uploading %n files"
|
||||
msgstr[0] ""
|
||||
|
||||
#: js/filelist.js:626
|
||||
#: js/filelist.js:628
|
||||
msgid "files uploading"
|
||||
msgstr "berkas diunggah"
|
||||
|
||||
|
|
@ -212,15 +212,15 @@ msgid ""
|
|||
"big."
|
||||
msgstr "Unduhan Anda sedang disiapkan. Prosesnya dapat berlangsung agak lama jika ukuran berkasnya besar."
|
||||
|
||||
#: js/files.js:562 templates/index.php:67
|
||||
#: js/files.js:563 templates/index.php:69
|
||||
msgid "Name"
|
||||
msgstr "Nama"
|
||||
|
||||
#: js/files.js:563 templates/index.php:78
|
||||
#: js/files.js:564 templates/index.php:81
|
||||
msgid "Size"
|
||||
msgstr "Ukuran"
|
||||
|
||||
#: js/files.js:564 templates/index.php:80
|
||||
#: js/files.js:565 templates/index.php:83
|
||||
msgid "Modified"
|
||||
msgstr "Dimodifikasi"
|
||||
|
||||
|
|
@ -297,33 +297,33 @@ msgstr "Anda tidak memiliki izin menulis di sini."
|
|||
msgid "Nothing in here. Upload something!"
|
||||
msgstr "Tidak ada apa-apa di sini. Unggah sesuatu!"
|
||||
|
||||
#: templates/index.php:73
|
||||
#: templates/index.php:75
|
||||
msgid "Download"
|
||||
msgstr "Unduh"
|
||||
|
||||
#: templates/index.php:85 templates/index.php:86
|
||||
#: templates/index.php:88 templates/index.php:89
|
||||
msgid "Unshare"
|
||||
msgstr "Batalkan berbagi"
|
||||
|
||||
#: templates/index.php:91 templates/index.php:92
|
||||
#: templates/index.php:94 templates/index.php:95
|
||||
msgid "Delete"
|
||||
msgstr "Hapus"
|
||||
|
||||
#: templates/index.php:105
|
||||
#: templates/index.php:108
|
||||
msgid "Upload too large"
|
||||
msgstr "Yang diunggah terlalu besar"
|
||||
|
||||
#: templates/index.php:107
|
||||
#: templates/index.php:110
|
||||
msgid ""
|
||||
"The files you are trying to upload exceed the maximum size for file uploads "
|
||||
"on this server."
|
||||
msgstr "Berkas yang dicoba untuk diunggah melebihi ukuran maksimum pengunggahan berkas di server ini."
|
||||
|
||||
#: templates/index.php:112
|
||||
#: templates/index.php:115
|
||||
msgid "Files are being scanned, please wait."
|
||||
msgstr "Berkas sedang dipindai, silakan tunggu."
|
||||
|
||||
#: templates/index.php:115
|
||||
#: templates/index.php:118
|
||||
msgid "Current scanning"
|
||||
msgstr "Yang sedang dipindai"
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-08-30 09:31-0400\n"
|
||||
"PO-Revision-Date: 2013-08-30 13:34+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -111,7 +111,7 @@ msgstr "Vefslóð má ekki vera tóm."
|
|||
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
|
||||
msgstr ""
|
||||
|
||||
#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
|
||||
#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
|
||||
msgid "Error"
|
||||
msgstr "Villa"
|
||||
|
||||
|
|
@ -127,57 +127,57 @@ msgstr ""
|
|||
msgid "Rename"
|
||||
msgstr "Endurskýra"
|
||||
|
||||
#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
|
||||
#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
|
||||
msgid "Pending"
|
||||
msgstr "Bíður"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "{new_name} already exists"
|
||||
msgstr "{new_name} er þegar til"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "replace"
|
||||
msgstr "yfirskrifa"
|
||||
|
||||
#: js/filelist.js:305
|
||||
#: js/filelist.js:307
|
||||
msgid "suggest name"
|
||||
msgstr "stinga upp á nafni"
|
||||
|
||||
#: js/filelist.js:305 js/filelist.js:307
|
||||
#: js/filelist.js:307 js/filelist.js:309
|
||||
msgid "cancel"
|
||||
msgstr "hætta við"
|
||||
|
||||
#: js/filelist.js:352
|
||||
#: js/filelist.js:354
|
||||
msgid "replaced {new_name} with {old_name}"
|
||||
msgstr "yfirskrifaði {new_name} með {old_name}"
|
||||
|
||||
#: js/filelist.js:352
|
||||
#: js/filelist.js:354
|
||||
msgid "undo"
|
||||
msgstr "afturkalla"
|
||||
|
||||
#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
|
||||
#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
|
||||
msgid "%n folder"
|
||||
msgid_plural "%n folders"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
|
||||
#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
|
||||
msgid "%n file"
|
||||
msgid_plural "%n files"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: js/filelist.js:430
|
||||
#: js/filelist.js:432
|
||||
msgid "{dirs} and {files}"
|
||||
msgstr ""
|
||||
|
||||
#: js/filelist.js:561
|
||||
#: js/filelist.js:563
|
||||
msgid "Uploading %n file"
|
||||
msgid_plural "Uploading %n files"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: js/filelist.js:626
|
||||
#: js/filelist.js:628
|
||||
msgid "files uploading"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -215,15 +215,15 @@ msgid ""
|
|||
"big."
|
||||
msgstr ""
|
||||
|
||||
#: js/files.js:562 templates/index.php:67
|
||||
#: js/files.js:563 templates/index.php:69
|
||||
msgid "Name"
|
||||
msgstr "Nafn"
|
||||
|
||||
#: js/files.js:563 templates/index.php:78
|
||||
#: js/files.js:564 templates/index.php:81
|
||||
msgid "Size"
|
||||
msgstr "Stærð"
|
||||
|
||||
#: js/files.js:564 templates/index.php:80
|
||||
#: js/files.js:565 templates/index.php:83
|
||||
msgid "Modified"
|
||||
msgstr "Breytt"
|
||||
|
||||
|
|
@ -300,33 +300,33 @@ msgstr ""
|
|||
msgid "Nothing in here. Upload something!"
|
||||
msgstr "Ekkert hér. Settu eitthvað inn!"
|
||||
|
||||
#: templates/index.php:73
|
||||
#: templates/index.php:75
|
||||
msgid "Download"
|
||||
msgstr "Niðurhal"
|
||||
|
||||
#: templates/index.php:85 templates/index.php:86
|
||||
#: templates/index.php:88 templates/index.php:89
|
||||
msgid "Unshare"
|
||||
msgstr "Hætta deilingu"
|
||||
|
||||
#: templates/index.php:91 templates/index.php:92
|
||||
#: templates/index.php:94 templates/index.php:95
|
||||
msgid "Delete"
|
||||
msgstr "Eyða"
|
||||
|
||||
#: templates/index.php:105
|
||||
#: templates/index.php:108
|
||||
msgid "Upload too large"
|
||||
msgstr "Innsend skrá er of stór"
|
||||
|
||||
#: templates/index.php:107
|
||||
#: templates/index.php:110
|
||||
msgid ""
|
||||
"The files you are trying to upload exceed the maximum size for file uploads "
|
||||
"on this server."
|
||||
msgstr "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni."
|
||||
|
||||
#: templates/index.php:112
|
||||
#: templates/index.php:115
|
||||
msgid "Files are being scanned, please wait."
|
||||
msgstr "Verið er að skima skrár, vinsamlegast hinkraðu."
|
||||
|
||||
#: templates/index.php:115
|
||||
#: templates/index.php:118
|
||||
msgid "Current scanning"
|
||||
msgstr "Er að skima"
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-09-01 15:54+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-07 04:40-0400\n"
|
||||
"PO-Revision-Date: 2013-09-05 11:51+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:01+0000\n"
|
||||
"Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-09-01 13:27-0400\n"
|
||||
"PO-Revision-Date: 2013-08-31 00:40+0000\n"
|
||||
"POT-Creation-Date: 2013-09-13 21:46-0400\n"
|
||||
"PO-Revision-Date: 2013-09-14 00:00+0000\n"
|
||||
"Last-Translator: tt yn <tetuyano+transi@gmail.com>\n"
|
||||
"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue