diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php index 07977f5ddf..9031c729ef 100644 --- a/apps/files/ajax/upload.php +++ b/apps/files/ajax/upload.php @@ -48,7 +48,7 @@ $totalSize = 0; foreach ($files['size'] as $size) { $totalSize += $size; } -if ($totalSize > \OC\Files\Filesystem::free_space($dir)) { +if ($totalSize > $maxUploadFilesize) { OCP\JSON::error(array('data' => array('message' => $l->t('Not enough storage available'), 'uploadMaxFilesize' => $maxUploadFilesize, 'maxHumanFilesize' => $maxHumanFilesize))); diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index cc107656da..0bf1f79ab7 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -315,8 +315,8 @@ var FileList={ do_delete:function(files){ if(files.substr){ files=[files]; - } - for (var i in files) { + } + for (var i=0; i'; diff --git a/apps/files/js/files.js b/apps/files/js/files.js index 918182162d..8327460cca 100644 --- a/apps/files/js/files.js +++ b/apps/files/js/files.js @@ -162,9 +162,10 @@ $(document).ready(function() { var tr=$('tr').filterAttr('data-file',filename); var renaming=tr.data('renaming'); if(!renaming && !FileList.isLoading(filename)){ - var mime=$(this).parent().parent().data('mime'); - var type=$(this).parent().parent().data('type'); - var permissions = $(this).parent().parent().data('permissions'); + FileActions.currentFile = $(this).parent(); + var mime=FileActions.getCurrentMimeType(); + var type=FileActions.getCurrentType(); + var permissions = FileActions.getCurrentPermissions(); var action=FileActions.getDefault(mime,type, permissions); if(action){ event.preventDefault(); diff --git a/apps/files/l10n/nl.php b/apps/files/l10n/nl.php index 381325d113..a92ec933b2 100644 --- a/apps/files/l10n/nl.php +++ b/apps/files/l10n/nl.php @@ -60,6 +60,7 @@ "Text file" => "Tekstbestand", "Folder" => "Map", "From link" => "Vanaf link", +"Deleted files" => "Verwijderde bestanden", "Cancel upload" => "Upload afbreken", "Nothing in here. Upload something!" => "Er bevindt zich hier niets. Upload een bestand!", "Download" => "Download", diff --git a/apps/files/l10n/pl.php b/apps/files/l10n/pl.php index 83091bad18..d68a871a7d 100644 --- a/apps/files/l10n/pl.php +++ b/apps/files/l10n/pl.php @@ -10,6 +10,7 @@ "No file was uploaded" => "Nie przesłano żadnego pliku", "Missing a temporary folder" => "Brak katalogu tymczasowego", "Failed to write to disk" => "Błąd zapisu na dysk", +"Not enough storage available" => "Za mało miejsca", "Invalid directory." => "Zła ścieżka.", "Files" => "Pliki", "Delete" => "Usuwa element", @@ -54,6 +55,7 @@ "Text file" => "Plik tekstowy", "Folder" => "Katalog", "From link" => "Z linku", +"Deleted files" => "Pliki usnięte", "Cancel upload" => "Przestań wysyłać", "Nothing in here. Upload something!" => "Brak zawartości. Proszę wysłać pliki!", "Download" => "Pobiera element", diff --git a/apps/files_external/lib/amazons3.php b/apps/files_external/lib/amazons3.php index 494885a1dd..37e53a3a67 100644 --- a/apps/files_external/lib/amazons3.php +++ b/apps/files_external/lib/amazons3.php @@ -229,11 +229,6 @@ class AmazonS3 extends \OC\Files\Storage\Common { return false; } - public function free_space($path) { - // Infinite? - return false; - } - public function touch($path, $mtime = null) { if (is_null($mtime)) { $mtime = time(); diff --git a/apps/files_external/lib/sftp.php b/apps/files_external/lib/sftp.php index 3527f50ec9..785eb7dfc4 100644 --- a/apps/files_external/lib/sftp.php +++ b/apps/files_external/lib/sftp.php @@ -242,10 +242,6 @@ class SFTP extends \OC\Files\Storage\Common { } } - public function free_space($path) { - return -1; - } - public function touch($path, $mtime=null) { try { if (!is_null($mtime)) return false; diff --git a/apps/files_external/lib/streamwrapper.php b/apps/files_external/lib/streamwrapper.php index a631e7ce06..4685877f26 100644 --- a/apps/files_external/lib/streamwrapper.php +++ b/apps/files_external/lib/streamwrapper.php @@ -76,10 +76,6 @@ abstract class StreamWrapper extends \OC\Files\Storage\Common{ return fopen($this->constructUrl($path), $mode); } - public function free_space($path) { - return 0; - } - public function touch($path, $mtime=null) { $this->init(); if(is_null($mtime)) { diff --git a/apps/files_external/lib/swift.php b/apps/files_external/lib/swift.php index 0fd6fa143b..a00316c1f8 100644 --- a/apps/files_external/lib/swift.php +++ b/apps/files_external/lib/swift.php @@ -478,10 +478,6 @@ class SWIFT extends \OC\Files\Storage\Common{ } } - public function free_space($path) { - return 1024*1024*1024*8; - } - public function touch($path, $mtime=null) { $this->init(); $obj=$this->getObject($path); diff --git a/apps/files_external/lib/webdav.php b/apps/files_external/lib/webdav.php index 039a07b1ef..91cc22779e 100644 --- a/apps/files_external/lib/webdav.php +++ b/apps/files_external/lib/webdav.php @@ -222,7 +222,7 @@ class DAV extends \OC\Files\Storage\Common{ return 0; } } catch(\Exception $e) { - return 0; + return \OC\Files\FREE_SPACE_UNKNOWN; } } diff --git a/apps/files_trashbin/ajax/delete.php b/apps/files_trashbin/ajax/delete.php index f41482bef5..34f35c39cc 100644 --- a/apps/files_trashbin/ajax/delete.php +++ b/apps/files_trashbin/ajax/delete.php @@ -3,24 +3,43 @@ OCP\JSON::checkLoggedIn(); OCP\JSON::callCheck(); -$file = $_REQUEST['file']; +$files = $_POST['files']; +$dirlisting = $_POST['dirlisting']; +$list = json_decode($files); -$path_parts = pathinfo($file); -if ($path_parts['dirname'] == '.') { - $delimiter = strrpos($file, '.d'); - $filename = substr($file, 0, $delimiter); - $timestamp = substr($file, $delimiter+2); -} else { - $filename = $file; - $timestamp = null; +$error = array(); +$success = array(); + +$i = 0; +foreach ($list as $file) { + if ( $dirlisting=='0') { + $delimiter = strrpos($file, '.d'); + $filename = substr($file, 0, $delimiter); + $timestamp = substr($file, $delimiter+2); + } else { + $filename = $file; + $timestamp = null; + } + + OCA\Files_Trashbin\Trashbin::delete($filename, $timestamp); + if (!OCA\Files_Trashbin\Trashbin::file_exists($filename, $timestamp)) { + $success[$i]['filename'] = $file; + $success[$i]['timestamp'] = $timestamp; + $i++; + } else { + $error[] = $filename; + } } -OCA\Files_Trashbin\Trashbin::delete($filename, $timestamp); - -if (!OCA\Files_Trashbin\Trashbin::file_exists($filename)) { - OCP\JSON::success(array("data" => array("filename" => $file))); -} else { +if ( $error ) { + $filelist = ''; + foreach ( $error as $e ) { + $filelist .= $e.', '; + } $l = OC_L10N::get('files_trashbin'); - OCP\JSON::error(array("data" => array("message" => $l->t("Couldn't delete %s permanently", array($file))))); + $message = $l->t("Couldn't delete %s permanently", array(rtrim($filelist, ', '))); + OCP\JSON::error(array("data" => array("message" => $message, + "success" => $success, "error" => $error))); +} else { + OCP\JSON::success(array("data" => array("success" => $success))); } - diff --git a/apps/files_trashbin/ajax/undelete.php b/apps/files_trashbin/ajax/undelete.php index 6320c1d082..93f2aaf1fa 100644 --- a/apps/files_trashbin/ajax/undelete.php +++ b/apps/files_trashbin/ajax/undelete.php @@ -3,9 +3,9 @@ OCP\JSON::checkLoggedIn(); OCP\JSON::callCheck(); -$files = $_REQUEST['files']; -$dirlisting = $_REQUEST['dirlisting']; -$list = explode(';', $files); +$files = $_POST['files']; +$dirlisting = $_POST['dirlisting']; +$list = json_decode($files); $error = array(); $success = array(); diff --git a/apps/files_trashbin/index.php b/apps/files_trashbin/index.php index d575c75f1a..2276fee2f8 100644 --- a/apps/files_trashbin/index.php +++ b/apps/files_trashbin/index.php @@ -16,6 +16,7 @@ OCP\Util::addScript('files', 'filelist'); $dir = isset($_GET['dir']) ? stripslashes($_GET['dir']) : ''; +$result = array(); if ($dir) { $dirlisting = true; $fullpath = \OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath($dir); @@ -36,7 +37,7 @@ if ($dir) { ); } } - closedir($fullpath); + closedir($dirContent); } else { $dirlisting = false; diff --git a/apps/files_trashbin/js/trash.js b/apps/files_trashbin/js/trash.js index 6c810e4c2b..208cc88f0f 100644 --- a/apps/files_trashbin/js/trash.js +++ b/apps/files_trashbin/js/trash.js @@ -6,9 +6,10 @@ $(document).ready(function() { var tr=$('tr').filterAttr('data-file', filename); var spinner = ''; var undeleteAction = $('tr').filterAttr('data-file',filename).children("td.date"); + var files = tr.attr('data-file'); undeleteAction[0].innerHTML = undeleteAction[0].innerHTML+spinner; $.post(OC.filePath('files_trashbin','ajax','undelete.php'), - {files:tr.attr('data-file'), dirlisting:tr.attr('data-dirlisting') }, + {files:JSON.stringify([files]), dirlisting:tr.attr('data-dirlisting') }, function(result){ for (var i = 0; i < result.data.success.length; i++) { var row = document.getElementById(result.data.success[i].filename); @@ -31,16 +32,17 @@ $(document).ready(function() { var deleteAction = $('tr').filterAttr('data-file',filename).children("td.date").children(".action.delete"); var oldHTML = deleteAction[0].outerHTML; var newHTML = ''; + var files = tr.attr('data-file'); deleteAction[0].outerHTML = newHTML; $.post(OC.filePath('files_trashbin','ajax','delete.php'), - {file:tr.attr('data-file') }, + {files:JSON.stringify([files]), dirlisting:tr.attr('data-dirlisting') }, function(result){ - if ( result.status == 'success' ) { - var row = document.getElementById(result.data.filename); + for (var i = 0; i < result.data.success.length; i++) { + var row = document.getElementById(result.data.success[i].filename); row.parentNode.removeChild(row); - } else { - deleteAction[0].outerHTML = oldHTML; + } + if (result.status != 'success') { OC.dialogs.alert(result.data.message, 'Error'); } }); @@ -88,15 +90,15 @@ $(document).ready(function() { } } processSelection(); - }); + }); $('.undelete').click('click',function(event) { var spinner = ''; var files=getSelectedFiles('file'); - var fileslist=files.join(';'); + var fileslist = JSON.stringify(files); var dirlisting=getSelectedFiles('dirlisting')[0]; - for (var i in files) { + for (var i=0; i'; + var files=getSelectedFiles('file'); + var fileslist = JSON.stringify(files); + var dirlisting=getSelectedFiles('dirlisting')[0]; + + for (var i=0; i "Неможливо видалити %s назавжди", +"Couldn't restore %s" => "Неможливо відновити %s", +"perform restore operation" => "виконати операцію відновлення", +"delete file permanently" => "видалити файл назавжди", "Name" => "Ім'я", +"Deleted" => "Видалено", "1 folder" => "1 папка", "{count} folders" => "{count} папок", "1 file" => "1 файл", -"{count} files" => "{count} файлів" +"{count} files" => "{count} файлів", +"Nothing in here. Your trash bin is empty!" => "Нічого немає. Ваший кошик для сміття пустий!", +"Restore" => "Відновити" ); diff --git a/apps/files_trashbin/templates/index.php b/apps/files_trashbin/templates/index.php index b62ca0af00..aaeeb5c6f6 100644 --- a/apps/files_trashbin/templates/index.php +++ b/apps/files_trashbin/templates/index.php @@ -25,6 +25,13 @@ t( 'Deleted' ); ?> + + + t('Delete')?> + <?php echo $l->t('Delete')?>" /> + + diff --git a/apps/files_trashbin/templates/part.list.php b/apps/files_trashbin/templates/part.list.php index fe8a71f44e..2de0d7ee91 100644 --- a/apps/files_trashbin/templates/part.list.php +++ b/apps/files_trashbin/templates/part.list.php @@ -1,12 +1,8 @@ 200) $relative_date_color = 200; $name = str_replace('+', '%20', urlencode($file['name'])); $name = str_replace('%2F', '/', $name); diff --git a/apps/files_versions/appinfo/app.php b/apps/files_versions/appinfo/app.php index 9e3e81c580..8e0356ada2 100644 --- a/apps/files_versions/appinfo/app.php +++ b/apps/files_versions/appinfo/app.php @@ -11,5 +11,5 @@ OCP\Util::addscript('files_versions', 'versions'); // Listen to write signals OCP\Util::connectHook('OC_Filesystem', 'write', "OCA\Files_Versions\Hooks", "write_hook"); // Listen to delete and rename signals -OCP\Util::connectHook('OC_Filesystem', 'post-delete', "OCA\Files_Versions\Hooks", "remove_hook"); +OCP\Util::connectHook('OC_Filesystem', 'post_delete', "OCA\Files_Versions\Hooks", "remove_hook"); OCP\Util::connectHook('OC_Filesystem', 'rename', "OCA\Files_Versions\Hooks", "rename_hook"); diff --git a/apps/files_versions/js/versions.js b/apps/files_versions/js/versions.js index b9c5468981..dec222eefc 100644 --- a/apps/files_versions/js/versions.js +++ b/apps/files_versions/js/versions.js @@ -41,6 +41,10 @@ $(document).ready(function(){ } }); +function goToVersionPage(url){ + window.location(url); +} + function createVersionsDropdown(filename, files) { var historyUrl = OC.linkTo('files_versions', 'history.php') + '?path='+encodeURIComponent( $( '#dir' ).val() ).replace( /%2F/g, '/' )+'/'+encodeURIComponent( filename ); @@ -51,7 +55,7 @@ function createVersionsDropdown(filename, files) { html += ''; html += ''; html += ''; - html += ''; + html += ''; html += ''; if (filename) { @@ -60,6 +64,10 @@ function createVersionsDropdown(filename, files) { } else { $(html).appendTo($('thead .share')); } + + $("#makelink").click(function() { + goToVersionPage(historyUrl); + }); $.ajax({ type: 'GET', diff --git a/apps/files_versions/l10n/uk.php b/apps/files_versions/l10n/uk.php index 49acda8107..861523bf6a 100644 --- a/apps/files_versions/l10n/uk.php +++ b/apps/files_versions/l10n/uk.php @@ -1,5 +1,13 @@ "Не вдалося відновити: %s", +"success" => "успішно", +"File %s was reverted to version %s" => "Файл %s був відновлений до версії %s", +"failure" => "неуспішно", +"File %s could not be reverted to version %s" => "Файл %s не може бути відновлений до версії %s", +"No old versions available" => "Старі версії недоступні", +"No path specified" => "Шлях не вказаний", "History" => "Історія", +"Revert a file to a previous version by clicking on its revert button" => "Відновити файл на попередню версію, натиснувши на кнопку Відновити", "Files Versioning" => "Версії файлів", "Enable" => "Включити" ); diff --git a/apps/files_versions/lib/hooks.php b/apps/files_versions/lib/hooks.php index dc02c605c4..6c87eba423 100644 --- a/apps/files_versions/lib/hooks.php +++ b/apps/files_versions/lib/hooks.php @@ -20,13 +20,10 @@ class Hooks { public static function write_hook( $params ) { if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { - - $versions = new Storage( new \OC\Files\View('') ); - $path = $params[\OC\Files\Filesystem::signal_param_path]; - - if($path<>'') $versions->store( $path ); - + if($path<>'') { + Storage::store($path); + } } } @@ -40,12 +37,10 @@ class Hooks { */ public static function remove_hook($params) { if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { - - $versions = new Storage( new \OC_FilesystemView('') ); - $path = $params[\OC\Files\Filesystem::signal_param_path]; - - if($path<>'') $versions->delete( $path ); + if($path<>'') { + Storage::delete($path); + } } } @@ -59,13 +54,11 @@ class Hooks { */ public static function rename_hook($params) { if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { - - $versions = new Storage( new \OC_FilesystemView('') ); - $oldpath = $params['oldpath']; $newpath = $params['newpath']; - - if($oldpath<>'' && $newpath<>'') $versions->rename( $oldpath, $newpath ); + if($oldpath<>'' && $newpath<>'') { + Storage::rename( $oldpath, $newpath ); + } } } diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php index f23381cb15..ba9f8ba41c 100644 --- a/apps/files_versions/lib/versions.php +++ b/apps/files_versions/lib/versions.php @@ -35,37 +35,25 @@ class Storage { 'step' => 604800), ); - private static function getUidAndFilename($filename) - { - if (\OCP\App::isEnabled('files_sharing') - && substr($filename, 0, 7) == '/Shared' - && $source = \OCP\Share::getItemSharedWith('file', - substr($filename, 7), - \OC_Share_Backend_File::FORMAT_SHARED_STORAGE)) { - $filename = $source['path']; - $pos = strpos($filename, '/files', 1); - $uid = substr($filename, 1, $pos - 1); - $filename = substr($filename, $pos + 6); - } else { - $uid = \OCP\User::getUser(); + private static function getUidAndFilename($filename) { + $uid = \OC\Files\Filesystem::getOwner($filename); + if ( $uid != \OCP\User::getUser() ) { + $info = \OC\Files\Filesystem::getFileInfo($filename); + $ownerView = new \OC\Files\View('/'.$uid.'/files'); + $filename = $ownerView->getPath($info['fileid']); } return array($uid, $filename); } - + /** * store a new version of a file. */ - public function store($filename) { + public static function store($filename) { if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { list($uid, $filename) = self::getUidAndFilename($filename); - $files_view = new \OC\Files\View('/'.\OCP\User::getUser() .'/files'); - $users_view = new \OC\Files\View('/'.\OCP\User::getUser()); - - //check if source file already exist as version to avoid recursions. - // todo does this check work? - if ($users_view->file_exists($filename)) { - return false; - } + + $files_view = new \OC\Files\View('/'.$uid .'/files'); + $users_view = new \OC\Files\View('/'.$uid); // check if filename is a directory if($files_view->is_dir($filename)) { @@ -106,10 +94,10 @@ class Storage { */ public static function delete($filename) { list($uid, $filename) = self::getUidAndFilename($filename); - $versions_fileview = new \OC_FilesystemView('/'.$uid .'/files_versions'); + $versions_fileview = new \OC\Files\View('/'.$uid .'/files_versions'); $abs_path = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$filename.'.v'; - if( ($versions = self::getVersions($filename)) ) { + if( ($versions = self::getVersions($uid, $filename)) ) { if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) { $versionsSize = self::calculateSize($uid); } @@ -127,16 +115,15 @@ class Storage { public static function rename($oldpath, $newpath) { list($uid, $oldpath) = self::getUidAndFilename($oldpath); list($uidn, $newpath) = self::getUidAndFilename($newpath); - $versions_view = new \OC_FilesystemView('/'.$uid .'/files_versions'); - $files_view = new \OC_FilesystemView('/'.$uid .'/files'); + $versions_view = new \OC\Files\View('/'.$uid .'/files_versions'); + $files_view = new \OC\Files\View('/'.$uid .'/files'); $abs_newpath = \OCP\Config::getSystemValue('datadirectory').$versions_view->getAbsolutePath('').$newpath; if ( $files_view->is_dir($oldpath) && $versions_view->is_dir($oldpath) ) { $versions_view->rename($oldpath, $newpath); - } else if ( ($versions = Storage::getVersions($oldpath)) ) { + } else if ( ($versions = Storage::getVersions($uid, $oldpath)) ) { $info=pathinfo($abs_newpath); if(!file_exists($info['dirname'])) mkdir($info['dirname'], 0750, true); - $versions = Storage::getVersions($oldpath); foreach ($versions as $v) { $versions_view->rename($oldpath.'.v'.$v['version'], $newpath.'.v'.$v['version']); } @@ -177,14 +164,14 @@ class Storage { /** * @brief get a list of all available versions of a file in descending chronological order + * @param $uid user id from the owner of the file * @param $filename file to find versions of, relative to the user files dir * @param $count number of versions to return * @returns array */ - public static function getVersions( $filename, $count = 0 ) { + public static function getVersions($uid, $filename, $count = 0 ) { if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) { - list($uid, $filename) = self::getUidAndFilename($filename); - $versions_fileview = new \OC\Files\View('/' . \OCP\User::getUser() . '/files_versions'); + $versions_fileview = new \OC\Files\View('/' . $uid . '/files_versions'); $versionsName = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath($filename); $versions = array(); @@ -197,7 +184,7 @@ class Storage { sort( $matches ); - $files_view = new \OC_FilesystemView('/'.$uid.'/files'); + $files_view = new \OC\Files\View('/'.$uid.'/files'); $local_file = $files_view->getLocalFile($filename); $local_file_md5 = \md5_file( $local_file ); @@ -248,7 +235,7 @@ class Storage { */ private static function calculateSize($uid) { if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) { - $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions'); + $versions_fileview = new \OC\Files\View('/'.$uid.'/files_versions'); $versionsRoot = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath(''); $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($versionsRoot), \RecursiveIteratorIterator::CHILD_FIRST); @@ -273,7 +260,7 @@ class Storage { */ private static function getAllVersions($uid) { if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) { - $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions'); + $versions_fileview = new \OC\Files\View('/'.$uid.'/files_versions'); $versionsRoot = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath(''); $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($versionsRoot), \RecursiveIteratorIterator::CHILD_FIRST); @@ -319,7 +306,7 @@ class Storage { private static function expire($filename, $versionsSize = null) { if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') { list($uid, $filename) = self::getUidAndFilename($filename); - $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions'); + $versions_fileview = new \OC\Files\View('/'.$uid.'/files_versions'); // get available disk space for user $quota = \OCP\Util::computerFileSize(\OC_Preferences::getValue($uid, 'files', 'quota')); @@ -338,7 +325,7 @@ class Storage { } // calculate available space for version history - $files_view = new \OC_FilesystemView('/'.$uid.'/files'); + $files_view = new \OC\Files\View('/'.$uid.'/files'); $rootInfo = $files_view->getFileInfo('/'); $free = $quota-$rootInfo['size']; // remaining free space for user if ( $free > 0 ) { @@ -354,7 +341,7 @@ class Storage { $versions_by_file = $result['by_file']; $all_versions = $result['all']; } else { - $all_versions = Storage::getVersions($filename); + $all_versions = Storage::getVersions($uid, $filename); $versions_by_file[$filename] = $all_versions; } diff --git a/core/css/styles.css b/core/css/styles.css index c2e1ad9208..8a01211d8b 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -258,8 +258,8 @@ fieldset.warning a { color:#b94a48 !important; font-weight:bold; } #expand:hover img, #expand:focus img, #expand:active img { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; } #expanddiv { position:absolute; right:0; top:45px; z-index:76; display:none; - background-color:#444; border-bottom-left-radius:7px; box-shadow: 0 0 20px rgb(29,45,68); - background:#383c43 url('../img/noise.png') repeat; border-bottom:1px #333 solid; border-left:border-bottom:1px #333 solid; + background:#383c43 url('../img/noise.png') repeat; + border-bottom-left-radius:7px; border-bottom:1px #333 solid; border-left:1px #333 solid; -moz-box-shadow:0 0 7px rgb(29,45,68); -webkit-box-shadow:0 0 7px rgb(29,45,68); box-shadow:0 0 7px rgb(29,45,68); } #expanddiv a { diff --git a/core/img/filetypes/application-msexcel.png b/core/img/filetypes/application-msexcel.png index abcd93689a..b977d7e52e 100644 Binary files a/core/img/filetypes/application-msexcel.png and b/core/img/filetypes/application-msexcel.png differ diff --git a/core/img/filetypes/application-mspowerpoint.png b/core/img/filetypes/application-mspowerpoint.png index b4aaad9a45..c4eff0387d 100644 Binary files a/core/img/filetypes/application-mspowerpoint.png and b/core/img/filetypes/application-mspowerpoint.png differ diff --git a/core/img/filetypes/application-msword.png b/core/img/filetypes/application-msword.png index e8b230c59c..ae8ecbf476 100644 Binary files a/core/img/filetypes/application-msword.png and b/core/img/filetypes/application-msword.png differ diff --git a/core/img/filetypes/ms-excel.png b/core/img/filetypes/ms-excel.png index abcd93689a..b977d7e52e 100644 Binary files a/core/img/filetypes/ms-excel.png and b/core/img/filetypes/ms-excel.png differ diff --git a/core/img/filetypes/ms-powerpoint.png b/core/img/filetypes/ms-powerpoint.png index b4aaad9a45..c4eff0387d 100644 Binary files a/core/img/filetypes/ms-powerpoint.png and b/core/img/filetypes/ms-powerpoint.png differ diff --git a/core/js/multiselect.js b/core/js/multiselect.js index 623c6e0f7e..bc4223feb6 100644 --- a/core/js/multiselect.js +++ b/core/js/multiselect.js @@ -266,8 +266,9 @@ } list.append(list.find('li.creator')); var pos=button.position(); - if($(document).height() > (button.offset().top+button.outerHeight() + list.children().length * button.height()) - || $(document).height()/2 > pos.top + if(($(document).height() > (button.offset().top+button.outerHeight() + list.children().length * button.height()) + && $(document).height() - button.offset().top > (button.offset().top+button.outerHeight() + list.children().length * button.height())) + || $(document).height()/2 > button.offset().top ) { list.css({ top:pos.top+button.outerHeight()-5, diff --git a/core/lostpassword/controller.php b/core/lostpassword/controller.php index 3ef8eaf71a..fbcf4a87f2 100644 --- a/core/lostpassword/controller.php +++ b/core/lostpassword/controller.php @@ -44,7 +44,11 @@ class OC_Core_LostPassword_Controller { $msg = $tmpl->fetchPage(); $l = OC_L10N::get('core'); $from = OCP\Util::getDefaultEmailAddress('lostpassword-noreply'); - OC_Mail::send($email, $_POST['user'], $l->t('ownCloud password reset'), $msg, $from, 'ownCloud'); + try { + OC_Mail::send($email, $_POST['user'], $l->t('ownCloud password reset'), $msg, $from, 'ownCloud'); + } catch (Exception $e) { + OC_Template::printErrorPage( 'A problem occurs during sending the e-mail please contact your administrator.'); + } self::displayLostPasswordPage(false, true); } else { self::displayLostPasswordPage(true, false); diff --git a/l10n/el/settings.po b/l10n/el/settings.po index 6c417dcbf3..d86b53331a 100644 --- a/l10n/el/settings.po +++ b/l10n/el/settings.po @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-02-18 00:05+0100\n" -"PO-Revision-Date: 2013-02-17 12:30+0000\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" +"PO-Revision-Date: 2013-02-19 22:10+0000\n" "Last-Translator: Efstathios Iosifidis \n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" @@ -164,7 +164,7 @@ msgstr "προσθήκη ομάδας" #: js/users.js:352 msgid "A valid username must be provided" -msgstr "" +msgstr "Πρέπει να δοθεί έγκυρο όνομα χρήστη" #: js/users.js:353 js/users.js:359 js/users.js:374 msgid "Error creating user" @@ -172,7 +172,7 @@ msgstr "Σφάλμα δημιουργίας χρήστη" #: js/users.js:358 msgid "A valid password must be provided" -msgstr "" +msgstr "Πρέπει να δοθεί έγκυρο συνθηματικό" #: personal.php:29 personal.php:30 msgid "__language_name__" diff --git a/l10n/gl/core.po b/l10n/gl/core.po index f67798a78e..a21a74f87d 100644 --- a/l10n/gl/core.po +++ b/l10n/gl/core.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-02-16 00:04+0100\n" -"PO-Revision-Date: 2013-02-15 15:00+0000\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" +"PO-Revision-Date: 2013-02-19 12:10+0000\n" "Last-Translator: mbouzada \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/gl/files.po b/l10n/gl/files.po index 5fb9fb14df..42f77c08b6 100644 --- a/l10n/gl/files.po +++ b/l10n/gl/files.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-02-16 00:04+0100\n" -"PO-Revision-Date: 2013-02-15 14:31+0000\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" +"PO-Revision-Date: 2013-02-19 12:10+0000\n" "Last-Translator: mbouzada \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/gl/lib.po b/l10n/gl/lib.po index aa47bb8032..00e1b816f8 100644 --- a/l10n/gl/lib.po +++ b/l10n/gl/lib.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-02-16 00:04+0100\n" -"PO-Revision-Date: 2013-02-15 15:40+0000\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" +"PO-Revision-Date: 2013-02-19 12:10+0000\n" "Last-Translator: mbouzada \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" diff --git a/l10n/nl/files.po b/l10n/nl/files.po index bbd8fd530f..0cc281e39e 100644 --- a/l10n/nl/files.po +++ b/l10n/nl/files.po @@ -19,9 +19,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-02-15 00:04+0100\n" -"PO-Revision-Date: 2013-02-14 23:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" +"PO-Revision-Date: 2013-02-19 21:50+0000\n" +"Last-Translator: André Koot \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -286,7 +286,7 @@ msgstr "Vanaf link" #: templates/index.php:40 msgid "Deleted files" -msgstr "" +msgstr "Verwijderde bestanden" #: templates/index.php:46 msgid "Cancel upload" diff --git a/l10n/pl/files.po b/l10n/pl/files.po index 9890a2eae8..35556a13c0 100644 --- a/l10n/pl/files.po +++ b/l10n/pl/files.po @@ -7,6 +7,7 @@ # Cyryl Sochacki <>, 2012. # Cyryl Sochacki , 2012-2013. # Marcin Małecki , 2011-2012. +# Mariusz , 2013. # , 2011. # , 2012. # Piotr Sokół , 2012. @@ -15,9 +16,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-02-15 00:04+0100\n" -"PO-Revision-Date: 2013-02-14 23:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" +"PO-Revision-Date: 2013-02-19 15:50+0000\n" +"Last-Translator: Mariusz Fik \n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -76,7 +77,7 @@ msgstr "Błąd zapisu na dysk" #: ajax/upload.php:52 msgid "Not enough storage available" -msgstr "" +msgstr "Za mało miejsca" #: ajax/upload.php:83 msgid "Invalid directory." @@ -282,7 +283,7 @@ msgstr "Z linku" #: templates/index.php:40 msgid "Deleted files" -msgstr "" +msgstr "Pliki usnięte" #: templates/index.php:46 msgid "Cancel upload" diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot index 36be3c3706..bd782be12d 100644 --- a/l10n/templates/core.pot +++ b/l10n/templates/core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot index fb8cc4e0c8..7d45d571c9 100644 --- a/l10n/templates/files.pot +++ b/l10n/templates/files.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot index 5e60e27efa..b27519c01e 100644 --- a/l10n/templates/files_encryption.pot +++ b/l10n/templates/files_encryption.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot index c9bc38f0ef..6e98b59654 100644 --- a/l10n/templates/files_external.pot +++ b/l10n/templates/files_external.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_sharing.pot b/l10n/templates/files_sharing.pot index 1271253d44..c1f7c6dcd2 100644 --- a/l10n/templates/files_sharing.pot +++ b/l10n/templates/files_sharing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/files_trashbin.pot b/l10n/templates/files_trashbin.pot index 4d7440e632..0e34b311a8 100644 --- a/l10n/templates/files_trashbin.pot +++ b/l10n/templates/files_trashbin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ajax/delete.php:22 +#: ajax/delete.php:24 #, php-format msgid "Couldn't delete %s permanently" msgstr "" diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot index 97806d4646..0339eb0917 100644 --- a/l10n/templates/files_versions.pot +++ b/l10n/templates/files_versions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot index 2232f91928..53147fb1c5 100644 --- a/l10n/templates/lib.pot +++ b/l10n/templates/lib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot index d37161b4df..6403daf074 100644 --- a/l10n/templates/settings.pot +++ b/l10n/templates/settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot index 93d7d9f6b6..cbc32af413 100644 --- a/l10n/templates/user_ldap.pot +++ b/l10n/templates/user_ldap.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot index 3e170c6c32..15865d8de3 100644 --- a/l10n/templates/user_webdavauth.pot +++ b/l10n/templates/user_webdavauth.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud Core 5.0.0\n" "Report-Msgid-Bugs-To: translations@owncloud.org\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/tr/settings.po b/l10n/tr/settings.po index 3409c93a04..65ec66d804 100644 --- a/l10n/tr/settings.po +++ b/l10n/tr/settings.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Aranel Surion , 2011, 2012. +# Aranel Surion , 2011-2013. # Emre , 2012. # , 2012. # Necdet Yücel , 2012. @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" -"PO-Revision-Date: 2013-02-18 19:50+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" +"PO-Revision-Date: 2013-02-18 23:30+0000\n" +"Last-Translator: Aranel Surion \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +32,7 @@ msgstr "Eşleşme hata" #: ajax/changedisplayname.php:32 msgid "Unable to change display name" -msgstr "" +msgstr "Ekran adı değiştirilemiyor" #: ajax/creategroup.php:10 msgid "Group already exists" @@ -72,7 +72,7 @@ msgstr "Geçersiz istek" #: ajax/togglegroups.php:12 msgid "Admins can't remove themself from the admin group" -msgstr "" +msgstr "Yöneticiler kendilerini yönetici grubundan kaldıramaz" #: ajax/togglegroups.php:28 #, php-format @@ -82,15 +82,15 @@ msgstr "Kullanıcı %s grubuna eklenemiyor" #: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "" +msgstr "%s grubundan kullanıcı kaldırılamıyor" #: ajax/updateapp.php:14 msgid "Couldn't update app." -msgstr "" +msgstr "Uygulama güncellenemedi." #: js/apps.js:30 msgid "Update to {appversion}" -msgstr "" +msgstr "{appversion} Güncelle" #: js/apps.js:36 js/apps.js:76 msgid "Disable" @@ -102,15 +102,15 @@ msgstr "Etkin" #: js/apps.js:55 msgid "Please wait...." -msgstr "" +msgstr "Lütfen bekleyin...." #: js/apps.js:84 msgid "Updating...." -msgstr "" +msgstr "Güncelleniyor...." #: js/apps.js:87 msgid "Error while updating app" -msgstr "" +msgstr "Uygulama güncellenirken hata" #: js/apps.js:87 msgid "Error" @@ -118,7 +118,7 @@ msgstr "Hata" #: js/apps.js:90 msgid "Updated" -msgstr "" +msgstr "Güncellendi" #: js/personal.js:96 msgid "Saving..." @@ -134,7 +134,7 @@ msgstr "geri al" #: js/users.js:62 msgid "Unable to remove user" -msgstr "" +msgstr "Kullanıcı kaldırılamıyor" #: js/users.js:75 templates/users.php:26 templates/users.php:80 #: templates/users.php:105 @@ -151,19 +151,19 @@ msgstr "Sil" #: js/users.js:191 msgid "add group" -msgstr "" +msgstr "grup ekle" #: js/users.js:352 msgid "A valid username must be provided" -msgstr "" +msgstr "Geçerli bir kullanıcı adı mutlaka sağlanmalı" #: js/users.js:353 js/users.js:359 js/users.js:374 msgid "Error creating user" -msgstr "" +msgstr "Kullanıcı oluşturulurken hata" #: js/users.js:358 msgid "A valid password must be provided" -msgstr "" +msgstr "Geçerli bir parola mutlaka sağlanmalı" #: personal.php:29 personal.php:30 msgid "__language_name__" @@ -184,7 +184,7 @@ msgstr "data dizininiz ve dosyalarınız büyük ihtimalle internet üzerinden e #: templates/admin.php:29 msgid "Setup Warning" -msgstr "" +msgstr "Kurulum Uyarısı" #: templates/admin.php:32 msgid "" @@ -199,7 +199,7 @@ msgstr "" #: templates/admin.php:44 msgid "Module 'fileinfo' missing" -msgstr "" +msgstr "Modül 'fileinfo' kayıp" #: templates/admin.php:47 msgid "" @@ -352,7 +352,7 @@ msgstr "Uygulamanın sayfasına apps.owncloud.com adresinden bakın " #: templates/apps.php:29 msgid "-licensed by " -msgstr "" +msgstr "-lisanslayan " #: templates/apps.php:31 msgid "Update" @@ -393,7 +393,7 @@ msgstr "Dosyalarınızı senkronize etmek için uygulamayı indirin" #: templates/personal.php:25 msgid "Show First Run Wizard again" -msgstr "" +msgstr "İlk Çalıştırma Sihirbazını yeniden göster" #: templates/personal.php:36 templates/users.php:23 templates/users.php:79 msgid "Password" @@ -421,19 +421,19 @@ msgstr "Parola değiştir" #: templates/personal.php:54 templates/users.php:78 msgid "Display Name" -msgstr "" +msgstr "Ekran Adı" #: templates/personal.php:55 msgid "Your display name was changed" -msgstr "" +msgstr "Ekran adınız değiştirildi" #: templates/personal.php:56 msgid "Unable to change your display name" -msgstr "" +msgstr "Ekran adınız değiştirilemiyor" #: templates/personal.php:59 msgid "Change display name" -msgstr "" +msgstr "Ekran adını değiştir" #: templates/personal.php:68 msgid "Email" @@ -461,11 +461,11 @@ msgstr "WebDAV" #: templates/personal.php:89 msgid "Use this address to connect to your ownCloud in your file manager" -msgstr "" +msgstr "Bu adresi kullanarak ownCloud 'unuza dosya yöneticinizde bağlanın" #: templates/users.php:21 templates/users.php:77 msgid "Login Name" -msgstr "" +msgstr "Giriş Adı" #: templates/users.php:32 msgid "Create" @@ -473,11 +473,11 @@ msgstr "Oluştur" #: templates/users.php:35 msgid "Default Storage" -msgstr "" +msgstr "Varsayılan Depolama" #: templates/users.php:41 templates/users.php:139 msgid "Unlimited" -msgstr "" +msgstr "Limitsiz" #: templates/users.php:59 templates/users.php:154 msgid "Other" @@ -485,16 +485,16 @@ msgstr "Diğer" #: templates/users.php:84 msgid "Storage" -msgstr "" +msgstr "Depolama" #: templates/users.php:95 msgid "change display name" -msgstr "" +msgstr "ekran adını değiştir" #: templates/users.php:99 msgid "set new password" -msgstr "" +msgstr "yeni parola belirle" #: templates/users.php:134 msgid "Default" -msgstr "" +msgstr "Varsayılan" diff --git a/l10n/uk/files_trashbin.po b/l10n/uk/files_trashbin.po index d2cbb893ab..7f2bd9d813 100644 --- a/l10n/uk/files_trashbin.po +++ b/l10n/uk/files_trashbin.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# пан Володимир , 2013. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-02-12 15:10+0100\n" -"PO-Revision-Date: 2013-02-12 10:07+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" +"PO-Revision-Date: 2013-02-19 14:20+0000\n" +"Last-Translator: volodya327 \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,23 +18,23 @@ msgstr "" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ajax/delete.php:22 +#: ajax/delete.php:24 #, php-format msgid "Couldn't delete %s permanently" -msgstr "" +msgstr "Неможливо видалити %s назавжди" #: ajax/undelete.php:41 #, php-format msgid "Couldn't restore %s" -msgstr "" +msgstr "Неможливо відновити %s" #: js/trash.js:7 js/trash.js:94 msgid "perform restore operation" -msgstr "" +msgstr "виконати операцію відновлення" #: js/trash.js:33 msgid "delete file permanently" -msgstr "" +msgstr "видалити файл назавжди" #: js/trash.js:125 templates/index.php:17 msgid "Name" @@ -41,7 +42,7 @@ msgstr "Ім'я" #: js/trash.js:126 templates/index.php:27 msgid "Deleted" -msgstr "" +msgstr "Видалено" #: js/trash.js:135 msgid "1 folder" @@ -61,8 +62,8 @@ msgstr "{count} файлів" #: templates/index.php:9 msgid "Nothing in here. Your trash bin is empty!" -msgstr "" +msgstr "Нічого немає. Ваший кошик для сміття пустий!" #: templates/index.php:20 templates/index.php:22 msgid "Restore" -msgstr "" +msgstr "Відновити" diff --git a/l10n/uk/files_versions.po b/l10n/uk/files_versions.po index a511f9ae55..91c980409d 100644 --- a/l10n/uk/files_versions.po +++ b/l10n/uk/files_versions.po @@ -4,13 +4,14 @@ # # Translators: # , 2012. +# пан Володимир , 2013. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-02-08 00:10+0100\n" -"PO-Revision-Date: 2013-02-07 23:11+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" +"PO-Revision-Date: 2013-02-19 14:30+0000\n" +"Last-Translator: volodya327 \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,33 +22,33 @@ msgstr "" #: ajax/rollbackVersion.php:15 #, php-format msgid "Could not revert: %s" -msgstr "" +msgstr "Не вдалося відновити: %s" #: history.php:40 msgid "success" -msgstr "" +msgstr "успішно" #: history.php:42 #, php-format msgid "File %s was reverted to version %s" -msgstr "" +msgstr "Файл %s був відновлений до версії %s" #: history.php:49 msgid "failure" -msgstr "" +msgstr "неуспішно" #: history.php:51 #, php-format msgid "File %s could not be reverted to version %s" -msgstr "" +msgstr "Файл %s не може бути відновлений до версії %s" #: history.php:68 msgid "No old versions available" -msgstr "" +msgstr "Старі версії недоступні" #: history.php:73 msgid "No path specified" -msgstr "" +msgstr "Шлях не вказаний" #: js/versions.js:16 msgid "History" @@ -55,7 +56,7 @@ msgstr "Історія" #: templates/history.php:20 msgid "Revert a file to a previous version by clicking on its revert button" -msgstr "" +msgstr "Відновити файл на попередню версію, натиснувши на кнопку Відновити" #: templates/settings.php:3 msgid "Files Versioning" diff --git a/l10n/uk/lib.po b/l10n/uk/lib.po index 68427402a3..3ed55cb1ef 100644 --- a/l10n/uk/lib.po +++ b/l10n/uk/lib.po @@ -7,13 +7,14 @@ # , 2012. # , 2012. # , 2013. +# пан Володимир , 2013. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2013-02-19 00:05+0100\n" -"PO-Revision-Date: 2013-02-18 13:40+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2013-02-20 00:02+0100\n" +"PO-Revision-Date: 2013-02-19 14:10+0000\n" +"Last-Translator: volodya327 \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -91,51 +92,51 @@ msgstr "Зображення" #: setup.php:34 msgid "Set an admin username." -msgstr "" +msgstr "Встановіть ім'я адміністратора." #: setup.php:37 msgid "Set an admin password." -msgstr "" +msgstr "Встановіть пароль адміністратора." #: setup.php:40 msgid "Specify a data folder." -msgstr "" +msgstr "Вкажіть теку для даних." #: setup.php:53 #, php-format msgid "%s enter the database username." -msgstr "" +msgstr "%s введіть ім'я користувача бази даних." #: setup.php:56 #, php-format msgid "%s enter the database name." -msgstr "" +msgstr "%s введіть назву бази даних." #: setup.php:59 #, php-format msgid "%s you may not use dots in the database name" -msgstr "" +msgstr "%s не можна використовувати крапки в назві бази даних" #: setup.php:62 #, php-format msgid "%s set the database host." -msgstr "" +msgstr "%s встановити хост бази даних." #: setup.php:126 setup.php:294 setup.php:339 msgid "PostgreSQL username and/or password not valid" -msgstr "" +msgstr "PostgreSQL ім'я користувача та/або пароль не дійсні" #: setup.php:127 setup.php:150 setup.php:204 msgid "You need to enter either an existing account or the administrator." -msgstr "" +msgstr "Вам потрібно ввести або існуючий обліковий запис або administrator." #: setup.php:149 setup.php:427 setup.php:494 msgid "Oracle username and/or password not valid" -msgstr "" +msgstr "Oracle ім'я користувача та/або пароль не дійсні" #: setup.php:203 msgid "MySQL username and/or password not valid" -msgstr "" +msgstr "MySQL ім'я користувача та/або пароль не дійсні" #: setup.php:257 setup.php:360 setup.php:369 setup.php:387 setup.php:397 #: setup.php:406 setup.php:435 setup.php:501 setup.php:527 setup.php:534 @@ -143,37 +144,37 @@ msgstr "" #: setup.php:584 #, php-format msgid "DB Error: \"%s\"" -msgstr "" +msgstr "Помилка БД: \"%s\"" #: setup.php:258 setup.php:361 setup.php:370 setup.php:388 setup.php:398 #: setup.php:407 setup.php:436 setup.php:502 setup.php:528 setup.php:535 #: setup.php:546 setup.php:562 setup.php:570 setup.php:579 #, php-format msgid "Offending command was: \"%s\"" -msgstr "" +msgstr "Команда, що викликала проблему: \"%s\"" #: setup.php:273 #, php-format msgid "MySQL user '%s'@'localhost' exists already." -msgstr "" +msgstr "Користувач MySQL '%s'@'localhost' вже існує." #: setup.php:274 msgid "Drop this user from MySQL" -msgstr "" +msgstr "Видалити цього користувача з MySQL" #: setup.php:279 #, php-format msgid "MySQL user '%s'@'%%' already exists" -msgstr "" +msgstr "Користувач MySQL '%s'@'%%' вже існує" #: setup.php:280 msgid "Drop this user from MySQL." -msgstr "" +msgstr "Видалити цього користувача з MySQL." #: setup.php:553 setup.php:585 #, php-format msgid "Offending command was: \"%s\", name: %s, password: %s" -msgstr "" +msgstr "Команда, що викликала проблему: \"%s\", ім'я: %s, пароль: %s" #: setup.php:649 msgid "" diff --git a/lib/fileproxy/quota.php b/lib/fileproxy/quota.php index 07d1d250e4..3dac3264fb 100644 --- a/lib/fileproxy/quota.php +++ b/lib/fileproxy/quota.php @@ -62,21 +62,21 @@ class OC_FileProxy_Quota extends OC_FileProxy{ * @var string $internalPath */ list($storage, $internalPath) = \OC\Files\Filesystem::resolvePath($path); - $owner=$storage->getOwner($internalPath); + $owner = $storage->getOwner($internalPath); if (!$owner) { return -1; } - $totalSpace=$this->getQuota($owner); - if($totalSpace==-1) { + $totalSpace = $this->getQuota($owner); + if($totalSpace == -1) { return -1; } $view = new \OC\Files\View("/".$owner."/files"); - $rootInfo=$view->getFileInfo('/'); - $usedSpace=isset($rootInfo['size'])?$rootInfo['size']:0; - return $totalSpace-$usedSpace; + $rootInfo = $view->getFileInfo('/'); + $usedSpace = isset($rootInfo['size'])?$rootInfo['size']:0; + return $totalSpace - $usedSpace; } public function postFree_space($path, $space) { @@ -84,6 +84,9 @@ class OC_FileProxy_Quota extends OC_FileProxy{ if($free==-1) { return $space; } + if ($space < 0){ + return $free; + } return min($free, $space); } diff --git a/lib/files/filesystem.php b/lib/files/filesystem.php index cba469e06c..875a9d6c5e 100644 --- a/lib/files/filesystem.php +++ b/lib/files/filesystem.php @@ -29,6 +29,8 @@ namespace OC\Files; +const FREE_SPACE_UNKNOWN = -2; + class Filesystem { public static $loaded = false; /** diff --git a/lib/files/storage/common.php b/lib/files/storage/common.php index 4cdabf1c8a..4e7a73e5d4 100644 --- a/lib/files/storage/common.php +++ b/lib/files/storage/common.php @@ -301,4 +301,13 @@ abstract class Common implements \OC\Files\Storage\Storage { } return implode('/', $output); } + + /** + * get the free space in the storage + * @param $path + * return int + */ + public function free_space($path){ + return \OC\Files\FREE_SPACE_UNKNOWN; + } } diff --git a/lib/helper.php b/lib/helper.php index 0f810ffc0c..add5c66e7b 100644 --- a/lib/helper.php +++ b/lib/helper.php @@ -762,9 +762,13 @@ class OC_Helper { $maxUploadFilesize = min($upload_max_filesize, $post_max_size); $freeSpace = \OC\Files\Filesystem::free_space($dir); - $freeSpace = max($freeSpace, 0); + if($freeSpace !== \OC\Files\FREE_SPACE_UNKNOWN){ + $freeSpace = max($freeSpace, 0); - return min($maxUploadFilesize, $freeSpace); + return min($maxUploadFilesize, $freeSpace); + } else { + return $maxUploadFilesize; + } } /** diff --git a/lib/l10n/uk.php b/lib/l10n/uk.php index 434ddcd973..415c0a80c2 100644 --- a/lib/l10n/uk.php +++ b/lib/l10n/uk.php @@ -16,6 +16,24 @@ "Files" => "Файли", "Text" => "Текст", "Images" => "Зображення", +"Set an admin username." => "Встановіть ім'я адміністратора.", +"Set an admin password." => "Встановіть пароль адміністратора.", +"Specify a data folder." => "Вкажіть теку для даних.", +"%s enter the database username." => "%s введіть ім'я користувача бази даних.", +"%s enter the database name." => "%s введіть назву бази даних.", +"%s you may not use dots in the database name" => "%s не можна використовувати крапки в назві бази даних", +"%s set the database host." => "%s встановити хост бази даних.", +"PostgreSQL username and/or password not valid" => "PostgreSQL ім'я користувача та/або пароль не дійсні", +"You need to enter either an existing account or the administrator." => "Вам потрібно ввести або існуючий обліковий запис або administrator.", +"Oracle username and/or password not valid" => "Oracle ім'я користувача та/або пароль не дійсні", +"MySQL username and/or password not valid" => "MySQL ім'я користувача та/або пароль не дійсні", +"DB Error: \"%s\"" => "Помилка БД: \"%s\"", +"Offending command was: \"%s\"" => "Команда, що викликала проблему: \"%s\"", +"MySQL user '%s'@'localhost' exists already." => "Користувач MySQL '%s'@'localhost' вже існує.", +"Drop this user from MySQL" => "Видалити цього користувача з MySQL", +"MySQL user '%s'@'%%' already exists" => "Користувач MySQL '%s'@'%%' вже існує", +"Drop this user from MySQL." => "Видалити цього користувача з MySQL.", +"Offending command was: \"%s\", name: %s, password: %s" => "Команда, що викликала проблему: \"%s\", ім'я: %s, пароль: %s", "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Ваш Web-сервер ще не налаштований належним чином для того, щоб дозволити синхронізацію файлів, через те що інтерфейс WebDAV, здається, зламаний.", "Please double check the installation guides." => "Будь ласка, перевірте інструкції по встановленню.", "seconds ago" => "секунди тому", diff --git a/lib/util.php b/lib/util.php index b2a4fce65a..636f3127f4 100755 --- a/lib/util.php +++ b/lib/util.php @@ -75,7 +75,7 @@ class OC_Util { public static function getVersion() { // hint: We only can count up. So the internal version number // of ownCloud 4.5 will be 4.90.0. This is not visible to the user - return array(4, 92, 10); + return array(4, 93, 10); } /** @@ -83,7 +83,7 @@ class OC_Util { * @return string */ public static function getVersionString() { - return '5.0 alpha 1'; + return '5.0 beta 1'; } /** diff --git a/settings/l10n/el.php b/settings/l10n/el.php index 1841793528..56c1837625 100644 --- a/settings/l10n/el.php +++ b/settings/l10n/el.php @@ -29,7 +29,9 @@ "Group Admin" => "Ομάδα Διαχειριστών", "Delete" => "Διαγραφή", "add group" => "προσθήκη ομάδας", +"A valid username must be provided" => "Πρέπει να δοθεί έγκυρο όνομα χρήστη", "Error creating user" => "Σφάλμα δημιουργίας χρήστη", +"A valid password must be provided" => "Πρέπει να δοθεί έγκυρο συνθηματικό", "__language_name__" => "__όνομα_γλώσσας__", "Security Warning" => "Προειδοποίηση Ασφαλείας", "Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Ο κατάλογος data και τα αρχεία σας πιθανόν να είναι διαθέσιμα στο διαδίκτυο. Το αρχείο .htaccess που παρέχει το ownCloud δεν δουλεύει. Σας προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας με τέτοιο τρόπο ώστε ο κατάλογος data να μην είναι πλέον προσβάσιμος ή να μετακινήσετε τον κατάλογο data έξω από τον κατάλογο του διακομιστή.", diff --git a/settings/l10n/tr.php b/settings/l10n/tr.php index 38a1d5f7f5..04db8cfcca 100644 --- a/settings/l10n/tr.php +++ b/settings/l10n/tr.php @@ -1,6 +1,7 @@ "App Store'dan liste yüklenemiyor", "Authentication error" => "Eşleşme hata", +"Unable to change display name" => "Ekran adı değiştirilemiyor", "Group already exists" => "Grup zaten mevcut", "Unable to add group" => "Gruba eklenemiyor", "Could not enable app. " => "Uygulama devreye alınamadı", @@ -10,19 +11,34 @@ "Unable to delete user" => "Kullanıcı silinemiyor", "Language changed" => "Dil değiştirildi", "Invalid request" => "Geçersiz istek", +"Admins can't remove themself from the admin group" => "Yöneticiler kendilerini yönetici grubundan kaldıramaz", "Unable to add user to group %s" => "Kullanıcı %s grubuna eklenemiyor", +"Unable to remove user from group %s" => "%s grubundan kullanıcı kaldırılamıyor", +"Couldn't update app." => "Uygulama güncellenemedi.", +"Update to {appversion}" => "{appversion} Güncelle", "Disable" => "Etkin değil", "Enable" => "Etkin", +"Please wait...." => "Lütfen bekleyin....", +"Updating...." => "Güncelleniyor....", +"Error while updating app" => "Uygulama güncellenirken hata", "Error" => "Hata", +"Updated" => "Güncellendi", "Saving..." => "Kaydediliyor...", "deleted" => "silindi", "undo" => "geri al", +"Unable to remove user" => "Kullanıcı kaldırılamıyor", "Groups" => "Gruplar", "Group Admin" => "Yönetici Grubu ", "Delete" => "Sil", +"add group" => "grup ekle", +"A valid username must be provided" => "Geçerli bir kullanıcı adı mutlaka sağlanmalı", +"Error creating user" => "Kullanıcı oluşturulurken hata", +"A valid password must be provided" => "Geçerli bir parola mutlaka sağlanmalı", "__language_name__" => "__dil_adı__", "Security Warning" => "Güvenlik Uyarisi", "Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "data dizininiz ve dosyalarınız büyük ihtimalle internet üzerinden erişilebilir. Owncloud tarafından sağlanan .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak data dizinine erişimi kapatmanızı veya data dizinini web sunucu döküman dizini dışına almanızı şiddetle tavsiye ederiz.", +"Setup Warning" => "Kurulum Uyarısı", +"Module 'fileinfo' missing" => "Modül 'fileinfo' kayıp", "More" => "Daha fazla", "Version" => "Sürüm", "Developed by the ownCloud community, the source code is licensed under the AGPL." => "Geliştirilen TarafownCloud community, the source code is altında lisanslanmıştır AGPL.", @@ -30,6 +46,7 @@ "More Apps" => "Daha fazla App", "Select an App" => "Bir uygulama seçin", "See application page at apps.owncloud.com" => "Uygulamanın sayfasına apps.owncloud.com adresinden bakın ", +"-licensed by " => "-lisanslayan ", "Update" => "Güncelleme", "User Documentation" => "Kullanıcı Belgelendirmesi", "Administrator Documentation" => "Yönetici Belgelendirmesi", @@ -38,18 +55,31 @@ "Bugtracker" => "Hata Takip Sistemi", "Commercial Support" => "Ticari Destek", "Get the apps to sync your files" => "Dosyalarınızı senkronize etmek için uygulamayı indirin", +"Show First Run Wizard again" => "İlk Çalıştırma Sihirbazını yeniden göster", "Password" => "Parola", "Your password was changed" => "Şifreniz değiştirildi", "Unable to change your password" => "Parolanız değiştirilemiyor", "Current password" => "Mevcut parola", "New password" => "Yeni parola", "Change password" => "Parola değiştir", +"Display Name" => "Ekran Adı", +"Your display name was changed" => "Ekran adınız değiştirildi", +"Unable to change your display name" => "Ekran adınız değiştirilemiyor", +"Change display name" => "Ekran adını değiştir", "Email" => "Eposta", "Your email address" => "Eposta adresiniz", "Fill in an email address to enable password recovery" => "Parola sıfırlamayı aktifleştirmek için eposta adresi girin", "Language" => "Dil", "Help translate" => "Çevirilere yardım edin", "WebDAV" => "WebDAV", +"Use this address to connect to your ownCloud in your file manager" => "Bu adresi kullanarak ownCloud 'unuza dosya yöneticinizde bağlanın", +"Login Name" => "Giriş Adı", "Create" => "Oluştur", -"Other" => "Diğer" +"Default Storage" => "Varsayılan Depolama", +"Unlimited" => "Limitsiz", +"Other" => "Diğer", +"Storage" => "Depolama", +"change display name" => "ekran adını değiştir", +"set new password" => "yeni parola belirle", +"Default" => "Varsayılan" );