diff options
author | Robin Appelman <icewind@owncloud.com> | 2012-10-11 22:54:39 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-10-11 22:54:39 +0200 |
commit | fb2d2bc2011c371ff1e4334f84494f15a84a07a2 (patch) | |
tree | b5c20c842441ce4288038909daa5a158c8e74e80 /apps | |
parent | 5c6e9518edde10e0c23d0d734d2cc6d161fc15c0 (diff) | |
parent | ee28e35ba93032a3d43601c030d3d44df9b092f0 (diff) | |
download | nextcloud-server-fb2d2bc2011c371ff1e4334f84494f15a84a07a2.tar.gz nextcloud-server-fb2d2bc2011c371ff1e4334f84494f15a84a07a2.zip |
merge master into filesystem
Diffstat (limited to 'apps')
23 files changed, 208 insertions, 154 deletions
diff --git a/apps/files/l10n/ru_RU.php b/apps/files/l10n/ru_RU.php index 0574e2dfcde..34e9d19ca33 100644 --- a/apps/files/l10n/ru_RU.php +++ b/apps/files/l10n/ru_RU.php @@ -9,6 +9,7 @@ "Files" => "Файлы", "Unshare" => "Скрыть", "Delete" => "Удалить", +"Rename" => "Переименовать", "already exists" => "уже существует", "replace" => "отмена", "suggest name" => "подобрать название", @@ -22,9 +23,13 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "Невозможно загрузить файл,\n так как он имеет нулевой размер или является директорией", "Upload Error" => "Ошибка загрузки", "Pending" => "Ожидающий решения", +"1 file uploading" => "загрузка 1 файла", +"files uploading" => "загрузка файлов", "Upload cancelled." => "Загрузка отменена", "File upload is in progress. Leaving the page now will cancel the upload." => "Процесс загрузки файла. Если покинуть страницу сейчас, загрузка будет отменена.", "Invalid name, '/' is not allowed." => "Неправильное имя, '/' не допускается.", +"files scanned" => "файлы отсканированы", +"error while scanning" => "ошибка при сканировании", "Name" => "Имя", "Size" => "Размер", "Modified" => "Изменен", @@ -32,6 +37,16 @@ "folders" => "папки", "file" => "файл", "files" => "файлы", +"seconds ago" => "секунд назад", +"minute ago" => "минуту назад", +"minutes ago" => "минут назад", +"today" => "сегодня", +"yesterday" => "вчера", +"days ago" => "дней назад", +"last month" => "в прошлом месяце", +"months ago" => "месяцев назад", +"last year" => "в прошлом году", +"years ago" => "лет назад", "File handling" => "Работа с файлами", "Maximum upload size" => "Максимальный размер загружаемого файла", "max. possible: " => "Максимально возможный", diff --git a/apps/files/templates/part.list.php b/apps/files/templates/part.list.php index 8faeae3939c..1329b5dc5cd 100644 --- a/apps/files/templates/part.list.php +++ b/apps/files/templates/part.list.php @@ -1,3 +1,12 @@ + <script type="text/javascript"> + <?php if ( array_key_exists('publicListView', $_) && $_['publicListView'] == true ) { + echo "var publicListView = true;"; + } else { + echo "var publicListView = false;"; + } + ?> + </script> + <?php foreach($_['files'] as $file): $simple_file_size = OCP\simple_file_size($file['size']); $simple_size_color = intval(200-$file['size']/(1024*1024)*2); // the bigger the file, the darker the shade of grey; megabytes*2 diff --git a/apps/files_external/l10n/es_AR.php b/apps/files_external/l10n/es_AR.php index 80d5729af42..055fbe782e7 100644 --- a/apps/files_external/l10n/es_AR.php +++ b/apps/files_external/l10n/es_AR.php @@ -1,4 +1,10 @@ <?php $TRANSLATIONS = array( +"Access granted" => "Acceso permitido", +"Error configuring Dropbox storage" => "Error al configurar el almacenamiento de Dropbox", +"Grant access" => "Permitir acceso", +"Fill out all required fields" => "Rellenar todos los campos requeridos", +"Please provide a valid Dropbox app key and secret." => "Por favor, proporcioná un secreto y una contraseña válida para la aplicación Dropbox.", +"Error configuring Google Drive storage" => "Error al configurar el almacenamiento de Google Drive", "External Storage" => "Almacenamiento externo", "Mount point" => "Punto de montaje", "Backend" => "Motor", diff --git a/apps/files_external/l10n/ru_RU.php b/apps/files_external/l10n/ru_RU.php index 69cf7544dd9..4bd2e2e964f 100644 --- a/apps/files_external/l10n/ru_RU.php +++ b/apps/files_external/l10n/ru_RU.php @@ -1,4 +1,8 @@ <?php $TRANSLATIONS = array( +"Access granted" => "Доступ разрешен", +"Error configuring Dropbox storage" => "Ошибка при конфигурировании хранилища Dropbox", +"Grant access" => "Предоставить доступ", +"Fill out all required fields" => "Заполните все требуемые поля", "External Storage" => "Внешние системы хранения данных", "Mount point" => "Точка монтирования", "Backend" => "Бэкэнд", diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/smb.php index d4882ed0249..8fcdd1f722f 100644 --- a/apps/files_external/lib/smb.php +++ b/apps/files_external/lib/smb.php @@ -61,7 +61,7 @@ class SMB extends \OC\Files\Storage\StreamWrapper{ } public function filetype($path) { - return (bool)@$this->opendir($path);//using opendir causes the same amount of requests and caches the content of the folder in one go + return (bool)@$this->opendir($path) ? 'dir' : 'file';//using opendir causes the same amount of requests and caches the content of the folder in one go } /** diff --git a/apps/files_external/lib/swift.php b/apps/files_external/lib/swift.php index c67cf59df6b..8d402b25212 100644 --- a/apps/files_external/lib/swift.php +++ b/apps/files_external/lib/swift.php @@ -41,7 +41,7 @@ class SWIFT extends \OC\Files\Storage\Common{ * @return string */ private function getContainerName($path) { - $path=trim($this->root.$path,'/'); + $path=trim(trim($this->root,'/')."/".$path,'/.'); return str_replace('/','\\',$path); } @@ -72,11 +72,11 @@ class SWIFT extends \OC\Files\Storage\Common{ * @return CF_Container */ private function createContainer($path) { - if($path=='' or $path=='/') { + if($path=='' or $path=='/' or $path=='.') { return $this->conn->create_container($this->getContainerName($path)); } $parent=dirname($path); - if($parent=='' or $parent=='/') { + if($parent=='' or $parent=='/' or $parent=='.') { $parentContainer=$this->rootContainer; }else{ if(!$this->containerExists($parent)) { @@ -102,6 +102,9 @@ class SWIFT extends \OC\Files\Storage\Common{ if(is_null($container)) { return null; }else{ + if ($path=="/" or $path=='') { + return null; + } try{ $obj=$container->get_object(basename($path)); $this->objects[$path]=$obj; @@ -137,7 +140,7 @@ class SWIFT extends \OC\Files\Storage\Common{ private function createObject($path) { $container=$this->getContainer(dirname($path)); if(!is_null($container)) { - $container=$this->createContainer($path); + $container=$this->createContainer(dirname($path)); } return $container->create_object(basename($path)); } @@ -279,7 +282,7 @@ class SWIFT extends \OC\Files\Storage\Common{ $this->conn = new \CF_Connection($this->auth); - if(!$this->containerExists($this->root)) { + if(!$this->containerExists('/')) { $this->rootContainer=$this->createContainer('/'); }else{ $this->rootContainer=$this->getContainer('/'); @@ -393,6 +396,9 @@ class SWIFT extends \OC\Files\Storage\Common{ } public function unlink($path) { + if($this->containerExists($path)) { + return $this->rmdir($path); + } if($this->objectExists($path)) { $container=$this->getContainer(dirname($path)); $container->delete_object(basename($path)); @@ -403,13 +409,13 @@ class SWIFT extends \OC\Files\Storage\Common{ } public function fopen($path,$mode) { - $obj=$this->getObject($path); - if(is_null($obj)) { - return false; - } switch($mode) { case 'r': case 'rb': + $obj=$this->getObject($path); + if (is_null($obj)) { + return false; + } $fp = fopen('php://temp', 'r+'); $obj->stream($fp); @@ -442,7 +448,7 @@ class SWIFT extends \OC\Files\Storage\Common{ } public function free_space($path) { - return 0; + return 1024*1024*1024*8; } public function touch($path,$mtime=null) { @@ -483,7 +489,17 @@ class SWIFT extends \OC\Files\Storage\Common{ } public function stat($path) { + $container=$this->getContainer($path); + if (!is_null($container)) { + return array( + 'mtime'=>-1, + 'size'=>$container->bytes_used, + 'ctime'=>-1 + ); + } + $obj=$this->getObject($path); + if(is_null($obj)) { return false; } @@ -507,7 +523,7 @@ class SWIFT extends \OC\Files\Storage\Common{ $obj->save_to_filename($tmpFile); return $tmpFile; }else{ - return false; + return OCP\Files::tmpFile(); } } diff --git a/apps/files_external/lib/webdav.php b/apps/files_external/lib/webdav.php index 70210b49ee7..7c61d06a018 100644 --- a/apps/files_external/lib/webdav.php +++ b/apps/files_external/lib/webdav.php @@ -133,6 +133,9 @@ class DAV extends \OC\Files\Storage\Common{ switch($mode) { case 'r': case 'rb': + if(!$this->file_exists($path)) { + return false; + } //straight up curl instead of sabredav here, sabredav put's the entire get result in memory $curl = curl_init(); $fp = fopen('php://temp', 'r+'); diff --git a/apps/files_external/tests/amazons3.php b/apps/files_external/tests/amazons3.php index cf372aecbd7..9fb377af3ba 100644 --- a/apps/files_external/tests/amazons3.php +++ b/apps/files_external/tests/amazons3.php @@ -1,45 +1,44 @@ <?php /** -* ownCloud -* -* @author Michael Gapczynski -* @copyright 2012 Michael Gapczynski mtgap@owncloud.com -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -*/ + * ownCloud + * + * @author Michael Gapczynski + * @copyright 2012 Michael Gapczynski mtgap@owncloud.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + */ namespace Test\Files\Storage; -$config = include('apps/files_external/tests/config.php'); -if (!is_array($config) or !isset($config['amazons3']) or !$config['amazons3']['run']) { - abstract class AmazonS3 extends Storage{} - return; -} else { - class AmazonS3 extends Storage { +class AmazonS3 extends Storage { - private $config; - private $id; + private $config; + private $id; - public function setUp() { - $id = uniqid(); - $this->config = include('apps/files_external/tests/config.php'); - $this->config['amazons3']['bucket'] = $id; // Make sure we have a new empty bucket to work in - $this->instance = new \OC\Files\Storage\AmazonS3($this->config['amazons3']); + public function setUp() { + $id = uniqid(); + $this->config = include('files_external/tests/config.php'); + if (!is_array($this->config) or !isset($this->config['amazons3']) or !$this->config['amazons3']['run']) { + $this->markTestSkipped('AmazonS3 backend not configured'); } + $this->config['amazons3']['bucket'] = $id; // Make sure we have a new empty bucket to work in + $this->instance = new \OC\Files\Storage\AmazonS3($this->config['amazons3']); + } - public function tearDown() { + public function tearDown() { + if ($this->instance) { $s3 = new \AmazonS3(array('key' => $this->config['amazons3']['key'], 'secret' => $this->config['amazons3']['secret'])); if ($s3->delete_all_objects($this->id)) { $s3->delete_bucket($this->id); diff --git a/apps/files_external/tests/config.php b/apps/files_external/tests/config.php index 7779f618948..ff16b1c1d8a 100644 --- a/apps/files_external/tests/config.php +++ b/apps/files_external/tests/config.php @@ -26,7 +26,7 @@ return array( 'run'=>false, 'user'=>'test:tester', 'token'=>'testing', - 'host'=>'localhost:8080/auth', + 'host'=>'localhost.local:8080/auth', 'root'=>'/', ), 'smb'=>array( diff --git a/apps/files_external/tests/dropbox.php b/apps/files_external/tests/dropbox.php index e77e0767c91..c517ef4cbb7 100644 --- a/apps/files_external/tests/dropbox.php +++ b/apps/files_external/tests/dropbox.php @@ -8,22 +8,21 @@ namespace Test\Files\Storage; -$config=include('files_external/tests/config.php'); -if(!is_array($config) or !isset($config['dropbox']) or !$config['dropbox']['run']) { - abstract class Dropbox extends Storage{} - return; -}else{ - class Dropbox extends Storage { - private $config; +class Dropbox extends Storage { + private $config; - public function setUp() { - $id=uniqid(); - $this->config=include('files_external/tests/config.php'); - $this->config['dropbox']['root'].='/'.$id;//make sure we have an new empty folder to work in - $this->instance=new \OC\Files\Storage\Dropbox($this->config['dropbox']); + public function setUp() { + $id = uniqid(); + $this->config = include('files_external/tests/config.php'); + if (!is_array($this->config) or !isset($this->config['dropbox']) or !$this->config['dropbox']['run']) { + $this->markTestSkipped('Dropbox backend not configured'); } + $this->config['dropbox']['root'] .= '/' . $id; //make sure we have an new empty folder to work in + $this->instance = new \OC\Files\Storage\Dropbox($this->config['dropbox']); + } - public function tearDown() { + public function tearDown() { + if ($this->instance) { $this->instance->unlink('/'); } } diff --git a/apps/files_external/tests/ftp.php b/apps/files_external/tests/ftp.php index 8a0821e25a5..3e6208e4a0d 100644 --- a/apps/files_external/tests/ftp.php +++ b/apps/files_external/tests/ftp.php @@ -8,22 +8,21 @@ namespace Test\Files\Storage; -$config=include('apps/files_external/tests/config.php'); -if(!is_array($config) or !isset($config['ftp']) or !$config['ftp']['run']) { - abstract class FTP extends Storage{} - return; -}else{ - class FTP extends Storage { - private $config; +class FTP extends Storage { + private $config; - public function setUp() { - $id=uniqid(); - $this->config=include('apps/files_external/tests/config.php'); - $this->config['ftp']['root'].='/'.$id;//make sure we have an new empty folder to work in - $this->instance=new \OC\Files\Storage\FTP($this->config['ftp']); + public function setUp() { + $id = uniqid(); + $this->config = include('files_external/tests/config.php'); + if (!is_array($this->config) or !isset($this->config['ftp']) or !$this->config['ftp']['run']) { + $this->markTestSkipped('FTP backend not configured'); } + $this->config['ftp']['root'] .= '/' . $id; //make sure we have an new empty folder to work in + $this->instance = new \OC\Files\Storage\FTP($this->config['ftp']); + } - public function tearDown() { + public function tearDown() { + if ($this->instance) { \OCP\Files::rmdirr($this->instance->constructUrl('')); } } diff --git a/apps/files_external/tests/google.php b/apps/files_external/tests/google.php index fff6461c912..87b3ae4e4cc 100644 --- a/apps/files_external/tests/google.php +++ b/apps/files_external/tests/google.php @@ -1,44 +1,42 @@ <?php /** -* ownCloud -* -* @author Michael Gapczynski -* @copyright 2012 Michael Gapczynski mtgap@owncloud.com -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -*/ + * ownCloud + * + * @author Michael Gapczynski + * @copyright 2012 Michael Gapczynski mtgap@owncloud.com + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + */ namespace Test\Files\Storage; -$config=include('apps/files_external/tests/config.php'); -if(!is_array($config) or !isset($config['google']) or !$config['google']['run']) { - abstract class Google extends Storage{} - return; -}else{ - class Google extends Storage { +class Google extends Storage { + private $config; - private $config; - - public function setUp() { - $id=uniqid(); - $this->config=include('apps/files_external/tests/config.php'); - $this->config['google']['root'].='/'.$id;//make sure we have an new empty folder to work in - $this->instance=new \OC\Files\Storage\Google($this->config['google']); + public function setUp() { + $id = uniqid(); + $this->config = include('files_external/tests/config.php'); + if (!is_array($this->config) or !isset($this->config['google']) or !$this->config['google']['run']) { + $this->markTestSkipped('Google backend not configured'); } + $this->config['google']['root'] .= '/' . $id; //make sure we have an new empty folder to work in + $this->instance = new \OC\Files\Storage\Google($this->config['google']); + } - public function tearDown() { + public function tearDown() { + if ($this->instance) { $this->instance->rmdir('/'); } } diff --git a/apps/files_external/tests/smb.php b/apps/files_external/tests/smb.php index 24728dc2370..b4ac6db1187 100644 --- a/apps/files_external/tests/smb.php +++ b/apps/files_external/tests/smb.php @@ -8,24 +8,22 @@ namespace Test\Files\Storage; -$config=include('apps/files_external/tests/config.php'); +class SMB extends Storage { + private $config; -if(!is_array($config) or !isset($config['smb']) or !$config['smb']['run']) { - abstract class SMB extends Storage{} - return; -}else{ - class SMB extends Storage { - private $config; - - public function setUp() { - $id=uniqid(); - $this->config=include('apps/files_external/tests/config.php'); - $this->config['smb']['root'].=$id;//make sure we have an new empty folder to work in - $this->instance=new \OC\Files\Storage\SMB($this->config['smb']); + public function setUp() { + $id = uniqid(); + $this->config = include('files_external/tests/config.php'); + if (!is_array($this->config) or !isset($this->config['smb']) or !$this->config['smb']['run']) { + $this->markTestSkipped('Samba backend not configured'); } + $this->config['smb']['root'] .= $id; //make sure we have an new empty folder to work in + $this->instance = new \OC\Files\Storage\SMB($this->config['smb']); + } - public function tearDown() { + public function tearDown() { + if ($this->instance) { \OCP\Files::rmdirr($this->instance->constructUrl('')); } } diff --git a/apps/files_external/tests/swift.php b/apps/files_external/tests/swift.php index 98a97f99b5b..4899d44acad 100644 --- a/apps/files_external/tests/swift.php +++ b/apps/files_external/tests/swift.php @@ -8,25 +8,23 @@ namespace Test\Files\Storage; -$config=include('apps/files_external/tests/config.php'); -if(!is_array($config) or !isset($config['swift']) or !$config['swift']['run']) { - abstract class SWIFT extends Storage{} - return; -}else{ - class SWIFT extends Storage { - private $config; +class SWIFT extends Storage { + private $config; - public function setUp() { - $id=uniqid(); - $this->config=include('apps/files_external/tests/config.php'); - $this->config['swift']['root'].='/'.$id;//make sure we have an new empty folder to work in - $this->instance=new \OC\Files\Storage\SWIFT($this->config['swift']); + public function setUp() { + $id = uniqid(); + $this->config = include('files_external/tests/config.php'); + if (!is_array($this->config) or !isset($this->config['swift']) or !$this->config['swift']['run']) { + $this->markTestSkipped('OpenStack SWIFT backend not configured'); } + $this->config['swift']['root'] .= '/' . $id; //make sure we have an new empty folder to work in + $this->instance = new \OC\Files\Storage\SWIFT($this->config['swift']); + } - public function tearDown() { - $this->instance->rmdir(''); + public function tearDown() { + if ($this->instance) { + $this->instance->rmdir(''); } - } } diff --git a/apps/files_external/tests/webdav.php b/apps/files_external/tests/webdav.php index cddd0d513ed..13e3be42948 100644 --- a/apps/files_external/tests/webdav.php +++ b/apps/files_external/tests/webdav.php @@ -8,22 +8,22 @@ namespace Test\Files\Storage; -$config=include('apps/files_external/tests/config.php'); -if(!is_array($config) or !isset($config['webdav']) or !$config['webdav']['run']) { - abstract class DAV extends Storage{} - return; -}else{ - class DAV extends Storage { - private $config; +class DAV extends Storage { - public function setUp() { - $id=uniqid(); - $this->config=include('apps/files_external/tests/config.php'); - $this->config['webdav']['root'].='/'.$id;//make sure we have an new empty folder to work in - $this->instance=new \OC\Files\Storage\DAV($this->config['webdav']); + private $config; + + public function setUp() { + $id = uniqid(); + $this->config = include('files_external/tests/config.php'); + if (!is_array($this->config) or !isset($this->config['webdav']) or !$this->config['webdav']['run']) { + $this->markTestSkipped('WebDAV backend not configured'); } + $this->config['webdav']['root'] .= '/' . $id; //make sure we have an new empty folder to work in + $this->instance = new \OC\Files\Storage\DAV($this->config['webdav']); + } - public function tearDown() { + public function tearDown() { + if ($this->instance) { $this->instance->rmdir('/'); } } diff --git a/apps/files_sharing/js/share.js b/apps/files_sharing/js/share.js index bc94d78fb76..72663c068c9 100644 --- a/apps/files_sharing/js/share.js +++ b/apps/files_sharing/js/share.js @@ -1,6 +1,6 @@ $(document).ready(function() { - if (typeof OC.Share !== 'undefined' && typeof FileActions !== 'undefined') { + if (typeof OC.Share !== 'undefined' && typeof FileActions !== 'undefined' && !publicListView) { OC.Share.loadIcons('file'); FileActions.register('all', 'Share', OC.PERMISSION_READ, function(filename) { // Return the correct sharing icon diff --git a/apps/files_sharing/public.php b/apps/files_sharing/public.php index c5f4b39d704..96d0f0de05c 100644 --- a/apps/files_sharing/public.php +++ b/apps/files_sharing/public.php @@ -45,6 +45,11 @@ if (isset($_GET['file']) || isset($_GET['dir'])) { } if (isset($linkItem['share_with'])) { // Check password + if (isset($_GET['file'])) {
+ $url = OCP\Util::linkToPublic('files').'&file='.$_GET['file'];
+ } else {
+ $url = OCP\Util::linkToPublic('files').'&dir='.$_GET['dir'];
+ } if (isset($_POST['password'])) { $password = $_POST['password']; $storedHash = $linkItem['share_with']; @@ -52,7 +57,7 @@ if (isset($_GET['file']) || isset($_GET['dir'])) { $hasher = new PasswordHash(8, $forcePortable); if (!($hasher->CheckPassword($password.OC_Config::getValue('passwordsalt', ''), $storedHash))) { $tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest'); - $tmpl->assign('URL', OCP\Util::linkToPublic('files').'&file='.$_GET['file']); + $tmpl->assign('URL', $url); $tmpl->assign('error', true); $tmpl->printPage(); exit(); @@ -64,7 +69,7 @@ if (isset($_GET['file']) || isset($_GET['dir'])) { } else if (!isset($_SESSION['public_link_authenticated']) || $_SESSION['public_link_authenticated'] !== $linkItem['id']) { // Prompt for password $tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest'); - $tmpl->assign('URL', OCP\Util::linkToPublic('files').'&file='.$_GET['file']); + $tmpl->assign('URL', $url); $tmpl->printPage(); exit(); } @@ -138,6 +143,7 @@ if (isset($_GET['file']) || isset($_GET['dir'])) { } $list = new OCP\Template('files', 'part.list', ''); $list->assign('files', $files, false); + $list->assign('publicListView', true); $list->assign('baseURL', OCP\Util::linkToPublic('files').'&dir='.$_GET['dir'].'&path=', false); $list->assign('downloadURL', OCP\Util::linkToPublic('files').'&download&dir='.$_GET['dir'].'&path=', false); $breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '' ); diff --git a/apps/files_versions/js/versions.js b/apps/files_versions/js/versions.js index aa79cffeca4..87396cd0ba1 100644 --- a/apps/files_versions/js/versions.js +++ b/apps/files_versions/js/versions.js @@ -21,11 +21,11 @@ $(document).ready(function(){ } ,function(filename){ // Action to perform when clicked - if (scanFiles.scanning || !$('#dropdown').hasClass('drop-versions')){return;}//workaround to prevent additional http request block scanning feedback + if (scanFiles.scanning){return;}//workaround to prevent additional http request block scanning feedback var file = $('#dir').val()+'/'+filename; // Check if drop down is already visible for a different file - if (($('#dropdown').length > 0)) { + if (($('#dropdown').length > 0) && $('#dropdown').hasClass('drop-versions') ) { if (file != $('#dropdown').data('file')) { $('#dropdown').hide('blind', function() { $('#dropdown').remove(); diff --git a/apps/files_versions/l10n/ru_RU.php b/apps/files_versions/l10n/ru_RU.php index 2563c318bc2..a14258eea87 100644 --- a/apps/files_versions/l10n/ru_RU.php +++ b/apps/files_versions/l10n/ru_RU.php @@ -1,4 +1,6 @@ <?php $TRANSLATIONS = array( +"Expire all versions" => "Срок действия всех версий истекает", +"History" => "История", "Versions" => "Версии", "This will delete all existing backup versions of your files" => "Это приведет к удалению всех существующих версий резервной копии ваших файлов", "Files Versioning" => "Файлы управления версиями", diff --git a/apps/files_versions/lib/hooks.php b/apps/files_versions/lib/hooks.php index 7cb3170df23..d87c85ecacb 100644 --- a/apps/files_versions/lib/hooks.php +++ b/apps/files_versions/lib/hooks.php @@ -64,7 +64,7 @@ class Hooks { $abs_newpath = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$params['newpath'].'.v'; if(Storage::isversioned($rel_oldpath)) { $info=pathinfo($abs_newpath); - if(!file_exists($info['dirname'])) mkdir($info['dirname'],0700,true); + if(!file_exists($info['dirname'])) mkdir($info['dirname'],0750,true); $versions = Storage::getVersions($rel_oldpath); foreach ($versions as $v) { rename($abs_oldpath.$v['version'], $abs_newpath.$v['version']); diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php index 7f7837a7425..fdbe374e74a 100644 --- a/apps/files_versions/lib/versions.php +++ b/apps/files_versions/lib/versions.php @@ -106,9 +106,9 @@ class Storage { // create all parent folders - $dirname = dirname($filename); - if(!$users_view->file_exists('/files_versions/'.$dirname)) { - $users_view->mkdir('/files_versions/'.$dirname,0700,true); + $info=pathinfo($filename);
+ if(!file_exists($versionsFolderName.'/'.$info['dirname'])) { + mkdir($versionsFolderName.'/'.$info['dirname'],0750,true); } // store a new version of a file diff --git a/apps/user_ldap/l10n/pt_PT.php b/apps/user_ldap/l10n/pt_PT.php index fe276f9fabd..bf32a295371 100644 --- a/apps/user_ldap/l10n/pt_PT.php +++ b/apps/user_ldap/l10n/pt_PT.php @@ -1,5 +1,6 @@ <?php $TRANSLATIONS = array( "Host" => "Anfitrião", +"You can specify Base DN for users and groups in the Advanced tab" => "Pode especificar o ND Base para utilizadores e grupos no separador Avançado", "Password" => "Palavra-passe", "Group Filter" => "Filtrar por grupo", "Port" => "Porto", diff --git a/apps/user_ldap/l10n/ru_RU.php b/apps/user_ldap/l10n/ru_RU.php index 62c0cfaec3b..4b8aa36f181 100644 --- a/apps/user_ldap/l10n/ru_RU.php +++ b/apps/user_ldap/l10n/ru_RU.php @@ -18,6 +18,7 @@ "The LDAP attribute to use to generate the user`s ownCloud name." => "Атрибут LDAP, используемый для создания имени пользователя в ownCloud.", "The LDAP attribute to use to generate the groups`s ownCloud name." => "Атрибут LDAP, используемый для создания группового имени в ownCloud.", "in bytes" => "в байтах", +"in seconds. A change empties the cache." => "в секундах. Изменение очищает кэш.", "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Оставьте пустым под имя пользователя (по умолчанию). В противном случае задайте LDAP/AD атрибут.", "Help" => "Помощь" ); |