Merge branch 'master' into encryption_improved_error_messages_4617

Conflicts:
	apps/files/index.php
This commit is contained in:
Bjoern Schiessle 2013-09-16 10:42:37 +02:00
commit 82cbbb8ab8
695 changed files with 21683 additions and 5039 deletions

View File

@ -10,35 +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"] );
$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));

View File

@ -11,22 +11,54 @@ OCP\JSON::checkLoggedIn();
// Load the files
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
$mimetype = isset($_GET['mimetype']) ? $_GET['mimetype'] : '';
$mimetypes = isset($_GET['mimetypes']) ? json_decode($_GET['mimetypes'], true) : '';
// Clean up duplicates from array and deal with non-array requests
if (is_array($mimetypes)) {
$mimetypes = array_unique($mimetypes);
} elseif (is_null($mimetypes)) {
$mimetypes = array($_GET['mimetypes']);
}
// make filelist
$files = array();
// If a type other than directory is requested first load them.
if($mimetype && strpos($mimetype, 'httpd/unix-directory') === false) {
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, 'httpd/unix-directory' ) as $i ) {
$i["date"] = OCP\Util::formatDate($i["mtime"] );
$i['mimetype_icon'] = $i['type'] == 'dir' ? \mimetype_icon('dir'): \mimetype_icon($i['mimetype']);
$files[] = $i;
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'] = \OCA\files\lib\Helper::determineIcon($file);
$files[] = $file;
}
}
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, $mimetype ) as $i ) {
$i["date"] = OCP\Util::formatDate($i["mtime"] );
$i['mimetype_icon'] = $i['type'] == 'dir' ? \mimetype_icon('dir'): \mimetype_icon($i['mimetype']);
$files[] = $i;
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"]);
$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"]);
$file['mimetype_icon'] = \OCA\files\lib\Helper::determineIcon($file);
$files[] = $file;
}
}
OCP\JSON::success(array('data' => $files));
// Sort by name
usort($files, function ($a, $b) {
if ($a['name'] === $b['name']) {
return 0;
}
return ($a['name'] < $b['name']) ? -1 : 1;
});
OC_JSON::success(array('data' => $files));

View File

@ -69,11 +69,11 @@
/* FILE TABLE */
#filestable { position: relative; top:37px; width:100%; }
tbody tr { background-color:#fff; height:2.5em; }
tbody tr:hover, tbody tr:active {
#filestable tbody tr { background-color:#fff; height:2.5em; }
#filestable tbody tr:hover, tbody tr:active {
background-color: rgb(240,240,240);
}
tbody tr.selected {
#filestable tbody tr.selected {
background-color: rgb(230,230,230);
}
tbody a { color:#000; }
@ -190,10 +190,15 @@ table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
#fileList tr:hover td.filename>input[type="checkbox"]:first-child,
#fileList tr td.filename>input[type="checkbox"]:checked:first-child,
#fileList tr.selected td.filename>input[type="checkbox"]:first-child {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
opacity: 1;
}
.lte9 #fileList tr:hover td.filename>input[type="checkbox"]:first-child,
.lte9 #fileList tr td.filename>input[type="checkbox"][checked=checked]:first-child,
.lte9 #fileList tr.selected td.filename>input[type="checkbox"]:first-child {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
}
/* Use label to have bigger clickable size for checkbox */
#fileList tr td.filename>input[type="checkbox"] + label,
#select_all + label {
@ -331,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;
}

View File

@ -41,79 +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']);
$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');
@ -158,5 +137,7 @@ if ($needUpgrade) {
$tmpl->assign('publicUploadEnabled', $publicUploadEnabled);
$tmpl->assign("encryptedFiles", \OCP\Util::encryptedFiles());
$tmpl->assign("encryptionInitStatus", $encryptionInitStatus);
$tmpl->assign('disableSharing', false);
$tmpl->assign('ajaxLoad', $ajaxLoad);
$tmpl->printPage();
}

View File

@ -46,6 +46,15 @@ $(document).ready(function() {
$('#uploadprogresswrapper input.stop').show();
}
},
submit: function(e, data) {
if ( ! data.formData ) {
// noone set update parameters, we set the minimum
data.formData = {
requesttoken: oc_requesttoken,
dir: $('#dir').val()
};
}
},
/**
* called after the first add, does NOT have the data param
* @param e
@ -141,15 +150,8 @@ $(document).ready(function() {
$('#uploadprogressbar').fadeOut();
}
};
var file_upload_handler = function() {
$('#file_upload_start').fileupload(file_upload_param);
};
if ( document.getElementById('data-upload-form') ) {
$(file_upload_handler);
}
$('#file_upload_start').fileupload(file_upload_param);
$.assocArraySize = function(obj) {
// http://stackoverflow.com/a/6700/11236
var size = 0, key;
@ -344,8 +346,12 @@ $(document).ready(function() {
}
var li=form.parent();
form.remove();
/* workaround for IE 9&10 click event trap, 2 lines: */
$('input').first().focus();
$('#content').focus();
li.append('<p>'+li.data('text')+'</p>');
$('#new>a').click();
});
});
window.file_upload_param = file_upload_param;
});

View File

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

View File

@ -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();
});

View File

@ -103,29 +103,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){
@ -277,72 +354,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 );
@ -424,10 +444,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');
@ -690,3 +706,9 @@ function checkTrashStatus() {
}
});
}
function onClickBreadcrumb(e){
var $el = $(e.target).closest('.crumb');
e.preventDefault();
FileList.changeDirectory(decodeURIComponent($el.data('dir')));
}

View File

@ -35,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "desfés",
"_%n folder_::_%n folders_" => array("%n carpeta","%n carpetes"),
"_%n file_::_%n files_" => array("%n fitxer","%n fitxers"),
"{dirs} and {files}" => "{dirs} i {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Pujant %n fitxer","Pujant %n fitxers"),
"files uploading" => "fitxers pujant",
"'.' is an invalid file name." => "'.' és un nom no vàlid per un fitxer.",

View File

@ -33,15 +33,17 @@ $TRANSLATIONS = array(
"cancel" => "cancelar",
"replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}",
"undo" => "deshacer",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"_Uploading %n file_::_Uploading %n files_" => array("",""),
"_%n folder_::_%n folders_" => array("","%n carpetas"),
"_%n file_::_%n files_" => array("","%n archivos"),
"{dirs} and {files}" => "{dirs} y {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Subiendo %n archivo","Subiendo %n archivos"),
"files uploading" => "subiendo archivos",
"'.' is an invalid file name." => "'.' no es un nombre de archivo válido.",
"File name cannot be empty." => "El nombre de archivo no puede estar vacío.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre Invalido, \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ",
"Your storage is full, files can not be updated or synced anymore!" => "Su almacenamiento está lleno, ¡no se pueden actualizar o sincronizar más!",
"Your storage is almost full ({usedSpacePercent}%)" => "Su almacenamiento está casi lleno ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "El cifrado ha sido deshabilitado pero tus archivos permanecen cifrados. Por favor, ve a tus ajustes personales para descifrar tus archivos.",
"Your download is being prepared. This might take some time if the files are big." => "Su descarga está siendo preparada. Esto puede tardar algún tiempo si los archivos son grandes.",
"Name" => "Nombre",
"Size" => "Tamaño",

View File

@ -33,9 +33,10 @@ $TRANSLATIONS = array(
"cancel" => "cancelar",
"replaced {new_name} with {old_name}" => "se reemplazó {new_name} con {old_name}",
"undo" => "deshacer",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"_Uploading %n file_::_Uploading %n files_" => array("",""),
"_%n folder_::_%n folders_" => array("%n carpeta","%n carpetas"),
"_%n file_::_%n files_" => array("%n archivo","%n archivos"),
"{dirs} and {files}" => "{carpetas} y {archivos}",
"_Uploading %n file_::_Uploading %n files_" => array("Subiendo %n archivo","Subiendo %n archivos"),
"files uploading" => "Subiendo archivos",
"'.' is an invalid file name." => "'.' es un nombre de archivo inválido.",
"File name cannot be empty." => "El nombre del archivo no puede quedar vacío.",

View File

@ -35,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "tagasi",
"_%n folder_::_%n folders_" => array("%n kataloog","%n kataloogi"),
"_%n file_::_%n files_" => array("%n fail","%n faili"),
"{dirs} and {files}" => "{dirs} ja {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Laadin üles %n faili","Laadin üles %n faili"),
"files uploading" => "faili üleslaadimisel",
"'.' is an invalid file name." => "'.' on vigane failinimi.",

View File

@ -6,8 +6,8 @@ $TRANSLATIONS = array(
"Invalid Token" => "Jeton non valide",
"No file was uploaded. Unknown error" => "Aucun fichier n'a été envoyé. Erreur inconnue",
"There is no error, the file uploaded with success" => "Aucune erreur, le fichier a été envoyé avec succès.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Le fichier envoyé dépasse la valeur upload_max_filesize située dans le fichier php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Le fichier envoyé dépasse la directive MAX_FILE_SIZE qui est spécifiée dans le formulaire HTML.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Le fichier envoyé dépasse l'instruction upload_max_filesize située dans le fichier php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Le fichier envoyé dépasse l'instruction MAX_FILE_SIZE qui est spécifiée dans le formulaire HTML.",
"The uploaded file was only partially uploaded" => "Le fichier n'a été que partiellement envoyé.",
"No file was uploaded" => "Pas de fichier envoyé.",
"Missing a temporary folder" => "Absence de dossier temporaire.",
@ -33,15 +33,17 @@ $TRANSLATIONS = array(
"cancel" => "annuler",
"replaced {new_name} with {old_name}" => "{new_name} a été remplacé par {old_name}",
"undo" => "annuler",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"_Uploading %n file_::_Uploading %n files_" => array("",""),
"_%n folder_::_%n folders_" => array("%n dossier","%n dossiers"),
"_%n file_::_%n files_" => array("%n fichier","%n fichiers"),
"{dirs} and {files}" => "{dir} et {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Téléversement de %n fichier","Téléversement de %n fichiers"),
"files uploading" => "fichiers en cours d'envoi",
"'.' is an invalid file name." => "'.' n'est pas un nom de fichier valide.",
"File name cannot be empty." => "Le nom de fichier ne peut être vide.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés.",
"Your storage is full, files can not be updated or synced anymore!" => "Votre espage de stockage est plein, les fichiers ne peuvent plus être téléversés ou synchronisés !",
"Your storage is almost full ({usedSpacePercent}%)" => "Votre espace de stockage est presque plein ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Le chiffrement était désactivé mais vos fichiers sont toujours chiffrés. Veuillez vous rendre sur vos Paramètres personnels pour déchiffrer vos fichiers.",
"Your download is being prepared. This might take some time if the files are big." => "Votre téléchargement est cours de préparation. Ceci peut nécessiter un certain temps si les fichiers sont volumineux.",
"Name" => "Nom",
"Size" => "Taille",

View File

@ -35,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "desfacer",
"_%n folder_::_%n folders_" => array("%n cartafol","%n cartafoles"),
"_%n file_::_%n files_" => array("%n ficheiro","%n ficheiros"),
"{dirs} and {files}" => "{dirs} e {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Cargando %n ficheiro","Cargando %n ficheiros"),
"files uploading" => "ficheiros enviándose",
"'.' is an invalid file name." => "«.» é un nome de ficheiro incorrecto",

View File

@ -2,6 +2,7 @@
$TRANSLATIONS = array(
"URL cannot be empty." => "ناونیشانی به‌سته‌ر نابێت به‌تاڵ بێت.",
"Error" => "هه‌ڵه",
"Share" => "هاوبەشی کردن",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"_Uploading %n file_::_Uploading %n files_" => array("",""),

View File

@ -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",

View File

@ -35,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "ongedaan maken",
"_%n folder_::_%n folders_" => array("","%n mappen"),
"_%n file_::_%n files_" => array("","%n bestanden"),
"{dirs} and {files}" => "{dirs} en {files}",
"_Uploading %n file_::_Uploading %n files_" => array("%n bestand aan het uploaden","%n bestanden aan het uploaden"),
"files uploading" => "bestanden aan het uploaden",
"'.' is an invalid file name." => "'.' is een ongeldige bestandsnaam.",

View File

@ -2,6 +2,8 @@
$TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Klarte ikkje flytta %s det finst allereie ei fil med dette namnet",
"Could not move %s" => "Klarte ikkje flytta %s",
"Unable to set upload directory." => "Klarte ikkje å endra opplastingsmappa.",
"Invalid Token" => "Ugyldig token",
"No file was uploaded. Unknown error" => "Ingen filer lasta opp. Ukjend feil",
"There is no error, the file uploaded with success" => "Ingen feil, fila vart lasta opp",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fila du lasta opp er større enn det «upload_max_filesize» i php.ini tillater: ",
@ -31,19 +33,22 @@ $TRANSLATIONS = array(
"cancel" => "avbryt",
"replaced {new_name} with {old_name}" => "bytte ut {new_name} med {old_name}",
"undo" => "angre",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"_Uploading %n file_::_Uploading %n files_" => array("",""),
"_%n folder_::_%n folders_" => array("%n mappe","%n mapper"),
"_%n file_::_%n files_" => array("%n fil","%n filer"),
"{dirs} and {files}" => "{dirs} og {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Lastar opp %n fil","Lastar opp %n filer"),
"files uploading" => "filer lastar opp",
"'.' is an invalid file name." => "«.» er eit ugyldig filnamn.",
"File name cannot be empty." => "Filnamnet kan ikkje vera tomt.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldig namn, «\\», «/», «<», «>», «:», «\"», «|», «?» og «*» er ikkje tillate.",
"Your storage is full, files can not be updated or synced anymore!" => "Lagringa di er full, kan ikkje lenger oppdatera eller synkronisera!",
"Your storage is almost full ({usedSpacePercent}%)" => "Lagringa di er nesten full ({usedSpacePercent} %)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Kryptering er skrudd av, men filene dine er enno krypterte. Du kan dekryptera filene i personlege innstillingar.",
"Your download is being prepared. This might take some time if the files are big." => "Gjer klar nedlastinga di. Dette kan ta ei stund viss filene er store.",
"Name" => "Namn",
"Size" => "Storleik",
"Modified" => "Endra",
"%s could not be renamed" => "Klarte ikkje å omdøypa på %s",
"Upload" => "Last opp",
"File handling" => "Filhandtering",
"Maximum upload size" => "Maksimal opplastingsstorleik",

View File

@ -33,15 +33,17 @@ $TRANSLATIONS = array(
"cancel" => "anuluj",
"replaced {new_name} with {old_name}" => "zastąpiono {new_name} przez {old_name}",
"undo" => "cofnij",
"_%n folder_::_%n folders_" => array("","",""),
"_%n file_::_%n files_" => array("","",""),
"_Uploading %n file_::_Uploading %n files_" => array("","",""),
"_%n folder_::_%n folders_" => array("%n katalog","%n katalogi","%n katalogów"),
"_%n file_::_%n files_" => array("%n plik","%n pliki","%n plików"),
"{dirs} and {files}" => "{katalogi} and {pliki}",
"_Uploading %n file_::_Uploading %n files_" => array("Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"),
"files uploading" => "pliki wczytane",
"'.' is an invalid file name." => "„.” jest nieprawidłową nazwą pliku.",
"File name cannot be empty." => "Nazwa pliku nie może być pusta.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nieprawidłowa nazwa. Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*' są niedozwolone.",
"Your storage is full, files can not be updated or synced anymore!" => "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!",
"Your storage is almost full ({usedSpacePercent}%)" => "Twój magazyn jest prawie pełny ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Szyfrowanie zostało wyłączone, ale nadal pliki są zaszyfrowane. Przejdź do ustawień osobistych i tam odszyfruj pliki.",
"Your download is being prepared. This might take some time if the files are big." => "Pobieranie jest przygotowywane. Może to zająć trochę czasu jeśli pliki są duże.",
"Name" => "Nazwa",
"Size" => "Rozmiar",

View File

@ -33,15 +33,17 @@ $TRANSLATIONS = array(
"cancel" => "cancelar",
"replaced {new_name} with {old_name}" => "Substituído {old_name} por {new_name} ",
"undo" => "desfazer",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"_Uploading %n file_::_Uploading %n files_" => array("",""),
"_%n folder_::_%n folders_" => array("%n pasta","%n pastas"),
"_%n file_::_%n files_" => array("%n arquivo","%n arquivos"),
"{dirs} and {files}" => "{dirs} e {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Enviando %n arquivo","Enviando %n arquivos"),
"files uploading" => "enviando arquivos",
"'.' is an invalid file name." => "'.' é um nome de arquivo inválido.",
"File name cannot be empty." => "O nome do arquivo não pode estar vazio.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
"Your storage is full, files can not be updated or synced anymore!" => "Seu armazenamento está cheio, arquivos não podem mais ser atualizados ou sincronizados!",
"Your storage is almost full ({usedSpacePercent}%)" => "Seu armazenamento está quase cheio ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Encriptação foi desabilitada mas seus arquivos continuam encriptados. Por favor vá a suas configurações pessoais para descriptar seus arquivos.",
"Your download is being prepared. This might take some time if the files are big." => "Seu download está sendo preparado. Isto pode levar algum tempo se os arquivos forem grandes.",
"Name" => "Nome",
"Size" => "Tamanho",

View File

@ -6,27 +6,27 @@ $TRANSLATIONS = array(
"Invalid Token" => "Jeton Invalid",
"No file was uploaded. Unknown error" => "Nici un fișier nu a fost încărcat. Eroare necunoscută",
"There is no error, the file uploaded with success" => "Nu a apărut nici o eroare, fișierul a fost încărcat cu succes",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fisierul incarcat depaseste upload_max_filesize permisi in php.ini: ",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fisierul incarcat depaseste marimea maxima permisa in php.ini: ",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Fișierul are o dimensiune mai mare decât variabile MAX_FILE_SIZE specificată în formularul HTML",
"The uploaded file was only partially uploaded" => "Fișierul a fost încărcat doar parțial",
"No file was uploaded" => "Nu a fost încărcat nici un fișier",
"Missing a temporary folder" => "Lipsește un director temporar",
"Failed to write to disk" => "Eroare la scriere pe disc",
"Missing a temporary folder" => "Lipsește un dosar temporar",
"Failed to write to disk" => "Eroare la scrierea discului",
"Not enough storage available" => "Nu este suficient spațiu disponibil",
"Upload failed" => "Încărcarea a eșuat",
"Invalid directory." => "Director invalid.",
"Invalid directory." => "registru invalid.",
"Files" => "Fișiere",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nu s-a putut încărca fișierul tău deoarece pare să fie un director sau are 0 bytes.",
"Unable to upload your file as it is a directory or has 0 bytes" => "lista nu se poate incarca poate fi un fisier sau are 0 bytes",
"Not enough space available" => "Nu este suficient spațiu disponibil",
"Upload cancelled." => "Încărcare anulată.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea.",
"URL cannot be empty." => "Adresa URL nu poate fi goală.",
"URL cannot be empty." => "Adresa URL nu poate fi golita",
"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Nume de dosar invalid. Utilizarea 'Shared' e rezervată de ownCloud",
"Error" => "Eroare",
"Share" => "Partajează",
"Share" => "a imparti",
"Delete permanently" => "Stergere permanenta",
"Rename" => "Redenumire",
"Pending" => "În așteptare",
"Pending" => "in timpul",
"{new_name} already exists" => "{new_name} deja exista",
"replace" => "înlocuire",
"suggest name" => "sugerează nume",
@ -39,10 +39,11 @@ $TRANSLATIONS = array(
"files uploading" => "fișiere se încarcă",
"'.' is an invalid file name." => "'.' este un nume invalid de fișier.",
"File name cannot be empty." => "Numele fișierului nu poate rămâne gol.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nume invalid, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise.",
"Your storage is full, files can not be updated or synced anymore!" => "Spatiul de stocare este plin, nu mai puteti incarca s-au sincroniza alte fisiere.",
"Your storage is almost full ({usedSpacePercent}%)" => "Spatiul de stocare este aproape plin ({usedSpacePercent}%)",
"Your download is being prepared. This might take some time if the files are big." => "Se pregătește descărcarea. Aceasta poate să dureze ceva timp dacă fișierele sunt mari.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nume invalide, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise.",
"Your storage is full, files can not be updated or synced anymore!" => "Spatiul de stocare este plin, fisierele nu mai pot fi actualizate sau sincronizate",
"Your storage is almost full ({usedSpacePercent}%)" => "Spatiul de stocare este aproape plin {spatiu folosit}%",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "criptarea a fost disactivata dar fisierele sant inca criptate.va rog intrati in setarile personale pentru a decripta fisierele",
"Your download is being prepared. This might take some time if the files are big." => "in curs de descarcare. Aceasta poate să dureze ceva timp dacă fișierele sunt mari.",
"Name" => "Nume",
"Size" => "Dimensiune",
"Modified" => "Modificat",
@ -51,25 +52,25 @@ $TRANSLATIONS = array(
"File handling" => "Manipulare fișiere",
"Maximum upload size" => "Dimensiune maximă admisă la încărcare",
"max. possible: " => "max. posibil:",
"Needed for multi-file and folder downloads." => "Necesar pentru descărcarea mai multor fișiere și a dosarelor",
"Enable ZIP-download" => "Activează descărcare fișiere compresate",
"Needed for multi-file and folder downloads." => "necesar la descarcarea mai multor liste si fisiere",
"Enable ZIP-download" => "permite descarcarea codurilor ZIP",
"0 is unlimited" => "0 e nelimitat",
"Maximum input size for ZIP files" => "Dimensiunea maximă de intrare pentru fișiere compresate",
"Save" => "Salvează",
"New" => "Nou",
"Text file" => "Fișier text",
"Text file" => "lista",
"Folder" => "Dosar",
"From link" => "de la adresa",
"Deleted files" => "Sterge fisierele",
"Cancel upload" => "Anulează încărcarea",
"You dont have write permissions here." => "Nu ai permisiunea de a sterge fisiere aici.",
"You dont have write permissions here." => "Nu ai permisiunea de a scrie aici.",
"Nothing in here. Upload something!" => "Nimic aici. Încarcă ceva!",
"Download" => "Descarcă",
"Unshare" => "Anulare partajare",
"Unshare" => "Anulare",
"Delete" => "Șterge",
"Upload too large" => "Fișierul încărcat este prea mare",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Fișierul care l-ai încărcat a depășită limita maximă admisă la încărcare pe acest server.",
"Files are being scanned, please wait." => "Fișierele sunt scanate, te rog așteptă.",
"Files are being scanned, please wait." => "Fișierele sunt scanate, asteptati va rog",
"Current scanning" => "În curs de scanare",
"Upgrading filesystem cache..." => "Modernizare fisiere de sistem cache.."
);

View File

@ -2,6 +2,8 @@
$TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "%s nuk u spostua - Aty ekziston një skedar me të njëjtin emër",
"Could not move %s" => "%s nuk u spostua",
"Unable to set upload directory." => "Nuk është i mundur caktimi i dosjes së ngarkimit.",
"Invalid Token" => "Përmbajtje e pavlefshme",
"No file was uploaded. Unknown error" => "Nuk u ngarkua asnjë skedar. Veprim i gabuar i panjohur",
"There is no error, the file uploaded with success" => "Nuk pati veprime të gabuara, skedari u ngarkua me sukses",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Skedari i ngarkuar tejkalon udhëzimin upload_max_filesize tek php.ini:",
@ -11,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Një dosje e përkohshme nuk u gjet",
"Failed to write to disk" => "Ruajtja në disk dështoi",
"Not enough storage available" => "Nuk ka mbetur hapësirë memorizimi e mjaftueshme",
"Upload failed" => "Ngarkimi dështoi",
"Invalid directory." => "Dosje e pavlefshme.",
"Files" => "Skedarët",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nuk është i mundur ngarkimi i skedarit tuaj sepse është dosje ose ka dimension 0 byte",
@ -18,6 +21,7 @@ $TRANSLATIONS = array(
"Upload cancelled." => "Ngarkimi u anulua.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Ngarkimi i skedarit është në vazhdim. Nqse ndërroni faqen tani ngarkimi do të anulohet.",
"URL cannot be empty." => "URL-i nuk mund të jetë bosh.",
"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Emri i dosjes është i pavlefshëm. Përdorimi i \"Shared\" është i rezervuar nga Owncloud-i",
"Error" => "Veprim i gabuar",
"Share" => "Nda",
"Delete permanently" => "Elimino përfundimisht",
@ -29,19 +33,22 @@ $TRANSLATIONS = array(
"cancel" => "anulo",
"replaced {new_name} with {old_name}" => "U zëvëndësua {new_name} me {old_name}",
"undo" => "anulo",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"_Uploading %n file_::_Uploading %n files_" => array("",""),
"_%n folder_::_%n folders_" => array("%n dosje","%n dosje"),
"_%n file_::_%n files_" => array("%n skedar","%n skedarë"),
"{dirs} and {files}" => "{dirs} dhe {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Po ngarkoj %n skedar","Po ngarkoj %n skedarë"),
"files uploading" => "po ngarkoj skedarët",
"'.' is an invalid file name." => "'.' është emër i pavlefshëm.",
"File name cannot be empty." => "Emri i skedarit nuk mund të jetë bosh.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Emër i pavlefshëm, '\\', '/', '<', '>', ':', '\"', '|', '?' dhe '*' nuk lejohen.",
"Your storage is full, files can not be updated or synced anymore!" => "Hapësira juaj e memorizimit është plot, nuk mund të ngarkoni apo sinkronizoni më skedarët.",
"Your storage is almost full ({usedSpacePercent}%)" => "Hapësira juaj e memorizimit është gati plot ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Kodifikimi u çaktivizua por skedarët tuaj vazhdojnë të jenë të kodifikuar. Ju lutem shkoni tek parametrat personale për të dekodifikuar skedarët tuaj.",
"Your download is being prepared. This might take some time if the files are big." => "Shkarkimi juaj po përgatitet. Mund të duhet pak kohë nqse skedarët janë të mëdhenj.",
"Name" => "Emri",
"Size" => "Dimensioni",
"Modified" => "Modifikuar",
"%s could not be renamed" => "Nuk është i mundur riemërtimi i %s",
"Upload" => "Ngarko",
"File handling" => "Trajtimi i skedarit",
"Maximum upload size" => "Dimensioni maksimal i ngarkimit",

View File

@ -2,6 +2,7 @@
$TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Не вдалося перемістити %s - Файл з таким ім'ям вже існує",
"Could not move %s" => "Не вдалося перемістити %s",
"Unable to set upload directory." => "Не вдалося встановити каталог завантаження.",
"No file was uploaded. Unknown error" => "Не завантажено жодного файлу. Невідома помилка",
"There is no error, the file uploaded with success" => "Файл успішно вивантажено без помилок.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Розмір звантаження перевищує upload_max_filesize параметра в php.ini: ",

View File

@ -17,4 +17,120 @@ class Helper
'maxHumanFilesize' => $maxHumanFilesize,
'usedSpacePercent' => (int)$storageInfo['relative']);
}
public static function determineIcon($file) {
if($file['type'] === 'dir') {
$dir = $file['directory'];
$absPath = \OC\Files\Filesystem::getView()->getAbsolutePath($dir.'/'.$file['name']);
$mount = \OC\Files\Filesystem::getMountManager()->find($absPath);
if (!is_null($mount)) {
$sid = $mount->getStorageId();
if (!is_null($sid)) {
$sid = explode(':', $sid);
if ($sid[0] === 'shared') {
return \OC_Helper::mimetypeIcon('dir-shared');
}
if ($sid[0] !== 'local') {
return \OC_Helper::mimetypeIcon('dir-external');
}
}
}
return \OC_Helper::mimetypeIcon('dir');
}
if($file['isPreviewAvailable']) {
$relativePath = substr($file['path'], 6);
return \OC_Helper::previewIcon($relativePath);
}
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;
}
}

View File

@ -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>
@ -16,29 +15,23 @@
</div>
<div id="upload" class="button"
title="<?php p($l->t('Upload') . ' max. '.$_['uploadMaxHumanFilesize']) ?>">
<form data-upload-id='1'
id="data-upload-form"
class="file_upload_form"
action="<?php print_unescaped(OCP\Util::linkTo('files', 'ajax/upload.php')); ?>"
method="post"
enctype="multipart/form-data"
target="file_upload_target_1">
<?php if($_['uploadMaxFilesize'] >= 0):?>
<input type="hidden" name="MAX_FILE_SIZE" id="max_upload"
value="<?php p($_['uploadMaxFilesize']) ?>">
<?php endif;?>
<!-- Send the requesttoken, this is needed for older IE versions
because they don't send the CSRF token via HTTP header in this case -->
<input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']) ?>" id="requesttoken">
<input type="hidden" class="max_human_file_size"
value="(max <?php p($_['uploadMaxHumanFilesize']); ?>)">
<input type="hidden" name="dir" value="<?php p($_['dir']) ?>" id="dir">
<input type="file" id="file_upload_start" name='files[]'/>
<input type="file" id="file_upload_start" name='files[]'
data-url="<?php print_unescaped(OCP\Util::linkTo('files', 'ajax/upload.php')); ?>" />
<a href="#" class="svg"></a>
</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 +41,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 dont 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 dont 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 +74,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'))?>
@ -104,7 +96,7 @@
<?php print_unescaped($_['fileList']); ?>
</tbody>
</table>
<div id="editor"></div>
<div id="editor"></div><!-- FIXME Do not use this div in your app! It is deprecated and will be removed in the future! -->
<div id="uploadsize-message" title="<?php p($l->t('Upload too large'))?>">
<p>
<?php p($l->t('The files you are trying to upload exceed the maximum size for file uploads on this server.'));?>
@ -120,7 +112,8 @@
</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'); ?>" />
<input type="hidden" name="encryptedFiles" id="encryptionInitStatus" value="<?php p($_['encryptionInitStatus']) ?>" />
<input type="hidden" name="encryptedFiles" id="encryptionInitStatus" value="<?php p($_['encryptionInitStatus']) ?>" />

View File

@ -1,7 +1,7 @@
<input type="hidden" id="disableSharing" data-status="<?php p($_['disableSharing']); ?>">
<?php $totalfiles = 0;
$totaldirs = 0;
$totalsize = 0; ?>
<?php foreach($_['files'] as $file):
//strlen('files/') => 6
$relativePath = substr($file['path'], 6);
// the bigger the file, the darker the shade of grey; megabytes*2
$simple_size_color = intval(160-$file['size']/(1024*1024)*2);
if($simple_size_color<0) $simple_size_color = 0;
@ -22,26 +22,7 @@
<?php else: ?>
<td class="filename svg"
<?php endif; ?>
<?php if($file['type'] == 'dir'): ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon('dir')); ?>)"
<?php else: ?>
<?php if($_['isPublic']): ?>
<?php
$relativePath = substr($relativePath, strlen($_['sharingroot']));
?>
<?php if($file['isPreviewAvailable']): ?>
style="background-image:url(<?php print_unescaped(OCP\publicPreview_icon($relativePath, $_['sharingtoken'])); ?>)"
<?php else: ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
<?php endif; ?>
<?php else: ?>
<?php if($file['isPreviewAvailable']): ?>
style="background-image:url(<?php print_unescaped(OCP\preview_icon($relativePath)); ?>)"
<?php else: ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
<?php endif; ?>
<?php endif; ?>
<?php endif; ?>
style="background-image:url(<?php print_unescaped($file['icon']); ?>)"
>
<?php if(!isset($_['readonly']) || !$_['readonly']): ?>
<input id="select-<?php p($file['fileid']); ?>" type="checkbox" />

View File

@ -36,14 +36,6 @@ class Hooks {
*/
public static function login($params) {
$l = new \OC_L10N('files_encryption');
//check if all requirements are met
if(!Helper::checkRequirements() || !Helper::checkConfiguration() ) {
$error_msg = $l->t("Missing requirements.");
$hint = $l->t('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.');
\OC_App::disable('files_encryption');
\OCP\Util::writeLog('Encryption library', $error_msg . ' ' . $hint, \OCP\Util::ERROR);
\OCP\Template::printErrorPage($error_msg, $hint);
}
$view = new \OC_FilesystemView('/');
@ -54,6 +46,15 @@ class Hooks {
$util = new Util($view, $params['uid']);
//check if all requirements are met
if(!$util->ready() && (!Helper::checkRequirements() || !Helper::checkConfiguration())) {
$error_msg = $l->t("Missing requirements.");
$hint = $l->t('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.');
\OC_App::disable('files_encryption');
\OCP\Util::writeLog('Encryption library', $error_msg . ' ' . $hint, \OCP\Util::ERROR);
\OCP\Template::printErrorPage($error_msg, $hint);
}
// setup user, if user not ready force relogin
if (Helper::setupUser($util, $params['password']) === false) {
return false;

View File

@ -10,6 +10,8 @@ $TRANSLATIONS = array(
"Could not update the private key password. Maybe the old password was not correct." => "No se pudo cambiar la contraseña. Puede que la contraseña antigua no sea correcta.",
"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." => "¡Su clave privada no es válida! Tal vez su contraseña ha sido cambiada desde fuera. Puede actualizar su clave privada en sus opciones personales para recuperar el acceso a sus ficheros.",
"Missing requirements." => "Requisitos incompletos.",
"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." => "Por favor, asegúrese de que PHP 5.3.3 o posterior está instalado y que la extensión OpenSSL de PHP está habilitada y configurada correctamente. Por el momento, la aplicación de cifrado ha sido deshabilitada.",
"Following users are not set up for encryption:" => "Los siguientes usuarios no han sido configurados para el cifrado:",
"Saving..." => "Guardando...",
"Your private key is not valid! Maybe the your password was changed from outside." => "¡Su clave privada no es válida! Tal vez su contraseña ha sido cambiada desde fuera.",
"You can unlock your private key in your " => "Puede desbloquear su clave privada en su",

View File

@ -10,6 +10,8 @@ $TRANSLATIONS = array(
"Could not update the private key password. Maybe the old password was not correct." => "No fue posible actualizar la contraseña de clave privada. Tal vez la contraseña anterior no es correcta.",
"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." => "¡Tu clave privada no es válida! Tal vez tu contraseña fue cambiada desde fuera del sistema de ownCloud (por ej. desde tu cuenta de sistema). Podés actualizar tu clave privada en la sección de \"configuración personal\", para recuperar el acceso a tus archivos.",
"Missing requirements." => "Requisitos incompletos.",
"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." => "Por favor, asegúrese de que PHP 5.3.3 o una versión más reciente esté instalado y que OpenSSL junto con la extensión PHP esté habilitado y configurado apropiadamente. Por ahora, la aplicación de encriptación ha sido deshabilitada.",
"Following users are not set up for encryption:" => "Los siguientes usuarios no fueron configurados para encriptar:",
"Saving..." => "Guardando...",
"Your private key is not valid! Maybe the your password was changed from outside." => "¡Tu clave privada no es válida! Tal vez tu contraseña fue cambiada desde afuera.",
"You can unlock your private key in your " => "Podés desbloquear tu clave privada en tu",

View File

@ -1,11 +1,21 @@
<?php
$TRANSLATIONS = array(
"Recovery key successfully enabled" => "Palautusavain kytketty päälle onnistuneesti",
"Password successfully changed." => "Salasana vaihdettiin onnistuneesti.",
"Could not change the password. Maybe the old password was not correct." => "Salasanan vaihto epäonnistui. Kenties vanha salasana oli väärin.",
"Following users are not set up for encryption:" => "Seuraavat käyttäjät eivät ole määrittäneet salausta:",
"Saving..." => "Tallennetaan...",
"personal settings" => "henkilökohtaiset asetukset",
"Encryption" => "Salaus",
"Recovery key password" => "Palautusavaimen salasana",
"Enabled" => "Käytössä",
"Disabled" => "Ei käytössä",
"Change Password" => "Vaihda salasana"
"Change recovery key password:" => "Vaihda palautusavaimen salasana:",
"Old Recovery key password" => "Vanha palautusavaimen salasana",
"New Recovery key password" => "Uusi palautusavaimen salasana",
"Change Password" => "Vaihda salasana",
"Old log-in password" => "Vanha kirjautumis-salasana",
"Current log-in password" => "Nykyinen kirjautumis-salasana",
"Enable password recovery:" => "Ota salasanan palautus käyttöön:"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";

View File

@ -10,6 +10,8 @@ $TRANSLATIONS = array(
"Could not update the private key password. Maybe the old password was not correct." => "Impossible de mettre à jour le mot de passe de la clé privé. Peut-être que l'ancien mot de passe n'était pas correcte.",
"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." => "Votre clé de sécurité privée n'est pas valide! Il est probable que votre mot de passe ait été changé sans passer par le système ownCloud (par éxemple: le serveur de votre entreprise). Ain d'avoir à nouveau accès à vos fichiers cryptés, vous pouvez mettre à jour votre clé de sécurité privée dans les paramètres personnels de votre compte.",
"Missing requirements." => "Système minimum requis non respecté.",
"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." => "Veuillez vous assurer qu'une version de PHP 5.3.3 ou supérieure est installée et qu'OpenSSL et son extension PHP sont activés et configurés correctement. En attendant, l'application de chiffrement été désactivée.",
"Following users are not set up for encryption:" => "Les utilisateurs suivants ne sont pas configurés pour le chiffrement :",
"Saving..." => "Enregistrement...",
"Your private key is not valid! Maybe the your password was changed from outside." => "Votre clef privée est invalide ! Votre mot de passe a peut-être été modifié depuis l'extérieur.",
"You can unlock your private key in your " => "Vous pouvez déverrouiller votre clé privée dans votre",

View File

@ -1,6 +1,18 @@
<?php
$TRANSLATIONS = array(
"Recovery key successfully disabled" => "Visszaállítási kulcs sikeresen kikapcsolva",
"Password successfully changed." => "Jelszó sikeresen megváltoztatva.",
"Could not change the password. Maybe the old password was not correct." => "A jelszót nem lehet megváltoztatni! Lehet, hogy hibás volt a régi jelszó.",
"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." => "Kérlek győződj meg arról, hogy PHP 5.3.3 vagy annál frissebb van telepítve, valamint a PHP-hez tartozó OpenSSL bővítmény be van-e kapcsolva és az helyesen van-e konfigurálva! Ki lett kapcsolva ideiglenesen a titkosító alkalmazás.",
"Saving..." => "Mentés...",
"Encryption" => "Titkosítás"
"personal settings" => "személyes beállítások",
"Encryption" => "Titkosítás",
"Enabled" => "Bekapcsolva",
"Disabled" => "Kikapcsolva",
"Change Password" => "Jelszó megváltoztatása",
"Old log-in password" => "Régi bejelentkezési jelszó",
"Current log-in password" => "Jelenlegi bejelentkezési jelszó",
"Update Private Key Password" => "Privát kulcs jelszó frissítése",
"Enable password recovery:" => "Jelszó-visszaállítás bekapcsolása"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";

View File

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

View File

@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
"Saving..." => "Lagrar …"
"Saving..." => "Lagrar …",
"Encryption" => "Kryptering"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";

View File

@ -52,14 +52,14 @@ class Crypt {
$return = false;
$res = openssl_pkey_new(array('private_key_bits' => 4096));
$res = Helper::getOpenSSLPkey();
if ($res === false) {
\OCP\Util::writeLog('Encryption library', 'couldn\'t generate users key-pair for ' . \OCP\User::getUser(), \OCP\Util::ERROR);
while ($msg = openssl_error_string()) {
\OCP\Util::writeLog('Encryption library', 'openssl_pkey_new() fails: ' . $msg, \OCP\Util::ERROR);
}
} elseif (openssl_pkey_export($res, $privateKey)) {
} elseif (openssl_pkey_export($res, $privateKey, null, Helper::getOpenSSLConfig())) {
// Get public key
$keyDetails = openssl_pkey_get_details($res);
$publicKey = $keyDetails['key'];
@ -70,7 +70,9 @@ class Crypt {
);
} else {
\OCP\Util::writeLog('Encryption library', 'couldn\'t export users private key, please check your servers openSSL configuration.' . \OCP\User::getUser(), \OCP\Util::ERROR);
\OCP\Util::writeLog('Encryption library', openssl_error_string(), \OCP\Util::ERROR);
while($errMsg = openssl_error_string()) {
\OCP\Util::writeLog('Encryption library', $errMsg, \OCP\Util::ERROR);
}
}
return $return;

View File

@ -268,7 +268,7 @@ class Helper {
* @return bool true if configuration seems to be OK
*/
public static function checkConfiguration() {
if(openssl_pkey_new(array('private_key_bits' => 4096))) {
if(self::getOpenSSLPkey()) {
return true;
} else {
while ($msg = openssl_error_string()) {
@ -278,6 +278,26 @@ class Helper {
}
}
/**
* Create an openssl pkey with config-supplied settings
* WARNING: This initializes a new private keypair, which is computationally expensive
* @return resource The pkey resource created
*/
public static function getOpenSSLPkey() {
return openssl_pkey_new(self::getOpenSSLConfig());
}
/**
* Return an array of OpenSSL config options, default + config
* Used for multiple OpenSSL functions
* @return array The combined defaults and config settings
*/
public static function getOpenSSLConfig() {
$config = array('private_key_bits' => 4096);
$config = array_merge(\OCP\Config::getSystemValue('openssl', array()), $config);
return $config;
}
/**
* @brief glob uses different pattern than regular expressions, escape glob pattern only
* @param unescaped path

View File

@ -220,22 +220,10 @@ class Keymanager {
*/
public static function getFileKey(\OC_FilesystemView $view, $userId, $filePath) {
// try reusing key file if part file
if (self::isPartialFilePath($filePath)) {
$result = self::getFileKey($view, $userId, self::fixPartialFilePath($filePath));
if ($result) {
return $result;
}
}
$util = new Util($view, \OCP\User::getUser());
list($owner, $filename) = $util->getUidAndFilename($filePath);
$filename = self::fixPartialFilePath($filename);
$filePath_f = ltrim($filename, '/');
// in case of system wide mount points the keys are stored directly in the data directory
@ -424,18 +412,6 @@ class Keymanager {
public static function getShareKey(\OC_FilesystemView $view, $userId, $filePath) {
// try reusing key file if part file
if (self::isPartialFilePath($filePath)) {
$result = self::getShareKey($view, $userId, self::fixPartialFilePath($filePath));
if ($result) {
return $result;
}
}
$proxyStatus = \OC_FileProxy::$enabled;
\OC_FileProxy::$enabled = false;
@ -443,7 +419,7 @@ class Keymanager {
$util = new Util($view, \OCP\User::getUser());
list($owner, $filename) = $util->getUidAndFilename($filePath);
$filename = self::fixPartialFilePath($filename);
// in case of system wide mount points the keys are stored directly in the data directory
if ($util->isSystemWideMountPoint($filename)) {
$shareKeyPath = '/files_encryption/share-keys/' . $filename . '.' . $userId . '.shareKey';

View File

@ -188,7 +188,7 @@ class Stream {
}
// Get the data from the file handle
$data = fread($this->handle, 8192);
$data = fread($this->handle, $count);
$result = null;
@ -488,6 +488,7 @@ class Stream {
$this->meta['mode'] !== 'rb' &&
$this->size > 0
) {
// only write keyfiles if it was a new file
if ($this->newFile === true) {
@ -535,6 +536,7 @@ class Stream {
// set fileinfo
$this->rootView->putFileInfo($this->rawPath, $fileInfo);
}
return fclose($this->handle);

View File

@ -328,72 +328,73 @@ class Util {
$this->view->is_dir($directory)
&& $handle = $this->view->opendir($directory)
) {
if(is_resource($handle)) {
while (false !== ($file = readdir($handle))) {
while (false !== ($file = readdir($handle))) {
if (
$file !== "."
&& $file !== ".."
) {
if (
$file !== "."
&& $file !== ".."
) {
$filePath = $directory . '/' . $this->view->getRelativePath('/' . $file);
$relPath = \OCA\Encryption\Helper::stripUserFilesPath($filePath);
$filePath = $directory . '/' . $this->view->getRelativePath('/' . $file);
$relPath = \OCA\Encryption\Helper::stripUserFilesPath($filePath);
// If the path is a directory, search
// its contents
if ($this->view->is_dir($filePath)) {
// If the path is a directory, search
// its contents
if ($this->view->is_dir($filePath)) {
$this->findEncFiles($filePath, $found);
$this->findEncFiles($filePath, $found);
// If the path is a file, determine
// its encryption status
} elseif ($this->view->is_file($filePath)) {
// If the path is a file, determine
// its encryption status
} elseif ($this->view->is_file($filePath)) {
// Disable proxies again, some-
// where they got re-enabled :/
\OC_FileProxy::$enabled = false;
// Disable proxies again, some-
// where they got re-enabled :/
\OC_FileProxy::$enabled = false;
$isEncryptedPath = $this->isEncryptedPath($filePath);
// If the file is encrypted
// NOTE: If the userId is
// empty or not set, file will
// detected as plain
// NOTE: This is inefficient;
// scanning every file like this
// will eat server resources :(
if (
Keymanager::getFileKey($this->view, $this->userId, $relPath)
&& $isEncryptedPath
) {
$isEncryptedPath = $this->isEncryptedPath($filePath);
// If the file is encrypted
// NOTE: If the userId is
// empty or not set, file will
// detected as plain
// NOTE: This is inefficient;
// scanning every file like this
// will eat server resources :(
if (
Keymanager::getFileKey($this->view, $this->userId, $relPath)
&& $isEncryptedPath
) {
$found['encrypted'][] = array(
'name' => $file,
'path' => $filePath
);
$found['encrypted'][] = array(
'name' => $file,
'path' => $filePath
);
// If the file uses old
// encryption system
} elseif (Crypt::isLegacyEncryptedContent($isEncryptedPath, $relPath)) {
// If the file uses old
// encryption system
} elseif (Crypt::isLegacyEncryptedContent($isEncryptedPath, $relPath)) {
$found['legacy'][] = array(
'name' => $file,
'path' => $filePath
);
$found['legacy'][] = array(
'name' => $file,
'path' => $filePath
);
// If the file is not encrypted
} else {
// If the file is not encrypted
} else {
$found['plain'][] = array(
'name' => $file,
'path' => $relPath
);
$found['plain'][] = array(
'name' => $file,
'path' => $relPath
);
}
}
}
}
}
\OC_FileProxy::$enabled = true;
@ -507,10 +508,11 @@ class Util {
// get the size from filesystem
$fullPath = $this->view->getLocalFile($path);
$size = filesize($fullPath);
$size = $this->view->filesize($path);
// calculate last chunk nr
$lastChunkNr = floor($size / 8192);
$lastChunkSize = $size - ($lastChunkNr * 8192);
// open stream
$stream = fopen('crypt://' . $path, "r");
@ -523,7 +525,7 @@ class Util {
fseek($stream, $lastChunckPos);
// get the content of the last chunk
$lastChunkContent = fread($stream, 8192);
$lastChunkContent = fread($stream, $lastChunkSize);
// calc the real file size with the size of the last chunk
$realSize = (($lastChunkNr * 6126) + strlen($lastChunkContent));
@ -1135,6 +1137,11 @@ class Util {
// Make sure that a share key is generated for the owner too
list($owner, $ownerPath) = $this->getUidAndFilename($filePath);
$pathinfo = pathinfo($ownerPath);
if(array_key_exists('extension', $pathinfo) && $pathinfo['extension'] === 'part') {
$ownerPath = $pathinfo['dirname'] . '/' . $pathinfo['filename'];
}
$userIds = array();
if ($sharingEnabled) {
@ -1288,8 +1295,25 @@ class Util {
*/
public function getUidAndFilename($path) {
$pathinfo = pathinfo($path);
$partfile = false;
$parentFolder = false;
if (array_key_exists('extension', $pathinfo) && $pathinfo['extension'] === 'part') {
// if the real file exists we check this file
$filePath = $this->userFilesDir . '/' .$pathinfo['dirname'] . '/' . $pathinfo['filename'];
if ($this->view->file_exists($filePath)) {
$pathToCheck = $pathinfo['dirname'] . '/' . $pathinfo['filename'];
} else { // otherwise we look for the parent
$pathToCheck = $pathinfo['dirname'];
$parentFolder = true;
}
$partfile = true;
} else {
$pathToCheck = $path;
}
$view = new \OC\Files\View($this->userFilesDir);
$fileOwnerUid = $view->getOwner($path);
$fileOwnerUid = $view->getOwner($pathToCheck);
// handle public access
if ($this->isPublic) {
@ -1318,12 +1342,18 @@ class Util {
$filename = $path;
} else {
$info = $view->getFileInfo($path);
$info = $view->getFileInfo($pathToCheck);
$ownerView = new \OC\Files\View('/' . $fileOwnerUid . '/files');
// Fetch real file path from DB
$filename = $ownerView->getPath($info['fileid']); // TODO: Check that this returns a path without including the user data dir
$filename = $ownerView->getPath($info['fileid']);
if ($parentFolder) {
$filename = $filename . '/'. $pathinfo['filename'];
}
if ($partfile) {
$filename = $filename . '.' . $pathinfo['extension'];
}
}
@ -1332,10 +1362,9 @@ class Util {
\OC_Filesystem::normalizePath($filename)
);
}
}
/**
* @brief go recursively through a dir and collect all files and sub files.
* @param string $dir relative to the users files folder

View File

@ -1,4 +1,3 @@
<?php
require_once("autoload.inc.php");
require_once("ProdsConfig.inc.php");
?>

View File

@ -15,5 +15,3 @@ if (file_exists(__DIR__ . "/prods.ini")) {
else {
$GLOBALS['PRODS_CONFIG'] = array();
}
?>

View File

@ -279,5 +279,3 @@ abstract class ProdsPath
}
}
?>

View File

@ -103,5 +103,3 @@ class ProdsQuery
}
}
?>

View File

@ -58,5 +58,3 @@ class ProdsRule
return $result;
}
}
?>

View File

@ -432,5 +432,3 @@ stream_wrapper_register('rods', 'ProdsStreamer')
or die ('Failed to register protocol:rods');
stream_wrapper_register('rods+ticket', 'ProdsStreamer')
or die ('Failed to register protocol:rods');
?>

View File

@ -199,5 +199,3 @@ class RODSAccount
return $dir->toURI();
}
}
?>

View File

@ -1611,5 +1611,3 @@ class RODSConn
return $results;
}
}
?>

View File

@ -77,5 +77,3 @@ class RODSConnManager
}
}
}
?>

View File

@ -180,5 +180,3 @@ class RODSException extends Exception
}
}
?>

View File

@ -110,5 +110,3 @@ class RODSGenQueConds
return $this->cond;
}
}
?>

View File

@ -95,5 +95,3 @@ class RODSGenQueResults
return $this->numrow;
}
}
?>

View File

@ -156,5 +156,3 @@ class RODSGenQueSelFlds
}
}
?>

View File

@ -46,5 +46,3 @@ class RODSKeyValPair
return $new_keyval;
}
}
?>

View File

@ -181,5 +181,3 @@ class RODSMessage
return $rods_msg->pack();
}
}
?>

View File

@ -17,4 +17,3 @@ define ("RSYNC_OPR", 14);
define ("PHYMV_OPR", 15);
define ("PHYMV_SRC", 16);
define ("PHYMV_DEST", 17);
?>

View File

@ -214,4 +214,3 @@ $GLOBALS['PRODS_API_NUMS_REV'] = array(
'1100' => 'SSL_START_AN',
'1101' => 'SSL_END_AN',
);
?>

View File

@ -4,5 +4,3 @@
// are doing!
define ("ORDER_BY", 0x400);
define ("ORDER_BY_DESC", 0x800);
?>

View File

@ -584,4 +584,3 @@ $GLOBALS['PRODS_ERR_CODES_REV'] = array(
'-993000' => 'PAM_AUTH_PASSWORD_FAILED',
'-994000' => 'PAM_AUTH_PASSWORD_INVALID_TTL',
);
?>

View File

@ -222,4 +222,3 @@ $GLOBALS['PRODS_GENQUE_KEYWD_REV'] = array(
"lastExeTime" => 'RULE_LAST_EXE_TIME_KW',
"exeStatus" => 'RULE_EXE_STATUS_KW',
);
?>

View File

@ -232,4 +232,3 @@ $GLOBALS['PRODS_GENQUE_NUMS_REV'] = array(
'1105' => 'COL_TOKEN_VALUE3',
'1106' => 'COL_TOKEN_COMMENT',
);
?>

View File

@ -246,5 +246,3 @@ class RODSPacket
}
*/
}
?>

View File

@ -10,5 +10,3 @@ class RP_BinBytesBuf extends RODSPacket
}
}
?>

View File

@ -15,5 +15,3 @@ class RP_CollInp extends RODSPacket
}
}
?>

View File

@ -13,5 +13,3 @@ class RP_CollOprStat extends RODSPacket
}
}
?>

View File

@ -15,5 +15,3 @@ class RP_DataObjCopyInp extends RODSPacket
}
}
?>

View File

@ -18,5 +18,3 @@ class RP_DataObjInp extends RODSPacket
}
}
?>

View File

@ -52,5 +52,3 @@ class RP_ExecCmdOut extends RODSPacket
}
}
}
?>

View File

@ -18,5 +18,3 @@ class RP_ExecMyRuleInp extends RODSPacket
}
}
?>

View File

@ -21,5 +21,3 @@ class RP_GenQueryInp extends RODSPacket
}
}
?>

View File

@ -18,5 +18,3 @@ class RP_GenQueryOut extends RODSPacket
}
}
?>

View File

@ -23,5 +23,3 @@ class RP_InxIvalPair extends RODSPacket
}
}
?>

View File

@ -40,5 +40,3 @@ class RP_InxValPair extends RODSPacket
}
}
}
?>

View File

@ -43,5 +43,3 @@ class RP_KeyValPair extends RODSPacket
}
}
}
?>

View File

@ -13,5 +13,3 @@ class RP_MiscSvrInfo extends RODSPacket
}
}
?>

View File

@ -14,5 +14,3 @@ class RP_ModAVUMetadataInp extends RODSPacket
}
}
?>

View File

@ -41,5 +41,3 @@ class RP_MsParam extends RODSPacket
}
}
?>

View File

@ -17,5 +17,3 @@ class RP_MsParamArray extends RODSPacket
}
}
?>

View File

@ -12,6 +12,3 @@ class RP_MsgHeader extends RODSPacket
}
}
?>

View File

@ -11,5 +11,3 @@ class RP_RHostAddr extends RODSPacket
}
}
?>

View File

@ -16,5 +16,3 @@ class RP_RodsObjStat extends RODSPacket
}
}
?>

View File

@ -10,5 +10,3 @@ class RP_STR extends RODSPacket
}
}
?>

View File

@ -11,5 +11,3 @@ class RP_SqlResult extends RODSPacket
}
?>

View File

@ -14,5 +14,3 @@ class RP_StartupPack extends RODSPacket
}
}
?>

View File

@ -12,5 +12,3 @@ class RP_TransStat extends RODSPacket
}
}
?>

View File

@ -12,5 +12,3 @@ class RP_Version extends RODSPacket
}
}
?>

View File

@ -10,5 +10,3 @@ class RP_authRequestOut extends RODSPacket
}
}
?>

View File

@ -10,5 +10,3 @@ class RP_authResponseInp extends RODSPacket
}
}
?>

View File

@ -12,5 +12,3 @@ class RP_dataObjCloseInp extends RODSPacket
}
}
?>

View File

@ -12,5 +12,3 @@ class RP_dataObjReadInp extends RODSPacket
}
}
?>

View File

@ -12,5 +12,3 @@ class RP_dataObjWriteInp extends RODSPacket
}
}
?>

View File

@ -12,5 +12,3 @@ class RP_fileLseekInp extends RODSPacket
}
}
?>

View File

@ -11,5 +11,3 @@ class RP_fileLseekOut extends RODSPacket
}
}
?>

View File

@ -10,5 +10,3 @@ class RP_getTempPasswordOut extends RODSPacket
}
}
?>

View File

@ -10,4 +10,3 @@ class RP_pamAuthRequestInp extends RODSPacket
}
}
?>

View File

@ -10,4 +10,3 @@ class RP_pamAuthRequestOut extends RODSPacket
}
}
?>

View File

@ -10,4 +10,3 @@ class RP_sslEndInp extends RODSPacket
}
}
?>

View File

@ -10,4 +10,3 @@ class RP_sslStartInp extends RODSPacket
}
}
?>

View File

@ -66,5 +66,3 @@ $outputstr = $outputstr . ");\n";
$outputstr = $outputstr . "?>\n";
file_put_contents($prods_api_num_file, $outputstr);
?>

View File

@ -71,5 +71,3 @@ $outputstr = $outputstr . ");\n";
$outputstr = $outputstr . "?>\n";
file_put_contents($prods_error_table_file, $outputstr);
?>

View File

@ -69,5 +69,3 @@ $outputstr = $outputstr . ");\n";
$outputstr = $outputstr . "?>\n";
file_put_contents($prods_genque_keywd_file, $outputstr);
?>

Some files were not shown because too many files have changed in this diff Show More