From 673e3dae3f8db23b71690c6726a985bba4aea5fb Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Thu, 11 Oct 2012 02:07:32 +0200 Subject: [tx-robot] updated from transifex --- apps/files_external/l10n/es_AR.php | 6 ++++++ apps/files_external/l10n/ru_RU.php | 4 ++++ 2 files changed, 10 insertions(+) (limited to 'apps/files_external') 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 @@ "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 @@ "Доступ разрешен", +"Error configuring Dropbox storage" => "Ошибка при конфигурировании хранилища Dropbox", +"Grant access" => "Предоставить доступ", +"Fill out all required fields" => "Заполните все требуемые поля", "External Storage" => "Внешние системы хранения данных", "Mount point" => "Точка монтирования", "Backend" => "Бэкэнд", -- cgit v1.2.3 From 8336b3287e557c326f60ac8a7afd710267c38407 Mon Sep 17 00:00:00 2001 From: Benjamin Liles Date: Thu, 11 Oct 2012 08:52:21 -0500 Subject: Various bug fixes for swift --- apps/files_external/lib/swift.php | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) (limited to 'apps/files_external') diff --git a/apps/files_external/lib/swift.php b/apps/files_external/lib/swift.php index c29d28b44c1..4b0b8c25fda 100644 --- a/apps/files_external/lib/swift.php +++ b/apps/files_external/lib/swift.php @@ -39,7 +39,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{ * @return string */ private function getContainerName($path) { - $path=trim($this->root.$path,'/'); + $path=trim(trim($this->root,'/')."/".$path,'/.'); return str_replace('/','\\',$path); } @@ -70,11 +70,11 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_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)) { @@ -100,6 +100,9 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_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; @@ -135,7 +138,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_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)); } @@ -277,7 +280,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_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('/'); @@ -391,6 +394,9 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_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)); @@ -401,13 +407,13 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_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); @@ -440,7 +446,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{ } public function free_space($path) { - return 0; + return 1024*1024*1024*8; } public function touch($path,$mtime=null) { @@ -481,7 +487,17 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_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; } @@ -505,7 +521,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{ $obj->save_to_filename($tmpFile); return $tmpFile; }else{ - return false; + return OCP\Files::tmpFile(); } } -- cgit v1.2.3 From 5256301a536f4308c0de6ff7e2494df98336d259 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 11 Oct 2012 21:12:52 +0200 Subject: skip the files_external test cases the correct way --- apps/files_external/tests/amazons3.php | 63 +++++++++++++++++----------------- apps/files_external/tests/config.php | 6 ++-- apps/files_external/tests/dropbox.php | 25 +++++++------- apps/files_external/tests/ftp.php | 25 +++++++------- apps/files_external/tests/google.php | 61 ++++++++++++++++---------------- apps/files_external/tests/smb.php | 26 +++++++------- apps/files_external/tests/swift.php | 28 +++++++-------- apps/files_external/tests/webdav.php | 25 +++++++------- 8 files changed, 125 insertions(+), 134 deletions(-) (limited to 'apps/files_external') diff --git a/apps/files_external/tests/amazons3.php b/apps/files_external/tests/amazons3.php index b9b4cf65bd6..725f4ba05da 100644 --- a/apps/files_external/tests/amazons3.php +++ b/apps/files_external/tests/amazons3.php @@ -1,43 +1,42 @@ . -*/ + * 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 . + */ -$config = include('apps/files_external/tests/config.php'); -if (!is_array($config) or !isset($config['amazons3']) or !$config['amazons3']['run']) { - abstract class Test_Filestorage_AmazonS3 extends Test_FileStorage{} - return; -} else { - class Test_Filestorage_AmazonS3 extends Test_FileStorage { +class Test_Filestorage_AmazonS3 extends Test_FileStorage { - 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_Filestorage_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_Filestorage_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..47dd7c4bf87 100644 --- a/apps/files_external/tests/config.php +++ b/apps/files_external/tests/config.php @@ -8,7 +8,7 @@ return array( 'root'=>'/test', ), 'webdav'=>array( - 'run'=>false, + 'run'=>true, 'host'=>'localhost', 'user'=>'test', 'password'=>'test', @@ -26,11 +26,11 @@ return array( 'run'=>false, 'user'=>'test:tester', 'token'=>'testing', - 'host'=>'localhost:8080/auth', + 'host'=>'ubuntu.local:8080/auth', 'root'=>'/', ), 'smb'=>array( - 'run'=>false, + 'run'=>true, 'user'=>'test', 'password'=>'test', 'host'=>'localhost', diff --git a/apps/files_external/tests/dropbox.php b/apps/files_external/tests/dropbox.php index 64eb2556c92..56319b9f5d7 100644 --- a/apps/files_external/tests/dropbox.php +++ b/apps/files_external/tests/dropbox.php @@ -6,22 +6,21 @@ * See the COPYING-README file. */ -$config=include('files_external/tests/config.php'); -if(!is_array($config) or !isset($config['dropbox']) or !$config['dropbox']['run']) { - abstract class Test_Filestorage_Dropbox extends Test_FileStorage{} - return; -}else{ - class Test_Filestorage_Dropbox extends Test_FileStorage { - private $config; +class Test_Filestorage_Dropbox extends Test_FileStorage { + 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_Filestorage_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_Filestorage_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 12f3ec3908d..4549c420410 100644 --- a/apps/files_external/tests/ftp.php +++ b/apps/files_external/tests/ftp.php @@ -6,22 +6,21 @@ * See the COPYING-README file. */ -$config=include('apps/files_external/tests/config.php'); -if(!is_array($config) or !isset($config['ftp']) or !$config['ftp']['run']) { - abstract class Test_Filestorage_FTP extends Test_FileStorage{} - return; -}else{ - class Test_Filestorage_FTP extends Test_FileStorage { - private $config; +class Test_Filestorage_FTP extends Test_FileStorage { + 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_Filestorage_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_Filestorage_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 d2a6358ade4..46e622cc180 100644 --- a/apps/files_external/tests/google.php +++ b/apps/files_external/tests/google.php @@ -1,42 +1,41 @@ . -*/ + * 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 . + */ -$config=include('apps/files_external/tests/config.php'); -if(!is_array($config) or !isset($config['google']) or !$config['google']['run']) { - abstract class Test_Filestorage_Google extends Test_FileStorage{} - return; -}else{ - class Test_Filestorage_Google extends Test_FileStorage { +class Test_Filestorage_Google extends Test_FileStorage { - 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_Filestorage_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_Filestorage_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 7de4fddbb34..2c03ef5dbd0 100644 --- a/apps/files_external/tests/smb.php +++ b/apps/files_external/tests/smb.php @@ -6,23 +6,21 @@ * See the COPYING-README file. */ -$config=include('apps/files_external/tests/config.php'); +class Test_Filestorage_SMB extends Test_FileStorage { + private $config; -if(!is_array($config) or !isset($config['smb']) or !$config['smb']['run']) { - abstract class Test_Filestorage_SMB extends Test_FileStorage{} - return; -}else{ - class Test_Filestorage_SMB extends Test_FileStorage { - 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_Filestorage_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_Filestorage_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 a6f5eace1c8..8cf2a3abc76 100644 --- a/apps/files_external/tests/swift.php +++ b/apps/files_external/tests/swift.php @@ -6,25 +6,23 @@ * See the COPYING-README file. */ -$config=include('apps/files_external/tests/config.php'); -if(!is_array($config) or !isset($config['swift']) or !$config['swift']['run']) { - abstract class Test_Filestorage_SWIFT extends Test_FileStorage{} - return; -}else{ - class Test_Filestorage_SWIFT extends Test_FileStorage { - private $config; +class Test_Filestorage_SWIFT extends Test_FileStorage { + 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_Filestorage_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_Filestorage_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 74d980aa3f1..2da88f63edd 100644 --- a/apps/files_external/tests/webdav.php +++ b/apps/files_external/tests/webdav.php @@ -6,22 +6,21 @@ * See the COPYING-README file. */ -$config=include('apps/files_external/tests/config.php'); -if(!is_array($config) or !isset($config['webdav']) or !$config['webdav']['run']) { - abstract class Test_Filestorage_DAV extends Test_FileStorage{} - return; -}else{ - class Test_Filestorage_DAV extends Test_FileStorage { - private $config; +class Test_Filestorage_DAV extends Test_FileStorage { + private $config; - 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_Filestorage_DAV($this->config['webdav']); + 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_Filestorage_DAV($this->config['webdav']); + } - public function tearDown() { + public function tearDown() { + if ($this->instance) { $this->instance->rmdir('/'); } } -- cgit v1.2.3 From 5698c8519ad48e9ffa4497e8ce951888922903c3 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 11 Oct 2012 21:13:19 +0200 Subject: fix webdav storage backend when trying to open a non existing file for reading --- apps/files_external/lib/webdav.php | 3 +++ apps/files_external/tests/config.php | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'apps/files_external') diff --git a/apps/files_external/lib/webdav.php b/apps/files_external/lib/webdav.php index 3c18b227fa6..5e185839158 100644 --- a/apps/files_external/lib/webdav.php +++ b/apps/files_external/lib/webdav.php @@ -131,6 +131,9 @@ class OC_FileStorage_DAV extends OC_Filestorage_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/config.php b/apps/files_external/tests/config.php index 47dd7c4bf87..ff16b1c1d8a 100644 --- a/apps/files_external/tests/config.php +++ b/apps/files_external/tests/config.php @@ -8,7 +8,7 @@ return array( 'root'=>'/test', ), 'webdav'=>array( - 'run'=>true, + 'run'=>false, 'host'=>'localhost', 'user'=>'test', 'password'=>'test', @@ -26,11 +26,11 @@ return array( 'run'=>false, 'user'=>'test:tester', 'token'=>'testing', - 'host'=>'ubuntu.local:8080/auth', + 'host'=>'localhost.local:8080/auth', 'root'=>'/', ), 'smb'=>array( - 'run'=>true, + 'run'=>false, 'user'=>'test', 'password'=>'test', 'host'=>'localhost', -- cgit v1.2.3 From 92ddefe5a6b549daf267322f8e25942d4970de7c Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 11 Oct 2012 21:17:48 +0200 Subject: fix filetype for smb storage backend --- apps/files_external/lib/smb.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'apps/files_external') diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/smb.php index e5ba7a17743..eed2582dc99 100644 --- a/apps/files_external/lib/smb.php +++ b/apps/files_external/lib/smb.php @@ -59,7 +59,7 @@ class OC_FileStorage_SMB extends OC_FileStorage_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 } /** -- cgit v1.2.3