summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.htaccess1
-rw-r--r--apps/comments/appinfo/info.xml2
-rw-r--r--apps/comments/l10n/de.js8
-rw-r--r--apps/comments/l10n/de.json8
-rw-r--r--apps/dav/command/migratecalendars.php4
-rw-r--r--apps/dav/command/syncbirthdaycalendar.php4
-rw-r--r--apps/dav/lib/caldav/calendar.php13
-rw-r--r--apps/dav/tests/unit/caldav/calendartest.php7
-rwxr-xr-xapps/files_external/tests/env/stop-amazons3-ceph.sh1
-rwxr-xr-xapps/files_external/tests/env/stop-ftp-morrisjobke.sh1
-rwxr-xr-xapps/files_external/tests/env/stop-sftp-atmoz.sh1
-rwxr-xr-xapps/files_external/tests/env/stop-smb-silvershell.sh1
-rwxr-xr-xapps/files_external/tests/env/stop-swift-ceph.sh1
-rwxr-xr-xapps/files_external/tests/env/stop-webdav-ownCloud.sh1
-rw-r--r--apps/files_sharing/l10n/hu_HU.js4
-rw-r--r--apps/files_sharing/l10n/hu_HU.json4
-rw-r--r--apps/updatenotification/js/notification.js2
-rw-r--r--apps/updatenotification/l10n/et_EE.js1
-rw-r--r--apps/updatenotification/l10n/et_EE.json1
-rw-r--r--apps/user_ldap/l10n/he.js2
-rw-r--r--apps/user_ldap/l10n/he.json2
-rwxr-xr-xautotest.sh2
-rw-r--r--composer.json8
-rw-r--r--core/js/files/iedavclient.js7
-rw-r--r--core/l10n/hu_HU.js4
-rw-r--r--core/l10n/hu_HU.json4
-rw-r--r--lib/base.php3
-rw-r--r--lib/composer/autoload.php7
-rw-r--r--lib/composer/composer/ClassLoader.php413
-rw-r--r--lib/composer/composer/LICENSE21
-rw-r--r--lib/composer/composer/autoload_classmap.php9
-rw-r--r--lib/composer/composer/autoload_namespaces.php9
-rw-r--r--lib/composer/composer/autoload_psr4.php10
-rw-r--r--lib/composer/composer/autoload_real.php45
-rw-r--r--lib/composer/composer/installed.json1
-rw-r--r--lib/l10n/hu_HU.js2
-rw-r--r--lib/l10n/hu_HU.json2
-rw-r--r--lib/private/Server.php (renamed from lib/private/server.php)0
-rw-r--r--lib/private/setup.php5
-rwxr-xr-xtests/objectstore/stop-swift-ceph.sh1
40 files changed, 587 insertions, 35 deletions
diff --git a/.htaccess b/.htaccess
index ec33fe31e15..085467e91ca 100644
--- a/.htaccess
+++ b/.htaccess
@@ -65,7 +65,6 @@
RewriteCond %{REQUEST_FILENAME} !/updater/
RewriteCond %{REQUEST_FILENAME} !/ocs-provider/
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/.*
- RewriteRule .* index.php [PT,E=PATH_INFO:$1]
</IfModule>
<IfModule mod_mime.c>
AddType image/svg+xml svg svgz
diff --git a/apps/comments/appinfo/info.xml b/apps/comments/appinfo/info.xml
index 9ae084945c7..c61b4a0fc7c 100644
--- a/apps/comments/appinfo/info.xml
+++ b/apps/comments/appinfo/info.xml
@@ -4,7 +4,7 @@
<name>Comments</name>
<description>Files app plugin to add comments to files</description>
<licence>AGPL</licence>
- <author>Arthur Shiwon, Vincent Petry</author>
+ <author>Arthur Schiwon, Vincent Petry</author>
<default_enable/>
<version>0.3.0</version>
<dependencies>
diff --git a/apps/comments/l10n/de.js b/apps/comments/l10n/de.js
index 636d9b88f2e..be0c332740f 100644
--- a/apps/comments/l10n/de.js
+++ b/apps/comments/l10n/de.js
@@ -2,16 +2,16 @@ OC.L10N.register(
"comments",
{
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
- "%1$s commented" : "%1$s kommentiert",
- "%1$s commented on %2$s" : "%1$s kommentiert %2$s",
+ "%1$s commented" : "%1$s kommentierte",
+ "%1$s commented on %2$s" : "%1$s kommentierte %2$s",
"Comments" : "Kommentare",
- "Type in a new comment..." : "Gebe bitte einen neuen Kommentar ein...",
+ "Type in a new comment..." : "Bitte gib einen neuen Kommentar ein...",
"Delete comment" : "Kommentar löschen",
"Post" : "Speichern",
"Cancel" : "Abbrechen",
"Edit comment" : "Kommentar bearbeiten",
"[Deleted user]" : "[Gelöschter Benutzer]",
- "No other comments available" : "Keine andere Kommentare vorhanden",
+ "No other comments available" : "Keine anderen Kommentare vorhanden",
"More comments..." : "Weitere Kommentare...",
"Save" : "Speichern",
"Allowed characters {count} of {max}" : "Erlaubte Zeichen {count} von {max}",
diff --git a/apps/comments/l10n/de.json b/apps/comments/l10n/de.json
index 67c5352ab46..5981609711e 100644
--- a/apps/comments/l10n/de.json
+++ b/apps/comments/l10n/de.json
@@ -1,15 +1,15 @@
{ "translations": {
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
- "%1$s commented" : "%1$s kommentiert",
- "%1$s commented on %2$s" : "%1$s kommentiert %2$s",
+ "%1$s commented" : "%1$s kommentierte",
+ "%1$s commented on %2$s" : "%1$s kommentierte %2$s",
"Comments" : "Kommentare",
- "Type in a new comment..." : "Gebe bitte einen neuen Kommentar ein...",
+ "Type in a new comment..." : "Bitte gib einen neuen Kommentar ein...",
"Delete comment" : "Kommentar löschen",
"Post" : "Speichern",
"Cancel" : "Abbrechen",
"Edit comment" : "Kommentar bearbeiten",
"[Deleted user]" : "[Gelöschter Benutzer]",
- "No other comments available" : "Keine andere Kommentare vorhanden",
+ "No other comments available" : "Keine anderen Kommentare vorhanden",
"More comments..." : "Weitere Kommentare...",
"Save" : "Speichern",
"Allowed characters {count} of {max}" : "Erlaubte Zeichen {count} von {max}",
diff --git a/apps/dav/command/migratecalendars.php b/apps/dav/command/migratecalendars.php
index 5e7f6e9b697..d887309ac3e 100644
--- a/apps/dav/command/migratecalendars.php
+++ b/apps/dav/command/migratecalendars.php
@@ -61,8 +61,8 @@ class MigrateCalendars extends Command {
protected function execute(InputInterface $input, OutputInterface $output) {
$this->service->setup();
- if ($input->hasArgument('user')) {
- $user = $input->getArgument('user');
+ $user = $input->getArgument('user');
+ if (!is_null($user)) {
if (!$this->userManager->userExists($user)) {
throw new \InvalidArgumentException("User <$user> in unknown.");
}
diff --git a/apps/dav/command/syncbirthdaycalendar.php b/apps/dav/command/syncbirthdaycalendar.php
index 5a2baa31d93..90a73a3eeb3 100644
--- a/apps/dav/command/syncbirthdaycalendar.php
+++ b/apps/dav/command/syncbirthdaycalendar.php
@@ -61,8 +61,8 @@ class SyncBirthdayCalendar extends Command {
* @param OutputInterface $output
*/
protected function execute(InputInterface $input, OutputInterface $output) {
- if ($input->getArgument('user') !== null) {
- $user = $input->getArgument('user');
+ $user = $input->getArgument('user');
+ if (!is_null($user)) {
if (!$this->userManager->userExists($user)) {
throw new \InvalidArgumentException("User <$user> in unknown.");
}
diff --git a/apps/dav/lib/caldav/calendar.php b/apps/dav/lib/caldav/calendar.php
index 55f1acec396..1e87f9b4333 100644
--- a/apps/dav/lib/caldav/calendar.php
+++ b/apps/dav/lib/caldav/calendar.php
@@ -22,11 +22,20 @@
namespace OCA\DAV\CalDAV;
use OCA\DAV\DAV\Sharing\IShareable;
+use Sabre\CalDAV\Backend\BackendInterface;
use Sabre\DAV\Exception\Forbidden;
use Sabre\DAV\PropPatch;
class Calendar extends \Sabre\CalDAV\Calendar implements IShareable {
+ public function __construct(BackendInterface $caldavBackend, $calendarInfo) {
+ parent::__construct($caldavBackend, $calendarInfo);
+
+ if ($this->getName() === BirthdayService::BIRTHDAY_CALENDAR_URI) {
+ $this->calendarInfo['{http://sabredav.org/ns}read-only'] = true;
+ }
+ }
+
/**
* Updates the list of shares.
*
@@ -100,10 +109,6 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IShareable {
}
function delete() {
- if ($this->getName() === BirthdayService::BIRTHDAY_CALENDAR_URI) {
- throw new Forbidden();
- }
-
if (isset($this->calendarInfo['{http://owncloud.org/ns}owner-principal'])) {
$principal = 'principal:' . parent::getOwner();
$shares = $this->getShares();
diff --git a/apps/dav/tests/unit/caldav/calendartest.php b/apps/dav/tests/unit/caldav/calendartest.php
index c41070ea435..e7f4d57067c 100644
--- a/apps/dav/tests/unit/caldav/calendartest.php
+++ b/apps/dav/tests/unit/caldav/calendartest.php
@@ -32,7 +32,7 @@ class CalendarTest extends TestCase {
/** @var \PHPUnit_Framework_MockObject_MockObject | CalDavBackend $backend */
$backend = $this->getMockBuilder('OCA\DAV\CalDAV\CalDavBackend')->disableOriginalConstructor()->getMock();
$backend->expects($this->once())->method('updateShares');
- $backend->method('getShares')->willReturn([
+ $backend->expects($this->any())->method('getShares')->willReturn([
['href' => 'principal:user2']
]);
$calendarInfo = [
@@ -52,7 +52,7 @@ class CalendarTest extends TestCase {
/** @var \PHPUnit_Framework_MockObject_MockObject | CalDavBackend $backend */
$backend = $this->getMockBuilder('OCA\DAV\CalDAV\CalDavBackend')->disableOriginalConstructor()->getMock();
$backend->expects($this->never())->method('updateShares');
- $backend->method('getShares')->willReturn([
+ $backend->expects($this->any())->method('getShares')->willReturn([
['href' => 'principal:group2']
]);
$calendarInfo = [
@@ -90,7 +90,8 @@ class CalendarTest extends TestCase {
$calendarInfo = [
'{http://owncloud.org/ns}owner-principal' => 'user1',
'principaluri' => 'user2',
- 'id' => 666
+ 'id' => 666,
+ 'uri' => 'default'
];
$c = new Calendar($backend, $calendarInfo);
diff --git a/apps/files_external/tests/env/stop-amazons3-ceph.sh b/apps/files_external/tests/env/stop-amazons3-ceph.sh
index dcf30d8c515..f559f8f9058 100755
--- a/apps/files_external/tests/env/stop-amazons3-ceph.sh
+++ b/apps/files_external/tests/env/stop-amazons3-ceph.sh
@@ -27,6 +27,7 @@ fi;
for container in `cat $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.amazons3`; do
echo "Stopping and removing docker container $container"
# kills running container and removes it
+ docker stop $container
docker rm -f $container
done;
diff --git a/apps/files_external/tests/env/stop-ftp-morrisjobke.sh b/apps/files_external/tests/env/stop-ftp-morrisjobke.sh
index e30ec2e594a..eedf8f82a50 100755
--- a/apps/files_external/tests/env/stop-ftp-morrisjobke.sh
+++ b/apps/files_external/tests/env/stop-ftp-morrisjobke.sh
@@ -27,6 +27,7 @@ fi;
for container in `cat $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.ftp`; do
echo "Stopping and removing docker container $container"
# kills running container and removes it
+ docker stop $container
docker rm -f $container
done;
diff --git a/apps/files_external/tests/env/stop-sftp-atmoz.sh b/apps/files_external/tests/env/stop-sftp-atmoz.sh
index 0c2fd0b5bc6..44380152340 100755
--- a/apps/files_external/tests/env/stop-sftp-atmoz.sh
+++ b/apps/files_external/tests/env/stop-sftp-atmoz.sh
@@ -27,6 +27,7 @@ fi;
for container in `cat $thisFolder/dockerContainerAtmoz.$EXECUTOR_NUMBER.sftp`; do
echo "Stopping and removing docker container $container"
# kills running container and removes it
+ docker stop $container
docker rm -f $container
done;
diff --git a/apps/files_external/tests/env/stop-smb-silvershell.sh b/apps/files_external/tests/env/stop-smb-silvershell.sh
index 40147b89106..56866f13b1f 100755
--- a/apps/files_external/tests/env/stop-smb-silvershell.sh
+++ b/apps/files_external/tests/env/stop-smb-silvershell.sh
@@ -27,6 +27,7 @@ fi;
for container in `cat $thisFolder/dockerContainerSilvershell.$EXECUTOR_NUMBER.smb`; do
echo "Stopping and removing docker container $container"
# kills running container and removes it
+ docker stop $container
docker rm -f $container
done;
diff --git a/apps/files_external/tests/env/stop-swift-ceph.sh b/apps/files_external/tests/env/stop-swift-ceph.sh
index 9f15fb05a7d..418f96e63f6 100755
--- a/apps/files_external/tests/env/stop-swift-ceph.sh
+++ b/apps/files_external/tests/env/stop-swift-ceph.sh
@@ -29,6 +29,7 @@ for container in `cat $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift`; d
echo "Stopping and removing docker container $container"
# kills running container and removes it
+ docker stop $container
docker rm -f $container
done;
diff --git a/apps/files_external/tests/env/stop-webdav-ownCloud.sh b/apps/files_external/tests/env/stop-webdav-ownCloud.sh
index 8eaf1ba754f..613a22efb8c 100755
--- a/apps/files_external/tests/env/stop-webdav-ownCloud.sh
+++ b/apps/files_external/tests/env/stop-webdav-ownCloud.sh
@@ -27,6 +27,7 @@ fi;
for container in `cat $thisFolder/dockerContainerOwnCloud.$EXECUTOR_NUMBER.webdav`; do
echo "Stopping and removing docker container $container"
# kills running container and removes it
+ docker stop $container
docker rm -f $container
done;
diff --git a/apps/files_sharing/l10n/hu_HU.js b/apps/files_sharing/l10n/hu_HU.js
index aee9a893a19..d76fa12435e 100644
--- a/apps/files_sharing/l10n/hu_HU.js
+++ b/apps/files_sharing/l10n/hu_HU.js
@@ -80,8 +80,8 @@ OC.L10N.register(
"Federated Cloud" : "Egyesített felhő",
"Your Federated Cloud ID:" : "Egyesített felhő azonosító:",
"Share it:" : "Ossza meg:",
- "Add to your website" : "Add hozzá saját weboldaladhoz",
+ "Add to your website" : "Adja hozzá saját weboldalához",
"Share with me via ownCloud" : "Ossza meg velem ownCloud-on keresztül",
- "HTML Code:" : "HTML Code:"
+ "HTML Code:" : "HTML kód:"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/hu_HU.json b/apps/files_sharing/l10n/hu_HU.json
index a91d017d0fd..242961a1960 100644
--- a/apps/files_sharing/l10n/hu_HU.json
+++ b/apps/files_sharing/l10n/hu_HU.json
@@ -78,8 +78,8 @@
"Federated Cloud" : "Egyesített felhő",
"Your Federated Cloud ID:" : "Egyesített felhő azonosító:",
"Share it:" : "Ossza meg:",
- "Add to your website" : "Add hozzá saját weboldaladhoz",
+ "Add to your website" : "Adja hozzá saját weboldalához",
"Share with me via ownCloud" : "Ossza meg velem ownCloud-on keresztül",
- "HTML Code:" : "HTML Code:"
+ "HTML Code:" : "HTML kód:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/js/notification.js b/apps/updatenotification/js/notification.js
index 9d22bcb2309..810b9c168af 100644
--- a/apps/updatenotification/js/notification.js
+++ b/apps/updatenotification/js/notification.js
@@ -18,7 +18,7 @@ $(document).ready(function(){
version = oc_updateState.updateVersion,
docLink = oc_updateState.updateLink,
text = t('core', '{version} is available. Get more information on how to update.', {version: version}),
- element = $('<a>').attr('href', docLink).text(text);
+ element = $('<a>').attr('href', docLink).attr('target','_blank').text(text);
OC.Notification.showTemporary(
element,
diff --git a/apps/updatenotification/l10n/et_EE.js b/apps/updatenotification/l10n/et_EE.js
index e0ff9695157..e22082ff92e 100644
--- a/apps/updatenotification/l10n/et_EE.js
+++ b/apps/updatenotification/l10n/et_EE.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"updatenotification",
{
+ "Updated channel" : "Uuendatud kanal",
"{version} is available. Get more information on how to update." : "{version} on saadaval. Vaata lisainfot uuendamise kohta.",
"Updater" : "Uuendaja",
"A new version is available: %s" : "Saadaval on uus versioon: %s",
diff --git a/apps/updatenotification/l10n/et_EE.json b/apps/updatenotification/l10n/et_EE.json
index 6a7a80ab08e..9ab8d224a7c 100644
--- a/apps/updatenotification/l10n/et_EE.json
+++ b/apps/updatenotification/l10n/et_EE.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Updated channel" : "Uuendatud kanal",
"{version} is available. Get more information on how to update." : "{version} on saadaval. Vaata lisainfot uuendamise kohta.",
"Updater" : "Uuendaja",
"A new version is available: %s" : "Saadaval on uus versioon: %s",
diff --git a/apps/user_ldap/l10n/he.js b/apps/user_ldap/l10n/he.js
index b0ef6a5c0a3..49de89877b0 100644
--- a/apps/user_ldap/l10n/he.js
+++ b/apps/user_ldap/l10n/he.js
@@ -123,10 +123,12 @@ OC.L10N.register(
"The LDAP attribute to use to generate the user's display name." : "תכונת LDAP לשימוש כדי להפיק את שם התצוגה של המשתמש.",
"2nd User Display Name Field" : "שדה שני לשם תצוגת משתמש",
"Base User Tree" : "עץ משתמש בסיסי",
+ "One User Base DN per line" : "משתמש DN בסיסי אחד לשורה",
"User Search Attributes" : "מאפייני חיפוש משתמש",
"Optional; one attribute per line" : "אופציונאלי; מאפיין אחד בשורה",
"Group Display Name Field" : "שדה שם תצוגה לקבוצה",
"Base Group Tree" : "עץ קבוצה בסיסי",
+ "One Group Base DN per line" : "קבוצת DN בסיסית לשורה",
"Group Search Attributes" : "מאפייני חיפוש קבוצה",
"Group-Member association" : "שיוך חברי-קבוצה",
"Dynamic Group Member URL" : "נתיב חבר קבוצה דינמית",
diff --git a/apps/user_ldap/l10n/he.json b/apps/user_ldap/l10n/he.json
index bfa91e63aba..cf55f7e4a60 100644
--- a/apps/user_ldap/l10n/he.json
+++ b/apps/user_ldap/l10n/he.json
@@ -121,10 +121,12 @@
"The LDAP attribute to use to generate the user's display name." : "תכונת LDAP לשימוש כדי להפיק את שם התצוגה של המשתמש.",
"2nd User Display Name Field" : "שדה שני לשם תצוגת משתמש",
"Base User Tree" : "עץ משתמש בסיסי",
+ "One User Base DN per line" : "משתמש DN בסיסי אחד לשורה",
"User Search Attributes" : "מאפייני חיפוש משתמש",
"Optional; one attribute per line" : "אופציונאלי; מאפיין אחד בשורה",
"Group Display Name Field" : "שדה שם תצוגה לקבוצה",
"Base Group Tree" : "עץ קבוצה בסיסי",
+ "One Group Base DN per line" : "קבוצת DN בסיסית לשורה",
"Group Search Attributes" : "מאפייני חיפוש קבוצה",
"Group-Member association" : "שיוך חברי-קבוצה",
"Dynamic Group Member URL" : "נתיב חבר קבוצה דינמית",
diff --git a/autotest.sh b/autotest.sh
index ba6ec383866..33c4ad50de8 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -122,6 +122,7 @@ function cleanup_config {
if [ ! -z "$DOCKER_CONTAINER_ID" ]; then
echo "Kill the docker $DOCKER_CONTAINER_ID"
+ docker stop "$DOCKER_CONTAINER_ID"
docker rm -f "$DOCKER_CONTAINER_ID"
fi
@@ -288,6 +289,7 @@ function execute_tests {
if [ ! -z "$DOCKER_CONTAINER_ID" ] ; then
echo "Kill the docker $DOCKER_CONTAINER_ID"
+ docker stop $DOCKER_CONTAINER_ID
docker rm -f $DOCKER_CONTAINER_ID
unset DOCKER_CONTAINER_ID
fi
diff --git a/composer.json b/composer.json
new file mode 100644
index 00000000000..98fdb3aa31c
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,8 @@
+{
+ "config" : {
+ "vendor-dir": "lib/composer"
+ },
+ "autoload" : {
+ "psr-4": {"OC\\": "lib/private"}
+ }
+}
diff --git a/core/js/files/iedavclient.js b/core/js/files/iedavclient.js
index e5b3968a197..9e83f5b9a22 100644
--- a/core/js/files/iedavclient.js
+++ b/core/js/files/iedavclient.js
@@ -39,7 +39,12 @@
for(ii in headers) {
xhr.setRequestHeader(ii, headers[ii]);
}
- xhr.send(body);
+
+ if (body === undefined) {
+ xhr.send();
+ } else {
+ xhr.send(body);
+ }
return new Promise(function(fulfill, reject) {
diff --git a/core/l10n/hu_HU.js b/core/l10n/hu_HU.js
index c99f7bbbe0b..d372a6c40ef 100644
--- a/core/l10n/hu_HU.js
+++ b/core/l10n/hu_HU.js
@@ -213,7 +213,7 @@ OC.L10N.register(
"File not found" : "Fájl nem található",
"The specified document has not been found on the server." : "A meghatározott dokumentum nem található a szerveren.",
"You can click here to return to %s." : "Ide kattintva visszatérhetsz ide: %s.",
- "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Üdv!\\n\n\\n\nÉrtesítjük, hogy %s megosztotta Önnel a következőt: %s.\\n\nItt lehet megnézni: %s\\n\n\\n",
+ "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Üdvözöljük!\n\nÉrtesítjük, hogy %s megosztotta Önnel a következőt: %s.\nItt nézheti meg: %s\n\n",
"The share will expire on %s." : "A megosztás lejár ekkor %s",
"Cheers!" : "Üdv.",
"Internal Server Error" : "Belső szerver hiba",
@@ -253,7 +253,7 @@ OC.L10N.register(
"Finishing …" : "Befejezés ...",
"Need help?" : "Segítségre van szüksége?",
"See the documentation" : "Nézze meg a dokumentációt",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Üdvözöljük!<br><br>\n\nÉrtesítjük, hogy %s megosztotta Önnel ezt az állományt: <strong>%s</strong><br>\n<a href=\"%s\">Itt lehet megnézni!</a><br><br>",
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Üdvözöljük!<br /><br />\n\nÉrtesítjük, hogy %s megosztotta Önnel a következőt: <strong>%s</strong><br />\n<a href=\"%s\">Itt nézheti meg.</a><br /><br />",
"This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Az alkalmazás megfelelő működéséhez JavaScript szükséges. Kérem {linkstart}engedélyezze a JavaScript-et{linkend} és frissítse a lapot.",
"Log out" : "Kilépés",
"Search" : "Keresés",
diff --git a/core/l10n/hu_HU.json b/core/l10n/hu_HU.json
index 99f3e448e63..a8f5da8d898 100644
--- a/core/l10n/hu_HU.json
+++ b/core/l10n/hu_HU.json
@@ -211,7 +211,7 @@
"File not found" : "Fájl nem található",
"The specified document has not been found on the server." : "A meghatározott dokumentum nem található a szerveren.",
"You can click here to return to %s." : "Ide kattintva visszatérhetsz ide: %s.",
- "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Üdv!\\n\n\\n\nÉrtesítjük, hogy %s megosztotta Önnel a következőt: %s.\\n\nItt lehet megnézni: %s\\n\n\\n",
+ "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Üdvözöljük!\n\nÉrtesítjük, hogy %s megosztotta Önnel a következőt: %s.\nItt nézheti meg: %s\n\n",
"The share will expire on %s." : "A megosztás lejár ekkor %s",
"Cheers!" : "Üdv.",
"Internal Server Error" : "Belső szerver hiba",
@@ -251,7 +251,7 @@
"Finishing …" : "Befejezés ...",
"Need help?" : "Segítségre van szüksége?",
"See the documentation" : "Nézze meg a dokumentációt",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Üdvözöljük!<br><br>\n\nÉrtesítjük, hogy %s megosztotta Önnel ezt az állományt: <strong>%s</strong><br>\n<a href=\"%s\">Itt lehet megnézni!</a><br><br>",
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Üdvözöljük!<br /><br />\n\nÉrtesítjük, hogy %s megosztotta Önnel a következőt: <strong>%s</strong><br />\n<a href=\"%s\">Itt nézheti meg.</a><br /><br />",
"This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Az alkalmazás megfelelő működéséhez JavaScript szükséges. Kérem {linkstart}engedélyezze a JavaScript-et{linkend} és frissítse a lapot.",
"Log out" : "Kilépés",
"Search" : "Keresés",
diff --git a/lib/base.php b/lib/base.php
index 70498f31567..7db4ec4a8fa 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -518,6 +518,9 @@ class OC {
exit();
}
+ // Add default composer PSR-4 autoloader
+ require_once OC::$SERVERROOT . '/lib/composer/autoload.php';
+
// setup the basic server
self::$server = new \OC\Server(\OC::$WEBROOT, self::$config);
\OC::$server->getEventLogger()->log('autoloader', 'Autoloader', $loaderStart, $loaderEnd);
diff --git a/lib/composer/autoload.php b/lib/composer/autoload.php
new file mode 100644
index 00000000000..610dbf34bca
--- /dev/null
+++ b/lib/composer/autoload.php
@@ -0,0 +1,7 @@
+<?php
+
+// autoload.php @generated by Composer
+
+require_once __DIR__ . '/composer' . '/autoload_real.php';
+
+return ComposerAutoloaderInit53792487c5a8370acc0b06b1a864ff4c::getLoader();
diff --git a/lib/composer/composer/ClassLoader.php b/lib/composer/composer/ClassLoader.php
new file mode 100644
index 00000000000..ff6ecfb822f
--- /dev/null
+++ b/lib/composer/composer/ClassLoader.php
@@ -0,0 +1,413 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ * Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ * @see http://www.php-fig.org/psr/psr-0/
+ * @see http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+
+ private $classMapAuthoritative = false;
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * appending or prepending to the ones previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Turns off searching the prefix and fallback directories for classes
+ * that have not been registered with the class map.
+ *
+ * @param bool $classMapAuthoritative
+ */
+ public function setClassMapAuthoritative($classMapAuthoritative)
+ {
+ $this->classMapAuthoritative = $classMapAuthoritative;
+ }
+
+ /**
+ * Should class lookup fail if not found in the current class map?
+ *
+ * @return bool
+ */
+ public function isClassMapAuthoritative()
+ {
+ return $this->classMapAuthoritative;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
+ if ('\\' == $class[0]) {
+ $class = substr($class, 1);
+ }
+
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+ if ($this->classMapAuthoritative) {
+ return false;
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if ($file === null && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if ($file === null) {
+ // Remember that this class does not exist.
+ return $this->classMap[$class] = false;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/lib/composer/composer/LICENSE b/lib/composer/composer/LICENSE
new file mode 100644
index 00000000000..c8d57af8b27
--- /dev/null
+++ b/lib/composer/composer/LICENSE
@@ -0,0 +1,21 @@
+
+Copyright (c) 2015 Nils Adermann, Jordi Boggiano
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
new file mode 100644
index 00000000000..71dd9c179b2
--- /dev/null
+++ b/lib/composer/composer/autoload_classmap.php
@@ -0,0 +1,9 @@
+<?php
+
+// autoload_classmap.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname(dirname($vendorDir));
+
+return array(
+);
diff --git a/lib/composer/composer/autoload_namespaces.php b/lib/composer/composer/autoload_namespaces.php
new file mode 100644
index 00000000000..4a9c20beed0
--- /dev/null
+++ b/lib/composer/composer/autoload_namespaces.php
@@ -0,0 +1,9 @@
+<?php
+
+// autoload_namespaces.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname(dirname($vendorDir));
+
+return array(
+);
diff --git a/lib/composer/composer/autoload_psr4.php b/lib/composer/composer/autoload_psr4.php
new file mode 100644
index 00000000000..a4b49f0f55f
--- /dev/null
+++ b/lib/composer/composer/autoload_psr4.php
@@ -0,0 +1,10 @@
+<?php
+
+// autoload_psr4.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname(dirname($vendorDir));
+
+return array(
+ 'OC\\' => array($baseDir . '/lib/private'),
+);
diff --git a/lib/composer/composer/autoload_real.php b/lib/composer/composer/autoload_real.php
new file mode 100644
index 00000000000..5fbea76758b
--- /dev/null
+++ b/lib/composer/composer/autoload_real.php
@@ -0,0 +1,45 @@
+<?php
+
+// autoload_real.php @generated by Composer
+
+class ComposerAutoloaderInit53792487c5a8370acc0b06b1a864ff4c
+{
+ private static $loader;
+
+ public static function loadClassLoader($class)
+ {
+ if ('Composer\Autoload\ClassLoader' === $class) {
+ require __DIR__ . '/ClassLoader.php';
+ }
+ }
+
+ public static function getLoader()
+ {
+ if (null !== self::$loader) {
+ return self::$loader;
+ }
+
+ spl_autoload_register(array('ComposerAutoloaderInit53792487c5a8370acc0b06b1a864ff4c', 'loadClassLoader'), true, true);
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader();
+ spl_autoload_unregister(array('ComposerAutoloaderInit53792487c5a8370acc0b06b1a864ff4c', 'loadClassLoader'));
+
+ $map = require __DIR__ . '/autoload_namespaces.php';
+ foreach ($map as $namespace => $path) {
+ $loader->set($namespace, $path);
+ }
+
+ $map = require __DIR__ . '/autoload_psr4.php';
+ foreach ($map as $namespace => $path) {
+ $loader->setPsr4($namespace, $path);
+ }
+
+ $classMap = require __DIR__ . '/autoload_classmap.php';
+ if ($classMap) {
+ $loader->addClassMap($classMap);
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
diff --git a/lib/composer/composer/installed.json b/lib/composer/composer/installed.json
new file mode 100644
index 00000000000..fe51488c706
--- /dev/null
+++ b/lib/composer/composer/installed.json
@@ -0,0 +1 @@
+[]
diff --git a/lib/l10n/hu_HU.js b/lib/l10n/hu_HU.js
index 3c96c9770e2..69f23c14997 100644
--- a/lib/l10n/hu_HU.js
+++ b/lib/l10n/hu_HU.js
@@ -74,7 +74,7 @@ OC.L10N.register(
"Can't create or write into the data directory %s" : "Nem sikerült létrehozni vagy irni a \"data\" könyvtárba %s",
"Invalid Federated Cloud ID" : "Érvénytelen Egyesített Felhő Azonosító",
"%s shared »%s« with you" : "%s megosztotta Önnel ezt: »%s«",
- "%s via %s" : "%s über %s",
+ "%s via %s" : "%s - %s",
"Sharing %s failed, because the backend does not allow shares from type %i" : "%s megosztása sikertelen, mert a megosztási alrendszer nem engedi a %l típus megosztását",
"Sharing %s failed, because the file does not exist" : "%s megosztása sikertelen, mert a fájl nem létezik",
"You are not allowed to share %s" : "Önnek nincs jogosultsága %s megosztására",
diff --git a/lib/l10n/hu_HU.json b/lib/l10n/hu_HU.json
index e73e82cc283..cd934efe99d 100644
--- a/lib/l10n/hu_HU.json
+++ b/lib/l10n/hu_HU.json
@@ -72,7 +72,7 @@
"Can't create or write into the data directory %s" : "Nem sikerült létrehozni vagy irni a \"data\" könyvtárba %s",
"Invalid Federated Cloud ID" : "Érvénytelen Egyesített Felhő Azonosító",
"%s shared »%s« with you" : "%s megosztotta Önnel ezt: »%s«",
- "%s via %s" : "%s über %s",
+ "%s via %s" : "%s - %s",
"Sharing %s failed, because the backend does not allow shares from type %i" : "%s megosztása sikertelen, mert a megosztási alrendszer nem engedi a %l típus megosztását",
"Sharing %s failed, because the file does not exist" : "%s megosztása sikertelen, mert a fájl nem létezik",
"You are not allowed to share %s" : "Önnek nincs jogosultsága %s megosztására",
diff --git a/lib/private/server.php b/lib/private/Server.php
index 81187cdd715..81187cdd715 100644
--- a/lib/private/server.php
+++ b/lib/private/Server.php
diff --git a/lib/private/setup.php b/lib/private/setup.php
index b9f8828227e..8a10a9cfbec 100644
--- a/lib/private/setup.php
+++ b/lib/private/setup.php
@@ -422,8 +422,9 @@ class Setup {
// Add rewrite base
$webRoot = !empty(\OC::$WEBROOT) ? \OC::$WEBROOT : '/';
- $content.="\n<IfModule mod_rewrite.c>";
- $content.="\n RewriteBase ".$webRoot;
+ $content .= "\n<IfModule mod_rewrite.c>";
+ $content .= "\n RewriteRule .* index.php [PT,E=PATH_INFO:$1]";
+ $content .= "\n RewriteBase ".$webRoot;
$content .= "\n <IfModule mod_env.c>";
$content .= "\n SetEnv front_controller_active true";
$content .= "\n <IfModule mod_dir.c>";
diff --git a/tests/objectstore/stop-swift-ceph.sh b/tests/objectstore/stop-swift-ceph.sh
index 23423e73d6a..afc5f712ab4 100755
--- a/tests/objectstore/stop-swift-ceph.sh
+++ b/tests/objectstore/stop-swift-ceph.sh
@@ -31,6 +31,7 @@ if [ -e $thisFolder/dockerContainerCeph.$EXECUTOR_NUMBER.swift ]; then
fi
echo "Stopping and removing docker container $container"
# kills running container and removes it
+ docker stop $container
docker rm -f $container
done;
fi;