summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/connector/sabre/directory.php31
-rw-r--r--lib/connector/sabre/file.php21
-rw-r--r--lib/files/cache/cache.php2
-rw-r--r--lib/files/cache/legacy.php6
-rw-r--r--lib/files/cache/scanner.php31
-rw-r--r--lib/l10n/ca.php18
-rw-r--r--lib/l10n/cs_CZ.php18
-rw-r--r--lib/l10n/da.php20
-rw-r--r--lib/l10n/de_DE.php17
-rw-r--r--lib/l10n/es_AR.php5
-rw-r--r--lib/l10n/et_EE.php9
-rw-r--r--lib/l10n/eu.php20
-rw-r--r--lib/l10n/fr.php18
-rw-r--r--lib/l10n/hi.php7
-rw-r--r--lib/l10n/it.php18
-rw-r--r--lib/l10n/ja_JP.php20
-rw-r--r--lib/l10n/lv.php18
-rw-r--r--lib/l10n/nl.php20
-rw-r--r--lib/l10n/ru.php12
-rw-r--r--lib/l10n/sk_SK.php18
-rwxr-xr-xlib/request.php12
21 files changed, 327 insertions, 14 deletions
diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php
index c4062170d5e..e29059d0395 100644
--- a/lib/connector/sabre/directory.php
+++ b/lib/connector/sabre/directory.php
@@ -62,7 +62,36 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa
}
} else {
$newPath = $this->path . '/' . $name;
- \OC\Files\Filesystem::file_put_contents($newPath, $data);
+
+ // mark file as partial while uploading (ignored by the scanner)
+ $partpath = $newPath . '.part';
+
+ \OC\Files\Filesystem::file_put_contents($partpath, $data);
+
+ //detect aborted upload
+ if (isset ($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'PUT' ) {
+ if (isset($_SERVER['CONTENT_LENGTH'])) {
+ $expected = $_SERVER['CONTENT_LENGTH'];
+ $actual = \OC\Files\Filesystem::filesize($partpath);
+ if ($actual != $expected) {
+ \OC\Files\Filesystem::unlink($partpath);
+ throw new Sabre_DAV_Exception_BadRequest(
+ 'expected filesize ' . $expected . ' got ' . $actual);
+ }
+ }
+ }
+
+ // rename to correct path
+ \OC\Files\Filesystem::rename($partpath, $newPath);
+
+ // allow sync clients to send the mtime along in a header
+ $mtime = OC_Request::hasModificationTime();
+ if ($mtime !== false) {
+ if(\OC\Files\Filesystem::touch($newPath, $mtime)) {
+ header('X-OC-MTime: accepted');
+ }
+ }
+
return OC_Connector_Sabre_Node::getETagPropertyForPath($newPath);
}
diff --git a/lib/connector/sabre/file.php b/lib/connector/sabre/file.php
index 521c5f0571d..61165d9956d 100644
--- a/lib/connector/sabre/file.php
+++ b/lib/connector/sabre/file.php
@@ -50,8 +50,29 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
\OC\Files\Filesystem::file_put_contents($partpath, $data);
+ //detect aborted upload
+ if (isset ($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'PUT' ) {
+ if (isset($_SERVER['CONTENT_LENGTH'])) {
+ $expected = $_SERVER['CONTENT_LENGTH'];
+ $actual = \OC\Files\Filesystem::filesize($partpath);
+ if ($actual != $expected) {
+ \OC\Files\Filesystem::unlink($partpath);
+ throw new Sabre_DAV_Exception_BadRequest(
+ 'expected filesize ' . $expected . ' got ' . $actual);
+ }
+ }
+ }
+
// rename to correct path
\OC\Files\Filesystem::rename($partpath, $this->path);
+
+ //allow sync clients to send the mtime along in a header
+ $mtime = OC_Request::hasModificationTime();
+ if ($mtime !== false) {
+ if(\OC\Files\Filesystem::touch($this->path, $mtime)) {
+ header('X-OC-MTime: accepted');
+ }
+ }
return OC_Connector_Sabre_Node::getETagPropertyForPath($this->path);
}
diff --git a/lib/files/cache/cache.php b/lib/files/cache/cache.php
index dcb6e8fd39a..38b35c69def 100644
--- a/lib/files/cache/cache.php
+++ b/lib/files/cache/cache.php
@@ -56,7 +56,7 @@ class Cache {
} else {
$query = \OC_DB::prepare('INSERT INTO `*PREFIX*storages`(`id`) VALUES(?)');
$query->execute(array($this->storageId));
- $this->numericId = \OC_DB::insertid('*PREFIX*filecache');
+ $this->numericId = \OC_DB::insertid('*PREFIX*storages');
}
}
diff --git a/lib/files/cache/legacy.php b/lib/files/cache/legacy.php
index 33d4b8e7c9f..6d1ffa7b40b 100644
--- a/lib/files/cache/legacy.php
+++ b/lib/files/cache/legacy.php
@@ -51,6 +51,12 @@ class Legacy {
$this->cacheHasItems = false;
return false;
}
+
+ if ($result === false || property_exists($result, 'error_message_prefix')) {
+ $this->cacheHasItems = false;
+ return false;
+ }
+
$this->cacheHasItems = (bool)$result->fetchRow();
return $this->cacheHasItems;
}
diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php
index 5a9a119458e..88f208547f6 100644
--- a/lib/files/cache/scanner.php
+++ b/lib/files/cache/scanner.php
@@ -58,9 +58,10 @@ class Scanner {
* scan a single file and store it in the cache
*
* @param string $file
+ * @param bool $checkExisting check existing folder sizes in the cache instead of always using -1 for folder size
* @return array with metadata of the scanned file
*/
- public function scanFile($file) {
+ public function scanFile($file, $checkExisting = false) {
\OC_Hook::emit('\OC\Files\Cache\Scanner', 'scan_file', array('path' => $file, 'storage' => $this->storageId));
$data = $this->getData($file);
if ($data) {
@@ -73,7 +74,15 @@ class Scanner {
$this->scanFile($parent);
}
}
- $id = $this->cache->put($file, $data);
+ if ($checkExisting and $cacheData = $this->cache->get($file)) {
+ if ($data['size'] === -1) {
+ $data['size'] = $cacheData['size'];
+ }
+ if ($data['mtime'] === $cacheData['mtime']) {
+ $data['etag'] = $cacheData['etag'];
+ }
+ }
+ $this->cache->put($file, $data);
}
return $data;
}
@@ -99,20 +108,18 @@ class Scanner {
while ($file = readdir($dh)) {
if (!$this->isIgnoredFile($file)) {
$child = ($path) ? $path . '/' . $file : $file;
- $data = $this->scanFile($child);
+ $data = $this->scanFile($child, $recursive === self::SCAN_SHALLOW);
if ($data) {
- if ($data['mimetype'] === 'httpd/unix-directory') {
+ if ($data['size'] === -1) {
if ($recursive === self::SCAN_RECURSIVE) {
$childQueue[] = $child;
$data['size'] = 0;
} else {
- $data['size'] = -1;
+ $size = -1;
}
- } else {
}
- if ($data['size'] === -1) {
- $size = -1;
- } elseif ($size !== -1) {
+
+ if ($size !== -1) {
$size += $data['size'];
}
}
@@ -133,7 +140,7 @@ class Scanner {
}
return $size;
}
-
+
/**
* @brief check if the file should be ignored when scanning
* NOTE: files with a '.part' extension are ignored as well!
@@ -143,8 +150,8 @@ class Scanner {
*/
private function isIgnoredFile($file) {
if ($file === '.' || $file === '..'
- || pathinfo($file,PATHINFO_EXTENSION) === 'part')
- {
+ || pathinfo($file, PATHINFO_EXTENSION) === 'part'
+ ) {
return true;
}
return false;
diff --git a/lib/l10n/ca.php b/lib/l10n/ca.php
index d34220f8f5c..3e3938aa6cb 100644
--- a/lib/l10n/ca.php
+++ b/lib/l10n/ca.php
@@ -16,6 +16,24 @@
"Files" => "Fitxers",
"Text" => "Text",
"Images" => "Imatges",
+"Set an admin username." => "Establiu un nom d'usuari per l'administrador.",
+"Set an admin password." => "Establiu una contrasenya per l'administrador.",
+"Specify a data folder." => "Especifiqueu una carpeta de dades.",
+"%s enter the database username." => "%s escriviu el nom d'usuari de la base de dades.",
+"%s enter the database name." => "%s escriviu el nom de la base de dades.",
+"%s you may not use dots in the database name" => "%s no podeu usar punts en el nom de la base de dades",
+"%s set the database host." => "%s establiu l'ordinador central de la base de dades.",
+"PostgreSQL username and/or password not valid" => "Nom d'usuari i/o contrasenya PostgreSQL no vàlids",
+"You need to enter either an existing account or the administrator." => "Heu d'escriure un compte existent o el d'administrador.",
+"Oracle username and/or password not valid" => "Nom d'usuari i/o contrasenya Oracle no vàlids",
+"MySQL username and/or password not valid" => "Nom d'usuari i/o contrasenya MySQL no vàlids",
+"DB Error: \"%s\"" => "Error DB: \"%s\"",
+"Offending command was: \"%s\"" => "L'ordre en conflicte és: \"%s\"",
+"MySQL user '%s'@'localhost' exists already." => "L'usuari MySQL '%s'@'localhost' ja existeix.",
+"Drop this user from MySQL" => "Elimina aquest usuari de MySQL",
+"MySQL user '%s'@'%%' already exists" => "L'usuari MySQL '%s'@'%%' ja existeix",
+"Drop this user from MySQL." => "Elimina aquest usuari de MySQL.",
+"Offending command was: \"%s\", name: %s, password: %s" => "L'ordre en conflicte és: \"%s\", nom: %s, contrasenya: %s",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "El servidor web no està configurat correctament per permetre la sincronització de fitxers perquè la interfície WebDAV sembla no funcionar correctament.",
"Please double check the <a href='%s'>installation guides</a>." => "Comproveu les <a href='%s'>guies d'instal·lació</a>.",
"seconds ago" => "segons enrere",
diff --git a/lib/l10n/cs_CZ.php b/lib/l10n/cs_CZ.php
index f3fd1a24819..d99f259cb0f 100644
--- a/lib/l10n/cs_CZ.php
+++ b/lib/l10n/cs_CZ.php
@@ -16,6 +16,24 @@
"Files" => "Soubory",
"Text" => "Text",
"Images" => "Obrázky",
+"Set an admin username." => "Zadejte uživatelské jméno správce.",
+"Set an admin password." => "Zadejte heslo správce.",
+"Specify a data folder." => "Určete složku dat.",
+"%s enter the database username." => "Zadejte uživatelské jméno %s databáze.",
+"%s enter the database name." => "Zadejte název databáze pro %s databáze.",
+"%s you may not use dots in the database name" => "V názvu databáze %s nesmíte používat tečky.",
+"%s set the database host." => "Zadejte název počítače s databází %s.",
+"PostgreSQL username and/or password not valid" => "Uživatelské jméno, či heslo PostgreSQL není platné",
+"You need to enter either an existing account or the administrator." => "Musíte zadat existující účet, či správce.",
+"Oracle username and/or password not valid" => "Uživatelské jméno, či heslo Oracle není platné",
+"MySQL username and/or password not valid" => "Uživatelské jméno, či heslo MySQL není platné",
+"DB Error: \"%s\"" => "Chyba DB: \"%s\"",
+"Offending command was: \"%s\"" => "Podezřelý příkaz byl: \"%s\"",
+"MySQL user '%s'@'localhost' exists already." => "Uživatel '%s'@'localhost' již v MySQL existuje.",
+"Drop this user from MySQL" => "Zahodit uživatele z MySQL",
+"MySQL user '%s'@'%%' already exists" => "Uživatel '%s'@'%%' již v MySQL existuje",
+"Drop this user from MySQL." => "Zahodit uživatele z MySQL.",
+"Offending command was: \"%s\", name: %s, password: %s" => "Podezřelý příkaz byl: \"%s\", jméno: %s, heslo: %s",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Váš webový server není správně nastaven pro umožnění synchronizace, protože rozhraní WebDAV je rozbité.",
"Please double check the <a href='%s'>installation guides</a>." => "Zkonzultujte, prosím, <a href='%s'>průvodce instalací</a>.",
"seconds ago" => "před vteřinami",
diff --git a/lib/l10n/da.php b/lib/l10n/da.php
index 8f22be5e823..e61fba30ff3 100644
--- a/lib/l10n/da.php
+++ b/lib/l10n/da.php
@@ -16,6 +16,26 @@
"Files" => "Filer",
"Text" => "SMS",
"Images" => "Billeder",
+"Set an admin username." => "Angiv et admin brugernavn.",
+"Set an admin password." => "Angiv et admin kodeord.",
+"Specify a data folder." => "Specificer en data mappe.",
+"%s enter the database username." => "%s indtast database brugernavnet.",
+"%s enter the database name." => "%s indtast database navnet.",
+"%s you may not use dots in the database name" => "%s du må ikke bruge punktummer i databasenavnet.",
+"%s set the database host." => "%s sæt database værten.",
+"PostgreSQL username and/or password not valid" => "PostgreSQL brugernavn og/eller kodeord er ikke gyldigt.",
+"You need to enter either an existing account or the administrator." => "Du bliver nødt til at indtaste en eksisterende bruger eller en administrator.",
+"Oracle username and/or password not valid" => "Oracle brugernavn og/eller kodeord er ikke gyldigt.",
+"MySQL username and/or password not valid" => "MySQL brugernavn og/eller kodeord er ikke gyldigt.",
+"DB Error: \"%s\"" => "Databasefejl: \"%s\"",
+"Offending command was: \"%s\"" => "Fejlende kommando var: \"%s\"",
+"MySQL user '%s'@'localhost' exists already." => "MySQL brugeren '%s'@'localhost' eksisterer allerede.",
+"Drop this user from MySQL" => "Slet denne bruger fra MySQL",
+"MySQL user '%s'@'%%' already exists" => "MySQL brugeren '%s'@'%%' eksisterer allerede.",
+"Drop this user from MySQL." => "Slet denne bruger fra MySQL",
+"Offending command was: \"%s\", name: %s, password: %s" => "Fejlende kommando var: \"%s\", navn: %s, password: %s",
+"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Din webserver er endnu ikke sat op til at tillade fil synkronisering fordi WebDAV grænsefladen virker ødelagt.",
+"Please double check the <a href='%s'>installation guides</a>." => "Dobbelttjek venligst <a href='%s'>installations vejledningerne</a>.",
"seconds ago" => "sekunder siden",
"1 minute ago" => "1 minut siden",
"%d minutes ago" => "%d minutter siden",
diff --git a/lib/l10n/de_DE.php b/lib/l10n/de_DE.php
index 625ba2ecf20..324b172cdfa 100644
--- a/lib/l10n/de_DE.php
+++ b/lib/l10n/de_DE.php
@@ -16,6 +16,23 @@
"Files" => "Dateien",
"Text" => "Text",
"Images" => "Bilder",
+"Set an admin username." => "Setze Administrator Benutzername.",
+"Set an admin password." => "Setze Administrator Passwort",
+"Specify a data folder." => "Spezifiziere Datei-Verzeichnis.",
+"%s enter the database username." => "%s gib den Datenbank-Benutzernamen an.",
+"%s enter the database name." => "%s gib den Datenbank-Namen an.",
+"%s you may not use dots in the database name" => "%s du darfst keine Punkte im Datenbank-Namen verwenden",
+"%s set the database host." => "%s setze den Datenbank-Host",
+"PostgreSQL username and/or password not valid" => "PostgreSQL Benutzername und/oder Passwort nicht valide",
+"Oracle username and/or password not valid" => "Oracle Benutzername und/oder Passwort nicht valide",
+"MySQL username and/or password not valid" => "MySQL Benutzername und/oder Passwort nicht valide",
+"DB Error: \"%s\"" => "DB Fehler: \"%s\"",
+"Offending command was: \"%s\"" => "Fehlerhaftes Kommando war: \"%s\"",
+"MySQL user '%s'@'localhost' exists already." => "MySQL Benutzer '%s'@'localhost' existiert bereits.",
+"Drop this user from MySQL" => "Lösche diesen Benutzer von MySQL",
+"MySQL user '%s'@'%%' already exists" => "MySQL Benutzer '%s'@'%%' existiert bereits",
+"Drop this user from MySQL." => "Lösche diesen Benutzer von MySQL.",
+"Offending command was: \"%s\", name: %s, password: %s" => "Fehlerhaftes Kommando war: \"%s\", Name: %s, Passwort: %s",
"seconds ago" => "Gerade eben",
"1 minute ago" => "Vor einer Minute",
"%d minutes ago" => "Vor %d Minuten",
diff --git a/lib/l10n/es_AR.php b/lib/l10n/es_AR.php
index c32017a10f8..8e3f3d5e903 100644
--- a/lib/l10n/es_AR.php
+++ b/lib/l10n/es_AR.php
@@ -16,6 +16,11 @@
"Files" => "Archivos",
"Text" => "Texto",
"Images" => "Imágenes",
+"Set an admin username." => "Configurar un nombre de administrador",
+"Set an admin password." => "Configurar una palabra clave de administrador",
+"Specify a data folder." => "Especificar un directorio de datos",
+"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Tu servidor web no está configurado todavía para permitir sincronización de archivos porque la interfaz WebDAV parece no funcionar.",
+"Please double check the <a href='%s'>installation guides</a>." => "Por favor, comprobá nuevamente la <a href='%s'>guía de instalación</a>.",
"seconds ago" => "hace unos segundos",
"1 minute ago" => "hace 1 minuto",
"%d minutes ago" => "hace %d minutos",
diff --git a/lib/l10n/et_EE.php b/lib/l10n/et_EE.php
index 906abf9430a..cdcf762d9a6 100644
--- a/lib/l10n/et_EE.php
+++ b/lib/l10n/et_EE.php
@@ -15,13 +15,22 @@
"Files" => "Failid",
"Text" => "Tekst",
"Images" => "Pildid",
+"Set an admin username." => "Määra admin kasutajanimi.",
+"Set an admin password." => "Määra admini parool.",
+"Specify a data folder." => "Määra andmete kaust.",
+"DB Error: \"%s\"" => "Andmebaasi viga: \"%s\"",
+"Drop this user from MySQL" => "Kustuta see kasutaja MySQL-ist",
+"Drop this user from MySQL." => "Kustuta see kasutaja MySQL-ist.",
"seconds ago" => "sekundit tagasi",
"1 minute ago" => "1 minut tagasi",
"%d minutes ago" => "%d minutit tagasi",
+"1 hour ago" => "1 tund tagasi",
+"%d hours ago" => "%d tundi tagasi",
"today" => "täna",
"yesterday" => "eile",
"%d days ago" => "%d päeva tagasi",
"last month" => "eelmisel kuul",
+"%d months ago" => "%d kuud tagasi",
"last year" => "eelmisel aastal",
"years ago" => "aastat tagasi",
"%s is available. Get <a href=\"%s\">more information</a>" => "%s on saadaval. Vaata <a href=\"%s\">lisainfot</a>",
diff --git a/lib/l10n/eu.php b/lib/l10n/eu.php
index 1941551b176..97eb6511198 100644
--- a/lib/l10n/eu.php
+++ b/lib/l10n/eu.php
@@ -16,6 +16,26 @@
"Files" => "Fitxategiak",
"Text" => "Testua",
"Images" => "Irudiak",
+"Set an admin username." => "Ezarri administraziorako erabiltzaile izena.",
+"Set an admin password." => "Ezarri administraziorako pasahitza.",
+"Specify a data folder." => "Zehaztu data karpeta.",
+"%s enter the database username." => "%s sartu datu basearen erabiltzaile izena.",
+"%s enter the database name." => "%s sartu datu basearen izena.",
+"%s you may not use dots in the database name" => "%s ezin duzu punturik erabili datu basearen izenean.",
+"%s set the database host." => "%s sartu datu basearen hostalaria.",
+"PostgreSQL username and/or password not valid" => "PostgreSQL erabiltzaile edota pasahitza ez dira egokiak.",
+"You need to enter either an existing account or the administrator." => "Existitzen den kontu bat edo administradorearena jarri behar duzu.",
+"Oracle username and/or password not valid" => "Oracle erabiltzaile edota pasahitza ez dira egokiak.",
+"MySQL username and/or password not valid" => "MySQL erabiltzaile edota pasahitza ez dira egokiak.",
+"DB Error: \"%s\"" => "DB errorea: \"%s\"",
+"Offending command was: \"%s\"" => "Errorea komando honek sortu du: \"%s\"",
+"MySQL user '%s'@'localhost' exists already." => "MySQL '%s'@'localhost' erabiltzailea dagoeneko existitzen da.",
+"Drop this user from MySQL" => "Ezabatu erabiltzaile hau MySQLtik",
+"MySQL user '%s'@'%%' already exists" => "MySQL '%s'@'%%' erabiltzailea dagoeneko existitzen da",
+"Drop this user from MySQL." => "Ezabatu erabiltzaile hau MySQLtik.",
+"Offending command was: \"%s\", name: %s, password: %s" => "Errorea komando honek sortu du: \"%s\", izena: %s, pasahitza: %s",
+"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Zure web zerbitzaria ez dago oraindik ongi konfiguratuta fitxategien sinkronizazioa egiteko, WebDAV interfazea ongi ez dagoela dirudi.",
+"Please double check the <a href='%s'>installation guides</a>." => "Mesedez begiratu <a href='%s'>instalazio gidak</a>.",
"seconds ago" => "orain dela segundu batzuk",
"1 minute ago" => "orain dela minutu 1",
"%d minutes ago" => "orain dela %d minutu",
diff --git a/lib/l10n/fr.php b/lib/l10n/fr.php
index 852fe1ddc4a..fc44f976084 100644
--- a/lib/l10n/fr.php
+++ b/lib/l10n/fr.php
@@ -16,6 +16,24 @@
"Files" => "Fichiers",
"Text" => "Texte",
"Images" => "Images",
+"Set an admin username." => "Spécifiez un nom d'utilisateur pour l'administrateur.",
+"Set an admin password." => "Spécifiez un mot de passe administrateur.",
+"Specify a data folder." => "Spécifiez un répertoire pour les données.",
+"%s enter the database username." => "%s entrez le nom d'utilisateur de la base de données.",
+"%s enter the database name." => "%s entrez le nom de la base de données.",
+"%s you may not use dots in the database name" => "%s vous nez pouvez pas utiliser de points dans le nom de la base de données",
+"%s set the database host." => "%s spécifiez l'hôte de la base de données.",
+"PostgreSQL username and/or password not valid" => "Nom d'utilisateur et/ou mot de passe de la base PostgreSQL invalide",
+"You need to enter either an existing account or the administrator." => "Vous devez spécifier soit le nom d'un compte existant, soit celui de l'administrateur.",
+"Oracle username and/or password not valid" => "Nom d'utilisateur et/ou mot de passe de la base Oracle invalide",
+"MySQL username and/or password not valid" => "Nom d'utilisateur et/ou mot de passe de la base MySQL invalide",
+"DB Error: \"%s\"" => "Erreur de la base de données : \"%s\"",
+"Offending command was: \"%s\"" => "La requête en cause est : \"%s\"",
+"MySQL user '%s'@'localhost' exists already." => "L'utilisateur MySQL '%s'@'localhost' existe déjà.",
+"Drop this user from MySQL" => "Retirer cet utilisateur de la base MySQL",
+"MySQL user '%s'@'%%' already exists" => "L'utilisateur MySQL '%s'@'%%' existe déjà",
+"Drop this user from MySQL." => "Retirer cet utilisateur de la base MySQL.",
+"Offending command was: \"%s\", name: %s, password: %s" => "La requête en cause est : \"%s\", nom : %s, mot de passe : %s",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Votre serveur web, n'est pas correctement configuré pour permettre la synchronisation des fichiers, car l'interface WebDav ne fonctionne pas comme il faut.",
"Please double check the <a href='%s'>installation guides</a>." => "Veuillez vous référer au <a href='%s'>guide d'installation</a>.",
"seconds ago" => "à l'instant",
diff --git a/lib/l10n/hi.php b/lib/l10n/hi.php
new file mode 100644
index 00000000000..f507993f494
--- /dev/null
+++ b/lib/l10n/hi.php
@@ -0,0 +1,7 @@
+<?php $TRANSLATIONS = array(
+"Help" => "सहयोग",
+"Personal" => "यक्तिगत",
+"Settings" => "सेटिंग्स",
+"Users" => "उपयोगकर्ता",
+"Apps" => "Apps"
+);
diff --git a/lib/l10n/it.php b/lib/l10n/it.php
index d339bd5b1ca..fa4bac8ec46 100644
--- a/lib/l10n/it.php
+++ b/lib/l10n/it.php
@@ -16,6 +16,24 @@
"Files" => "File",
"Text" => "Testo",
"Images" => "Immagini",
+"Set an admin username." => "Imposta un nome utente di amministrazione.",
+"Set an admin password." => "Imposta una password di amministrazione.",
+"Specify a data folder." => "Specifica una cartella dei dati.",
+"%s enter the database username." => "%s digita il nome utente del database.",
+"%s enter the database name." => "%s digita il nome del database.",
+"%s you may not use dots in the database name" => "%s non dovresti utilizzare punti nel nome del database",
+"%s set the database host." => "%s imposta l'host del database.",
+"PostgreSQL username and/or password not valid" => "Nome utente e/o password di PostgreSQL non validi",
+"You need to enter either an existing account or the administrator." => "È necessario inserire un account esistente o l'amministratore.",
+"Oracle username and/or password not valid" => "Nome utente e/o password di Oracle non validi",
+"MySQL username and/or password not valid" => "Nome utente e/o password di MySQL non validi",
+"DB Error: \"%s\"" => "Errore DB: \"%s\"",
+"Offending command was: \"%s\"" => "Il comando non consentito era: \"%s\"",
+"MySQL user '%s'@'localhost' exists already." => "L'utente MySQL '%s'@'localhost' esiste già.",
+"Drop this user from MySQL" => "Elimina questo utente da MySQL",
+"MySQL user '%s'@'%%' already exists" => "L'utente MySQL '%s'@'%%' esiste già",
+"Drop this user from MySQL." => "Elimina questo utente da MySQL.",
+"Offending command was: \"%s\", name: %s, password: %s" => "Il comando non consentito era: \"%s\", nome: %s, password: %s",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Il tuo server web non è configurato correttamente per consentire la sincronizzazione dei file poiché l'interfaccia WebDAV sembra essere danneggiata.",
"Please double check the <a href='%s'>installation guides</a>." => "Leggi attentamente le <a href='%s'>guide d'installazione</a>.",
"seconds ago" => "secondi fa",
diff --git a/lib/l10n/ja_JP.php b/lib/l10n/ja_JP.php
index 11cefe900c2..51b5b40940a 100644
--- a/lib/l10n/ja_JP.php
+++ b/lib/l10n/ja_JP.php
@@ -16,6 +16,26 @@
"Files" => "ファイル",
"Text" => "TTY TDD",
"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." => "既存のアカウントもしくは管理者のどちらかを入力する必要があります。",
+"Oracle username and/or password not valid" => "Oracleのユーザ名もしくはパスワードは有効ではありません",
+"MySQL username and/or password not valid" => "MySQLのユーザ名もしくはパスワードは有効ではありません",
+"DB Error: \"%s\"" => "DBエラー: \"%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." => "WebDAVインタフェースが動作していないと考えられるため、あなたのWEBサーバはまだファイルの同期を許可するように適切な設定がされていません。",
+"Please double check the <a href='%s'>installation guides</a>." => "<a href='%s'>インストールガイド</a>をよく確認してください。",
"seconds ago" => "秒前",
"1 minute ago" => "1分前",
"%d minutes ago" => "%d 分前",
diff --git a/lib/l10n/lv.php b/lib/l10n/lv.php
index cc70f760a22..5ec9ddd9693 100644
--- a/lib/l10n/lv.php
+++ b/lib/l10n/lv.php
@@ -16,6 +16,24 @@
"Files" => "Datnes",
"Text" => "Teksts",
"Images" => "Attēli",
+"Set an admin username." => "Iestatiet administratora lietotājvārdu.",
+"Set an admin password." => "Iestatiet administratora paroli.",
+"Specify a data folder." => "Norādiet datu mapi.",
+"%s enter the database username." => "%s ievadiet datubāzes lietotājvārdu.",
+"%s enter the database name." => "%s ievadiet datubāzes nosaukumu.",
+"%s you may not use dots in the database name" => "%s datubāžu nosaukumos nedrīkst izmantot punktus",
+"%s set the database host." => "%s iestatiet datubāžu serveri.",
+"PostgreSQL username and/or password not valid" => "Nav derīga PostgreSQL parole un/vai lietotājvārds",
+"You need to enter either an existing account or the administrator." => "Jums jāievada vai nu esošs vai administratora konts.",
+"Oracle username and/or password not valid" => "Nav derīga Oracle parole un/vai lietotājvārds",
+"MySQL username and/or password not valid" => "Nav derīga MySQL parole un/vai lietotājvārds",
+"DB Error: \"%s\"" => "DB kļūda — “%s”",
+"Offending command was: \"%s\"" => "Vainīgā komanda bija “%s”",
+"MySQL user '%s'@'localhost' exists already." => "MySQL lietotājs %s'@'localhost' jau eksistē.",
+"Drop this user from MySQL" => "Izmest šo lietotāju no MySQL",
+"MySQL user '%s'@'%%' already exists" => "MySQL lietotājs '%s'@'%%' jau eksistē",
+"Drop this user from MySQL." => "Izmest šo lietotāju no MySQL.",
+"Offending command was: \"%s\", name: %s, password: %s" => "Vainīgā komanda bija \"%s\", vārds: %s, parole: %s",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Jūsu serveris vēl nav pareizi iestatīts, lai ļautu sinhronizēt datnes, jo izskatās, ka WebDAV saskarne ir salauzta.",
"Please double check the <a href='%s'>installation guides</a>." => "Lūdzu, vēlreiz pārbaudiet <a href='%s'>instalēšanas palīdzību</a>.",
"seconds ago" => "sekundes atpakaļ",
diff --git a/lib/l10n/nl.php b/lib/l10n/nl.php
index 7ce134e3621..4a357889fdc 100644
--- a/lib/l10n/nl.php
+++ b/lib/l10n/nl.php
@@ -16,6 +16,26 @@
"Files" => "Bestanden",
"Text" => "Tekst",
"Images" => "Afbeeldingen",
+"Set an admin username." => "Stel de gebruikersnaam van de beheerder in.",
+"Set an admin password." => "Stel een beheerderswachtwoord in.",
+"Specify a data folder." => "Geef een datamap op.",
+"%s enter the database username." => "%s opgeven database gebruikersnaam.",
+"%s enter the database name." => "%s opgeven databasenaam.",
+"%s you may not use dots in the database name" => "%s er mogen geen puntjes in de databasenaam voorkomen",
+"%s set the database host." => "%s instellen databaseservernaam.",
+"PostgreSQL username and/or password not valid" => "PostgreSQL gebruikersnaam en/of wachtwoord ongeldig",
+"You need to enter either an existing account or the administrator." => "Geef of een bestaand account op of het beheerdersaccount.",
+"Oracle username and/or password not valid" => "Oracle gebruikersnaam en/of wachtwoord ongeldig",
+"MySQL username and/or password not valid" => "MySQL gebruikersnaam en/of wachtwoord ongeldig",
+"DB Error: \"%s\"" => "DB Fout: \"%s\"",
+"Offending command was: \"%s\"" => "Onjuiste commande was: \"%s\"",
+"MySQL user '%s'@'localhost' exists already." => "MySQL gebruiker '%s'@'localhost' bestaat al.",
+"Drop this user from MySQL" => "Verwijder deze gebruiker uit MySQL",
+"MySQL user '%s'@'%%' already exists" => "MySQL gebruiker '%s'@'%%' bestaat al",
+"Drop this user from MySQL." => "Verwijder deze gebruiker uit MySQL.",
+"Offending command was: \"%s\", name: %s, password: %s" => "Onjuiste commando was: \"%s\", naam: %s, wachtwoord: %s",
+"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Uw webserver is nog niet goed ingesteld voor bestandssynchronisatie omdat de WebDAV interface verbroken lijkt.",
+"Please double check the <a href='%s'>installation guides</a>." => "Conntroleer de <a href='%s'>installatie handleiding</a> goed.",
"seconds ago" => "seconden geleden",
"1 minute ago" => "1 minuut geleden",
"%d minutes ago" => "%d minuten geleden",
diff --git a/lib/l10n/ru.php b/lib/l10n/ru.php
index 5ef2cca3be3..c0ffcd68064 100644
--- a/lib/l10n/ru.php
+++ b/lib/l10n/ru.php
@@ -16,6 +16,18 @@
"Files" => "Файлы",
"Text" => "Текст",
"Images" => "Изображения",
+"Set an admin username." => "Установить имя пользователя для admin.",
+"Set an admin password." => "становит пароль для admin.",
+"Specify a data folder." => "Указать папку данных.",
+"PostgreSQL username and/or password not valid" => "Неверное имя пользователя и/или пароль PostgreSQL",
+"You need to enter either an existing account or the administrator." => "Вы должны войти или в существующий аккаунт или под администратором.",
+"Oracle username and/or password not valid" => "Неверное имя пользователя и/или пароль Oracle",
+"MySQL username and/or password not valid" => "Неверное имя пользователя и/или пароль MySQL",
+"DB Error: \"%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.",
"seconds ago" => "менее минуты",
"1 minute ago" => "1 минуту назад",
"%d minutes ago" => "%d минут назад",
diff --git a/lib/l10n/sk_SK.php b/lib/l10n/sk_SK.php
index 16df7f2e199..97a4999407f 100644
--- a/lib/l10n/sk_SK.php
+++ b/lib/l10n/sk_SK.php
@@ -16,6 +16,24 @@
"Files" => "Súbory",
"Text" => "Text",
"Images" => "Obrázky",
+"Set an admin username." => "Zadajte používateľské meno administrátora.",
+"Set an admin password." => "Zadajte heslo administrátora.",
+"Specify a data folder." => "Zadajte priečinok pre dáta.",
+"%s enter the database username." => "Zadajte používateľské meno %s databázy..",
+"%s enter the database name." => "Zadajte názov databázy pre %s databázy.",
+"%s you may not use dots in the database name" => "V názve databázy %s nemôžete používať bodky",
+"%s set the database host." => "Zadajte názov počítača s databázou %s.",
+"PostgreSQL username and/or password not valid" => "Používateľské meno a/alebo heslo pre PostgreSQL databázu je neplatné",
+"You need to enter either an existing account or the administrator." => "Musíte zadať jestvujúci účet alebo administrátora.",
+"Oracle username and/or password not valid" => "Používateľské meno a/alebo heslo pre Oracle databázu je neplatné",
+"MySQL username and/or password not valid" => "Používateľské meno a/alebo heslo pre MySQL databázu je neplatné",
+"DB Error: \"%s\"" => "Chyba DB: \"%s\"",
+"Offending command was: \"%s\"" => "Podozrivý príkaz bol: \"%s\"",
+"MySQL user '%s'@'localhost' exists already." => "Používateľ '%s'@'localhost' už v MySQL existuje.",
+"Drop this user from MySQL" => "Zahodiť používateľa z MySQL.",
+"MySQL user '%s'@'%%' already exists" => "Používateľ '%s'@'%%' už v MySQL existuje",
+"Drop this user from MySQL." => "Zahodiť používateľa z MySQL.",
+"Offending command was: \"%s\", name: %s, password: %s" => "Podozrivý príkaz bol: \"%s\", meno: %s, heslo: %s",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Váš webový server nie je správne nastavený na synchronizáciu, pretože rozhranie WebDAV je poškodené.",
"Please double check the <a href='%s'>installation guides</a>." => "Prosím skontrolujte <a href='%s'>inštalačnú príručku</a>.",
"seconds ago" => "pred sekundami",
diff --git a/lib/request.php b/lib/request.php
index 1661a1406ca..3c668b02c5f 100755
--- a/lib/request.php
+++ b/lib/request.php
@@ -149,4 +149,16 @@ class OC_Request {
return 'gzip';
return false;
}
+
+ /**
+ * @brief Check if the requester sent along an mtime
+ * @returns false or an mtime
+ */
+ static public function hasModificationTime () {
+ if (isset($_SERVER['HTTP_X_OC_MTIME'])) {
+ return $_SERVER['HTTP_X_OC_MTIME'];
+ } else {
+ return false;
+ }
+ }
}