summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/files/l10n/el.php1
-rw-r--r--apps/files/l10n/hu_HU.php13
-rwxr-xr-xapps/files_encryption/lib/keymanager.php5
-rw-r--r--apps/files_encryption/lib/proxy.php7
-rw-r--r--apps/files_sharing/lib/cache.php78
-rw-r--r--apps/files_trashbin/l10n/hu_HU.php4
-rw-r--r--apps/user_ldap/l10n/hu_HU.php8
-rwxr-xr-xautotest.sh7
-rw-r--r--core/js/placeholder.js15
-rw-r--r--core/js/share.js4
-rw-r--r--core/l10n/cs_CZ.php1
-rw-r--r--core/l10n/da.php2
-rw-r--r--core/l10n/fr.php5
-rw-r--r--l10n/cs_CZ/core.po22
-rw-r--r--l10n/da/core.po22
-rw-r--r--l10n/da/lib.po18
-rw-r--r--l10n/da/settings.po6
-rw-r--r--l10n/el/files.po11
-rw-r--r--l10n/fr/core.po16
-rw-r--r--l10n/fr/settings.po30
-rw-r--r--l10n/hu_HU/files.po34
-rw-r--r--l10n/hu_HU/files_trashbin.po30
-rw-r--r--l10n/hu_HU/user_ldap.po22
-rw-r--r--l10n/templates/core.pot2
-rw-r--r--l10n/templates/files.pot2
-rw-r--r--l10n/templates/files_encryption.pot2
-rw-r--r--l10n/templates/files_external.pot2
-rw-r--r--l10n/templates/files_sharing.pot2
-rw-r--r--l10n/templates/files_trashbin.pot2
-rw-r--r--l10n/templates/files_versions.pot2
-rw-r--r--l10n/templates/lib.pot2
-rw-r--r--l10n/templates/settings.pot2
-rw-r--r--l10n/templates/user_ldap.pot2
-rw-r--r--l10n/templates/user_webdavauth.pot2
-rw-r--r--lib/l10n/da.php3
-rw-r--r--lib/public/share.php6
-rw-r--r--lib/public/user.php2
-rw-r--r--lib/user.php17
-rw-r--r--lib/user/http.php6
-rw-r--r--lib/user/manager.php19
-rw-r--r--lib/user/session.php19
-rw-r--r--lib/user/user.php18
-rw-r--r--settings/l10n/da.php1
-rw-r--r--settings/l10n/fr.php3
-rw-r--r--tests/bootstrap.php2
-rw-r--r--tests/lib/user.php43
-rw-r--r--tests/lib/user/manager.php45
-rw-r--r--tests/lib/user/session.php32
-rw-r--r--tests/lib/user/user.php40
49 files changed, 388 insertions, 251 deletions
diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php
index 37a61c6b956..de524f4dd90 100644
--- a/apps/files/l10n/el.php
+++ b/apps/files/l10n/el.php
@@ -41,6 +41,7 @@ $TRANSLATIONS = array(
"Your storage is almost full ({usedSpacePercent}%)" => "Ο αποθηκευτικός χώρος είναι σχεδόν γεμάτος ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Η κρυπτογράφηση απενεργοποιήθηκε, αλλά τα αρχεία σας είναι ακόμα κρυπτογραφημένα. Παρακαλούμε απενεργοποιήσετε την κρυπτογράφηση αρχείων από τις προσωπικές σας ρυθμίσεις",
"Your download is being prepared. This might take some time if the files are big." => "Η λήψη προετοιμάζεται. Αυτό μπορεί να πάρει ώρα εάν τα αρχεία έχουν μεγάλο μέγεθος.",
+"Error moving file" => "Σφάλμα κατά τη μετακίνηση του αρχείου",
"Name" => "Όνομα",
"Size" => "Μέγεθος",
"Modified" => "Τροποποιήθηκε",
diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php
index 5d313ff2488..4dd6a13d320 100644
--- a/apps/files/l10n/hu_HU.php
+++ b/apps/files/l10n/hu_HU.php
@@ -13,10 +13,14 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Hiányzik egy ideiglenes mappa",
"Failed to write to disk" => "Nem sikerült a lemezre történő írás",
"Not enough storage available" => "Nincs elég szabad hely.",
+"Upload failed. Could not get file info." => "A feltöltés nem sikerült. Az állományt leíró információk nem érhetők el.",
+"Upload failed. Could not find uploaded file" => "A feltöltés nem sikerült. Nem található a feltöltendő állomány.",
"Invalid directory." => "Érvénytelen mappa.",
"Files" => "Fájlok",
+"Unable to upload {filename} as it is a directory or has 0 bytes" => "A(z) {filename} állomány nem tölthető fel, mert ez vagy egy mappa, vagy pedig 0 bájtból áll.",
"Not enough space available" => "Nincs elég szabad hely",
"Upload cancelled." => "A feltöltést megszakítottuk.",
+"Could not get result from server." => "A kiszolgálótól nem kapható meg az eredmény.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.",
"URL cannot be empty." => "Az URL nem lehet semmi.",
"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Érvénytelen mappanév. A 'Shared' az ownCloud számára fenntartott elnevezés",
@@ -31,15 +35,18 @@ $TRANSLATIONS = array(
"cancel" => "mégse",
"replaced {new_name} with {old_name}" => "{new_name} fájlt kicseréltük ezzel: {old_name}",
"undo" => "visszavonás",
-"_%n folder_::_%n folders_" => array("",""),
-"_%n file_::_%n files_" => array("",""),
-"_Uploading %n file_::_Uploading %n files_" => array("",""),
+"_%n folder_::_%n folders_" => array("%n mappa","%n mappa"),
+"_%n file_::_%n files_" => array("%n állomány","%n állomány"),
+"{dirs} and {files}" => "{dirs} és {files}",
+"_Uploading %n file_::_Uploading %n files_" => array("%n állomány feltöltése","%n állomány feltöltése"),
"'.' is an invalid file name." => "'.' fájlnév érvénytelen.",
"File name cannot be empty." => "A fájlnév nem lehet semmi.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'",
"Your storage is full, files can not be updated or synced anymore!" => "A tároló tele van, a fájlok nem frissíthetőek vagy szinkronizálhatóak a jövőben.",
"Your storage is almost full ({usedSpacePercent}%)" => "A tároló majdnem tele van ({usedSpacePercent}%)",
+"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "A titkosítási funkciót kikapcsolták, de az Ön állományai még mindig titkosított állapotban vannak. A személyes beállításoknál tudja a titkosítást feloldani.",
"Your download is being prepared. This might take some time if the files are big." => "Készül a letöltendő állomány. Ez eltarthat egy ideig, ha nagyok a fájlok.",
+"Error moving file" => "Az állomány áthelyezése nem sikerült.",
"Name" => "Név",
"Size" => "Méret",
"Modified" => "Módosítva",
diff --git a/apps/files_encryption/lib/keymanager.php b/apps/files_encryption/lib/keymanager.php
index 9be3dda7ce3..7143fcff0f6 100755
--- a/apps/files_encryption/lib/keymanager.php
+++ b/apps/files_encryption/lib/keymanager.php
@@ -40,11 +40,14 @@ class Keymanager {
public static function getPrivateKey(\OC_FilesystemView $view, $user) {
$path = '/' . $user . '/' . 'files_encryption' . '/' . $user . '.private.key';
+ $key = false;
$proxyStatus = \OC_FileProxy::$enabled;
\OC_FileProxy::$enabled = false;
- $key = $view->file_get_contents($path);
+ if ($view->file_exists($path)) {
+ $key = $view->file_get_contents($path);
+ }
\OC_FileProxy::$enabled = $proxyStatus;
diff --git a/apps/files_encryption/lib/proxy.php b/apps/files_encryption/lib/proxy.php
index eb7ba60cb9d..4ec810a5199 100644
--- a/apps/files_encryption/lib/proxy.php
+++ b/apps/files_encryption/lib/proxy.php
@@ -50,9 +50,8 @@ class Proxy extends \OC_FileProxy {
private static function shouldEncrypt($path) {
if (is_null(self::$enableEncryption)) {
-
if (
- \OCP\Config::getAppValue('files_encryption', 'enable_encryption', 'true') === 'true'
+ \OCP\App::isEnabled('files_encryption') === true
&& Crypt::mode() === 'server'
) {
@@ -200,7 +199,7 @@ class Proxy extends \OC_FileProxy {
*/
public function preUnlink($path) {
- // let the trashbin handle this
+ // let the trashbin handle this
if (\OCP\App::isEnabled('files_trashbin')) {
return true;
}
@@ -291,7 +290,7 @@ class Proxy extends \OC_FileProxy {
// Close the original encrypted file
fclose($result);
- // Open the file using the crypto stream wrapper
+ // Open the file using the crypto stream wrapper
// protocol and let it do the decryption work instead
$result = fopen('crypt://' . $path, $meta['mode']);
diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php
index 33cd1428899..123268e240a 100644
--- a/apps/files_sharing/lib/cache.php
+++ b/apps/files_sharing/lib/cache.php
@@ -20,6 +20,7 @@
*/
namespace OC\Files\Cache;
+use OCP\Share_Backend_Collection;
/**
* Metadata cache for shared files
@@ -226,7 +227,36 @@ class Shared_Cache extends Cache {
* @return array of file data
*/
public function search($pattern) {
- // TODO
+
+ // normalize pattern
+ $pattern = $this->normalize($pattern);
+
+ $ids = $this->getAll();
+
+ $files = array();
+
+ // divide into 1k chunks
+ $chunks = array_chunk($ids, 1000);
+
+ foreach ($chunks as $chunk) {
+ $placeholders = join(',', array_fill(0, count($chunk), '?'));
+
+ $sql = 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`,
+ `encrypted`, `unencrypted_size`, `etag`
+ FROM `*PREFIX*filecache` WHERE `name` LIKE ? AND `fileid` IN (' . $placeholders . ')';
+
+ $result = \OC_DB::executeAudited($sql, array_merge(array($pattern), $chunk));
+
+ while ($row = $result->fetchRow()) {
+ if (substr($row['path'], 0, 6)==='files/') {
+ $row['path'] = substr($row['path'],6); // remove 'files/' from path as it's relative to '/Shared'
+ }
+ $row['mimetype'] = $this->getMimetype($row['mimetype']);
+ $row['mimepart'] = $this->getMimetype($row['mimepart']);
+ $files[] = $row;
+ }
+ }
+ return $files;
}
/**
@@ -244,13 +274,30 @@ class Shared_Cache extends Cache {
}
$mimetype = $this->getMimetypeId($mimetype);
$ids = $this->getAll();
- $placeholders = join(',', array_fill(0, count($ids), '?'));
- $query = \OC_DB::prepare('
- SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`, `encrypted`
- FROM `*PREFIX*filecache` WHERE ' . $where . ' AND `fileid` IN (' . $placeholders . ')'
- );
- $result = $query->execute(array_merge(array($mimetype), $ids));
- return $result->fetchAll();
+
+ $files = array();
+
+ // divide into 1k chunks
+ $chunks = array_chunk($ids, 1000);
+
+ foreach ($chunks as $chunk) {
+ $placeholders = join(',', array_fill(0, count($ids), '?'));
+ $sql = 'SELECT `fileid`, `storage`, `path`, `parent`, `name`, `mimetype`, `mimepart`, `size`, `mtime`,
+ `encrypted`, `unencrypted_size`, `etag`
+ FROM `*PREFIX*filecache` WHERE ' . $where . ' AND `fileid` IN (' . $placeholders . ')';
+
+ $result = \OC_DB::executeAudited($sql, array_merge(array($mimetype), $chunk));
+
+ while ($row = $result->fetchRow()) {
+ if (substr($row['path'], 0, 6)==='files/') {
+ $row['path'] = substr($row['path'],6); // remove 'files/' from path as it's relative to '/Shared'
+ }
+ $row['mimetype'] = $this->getMimetype($row['mimetype']);
+ $row['mimepart'] = $this->getMimetype($row['mimepart']);
+ $files[] = $row;
+ }
+ }
+ return $files;
}
/**
@@ -272,7 +319,20 @@ class Shared_Cache extends Cache {
* @return int[]
*/
public function getAll() {
- return \OCP\Share::getItemsSharedWith('file', \OC_Share_Backend_File::FORMAT_GET_ALL);
+ $ids = \OCP\Share::getItemsSharedWith('file', \OC_Share_Backend_File::FORMAT_GET_ALL);
+ $folderBackend = \OCP\Share::getBackend('folder');
+ if ($folderBackend instanceof Share_Backend_Collection) {
+ foreach ($ids as $file) {
+ /** @var $folderBackend Share_Backend_Collection */
+ $children = $folderBackend->getChildren($file);
+ foreach ($children as $child) {
+ $ids[] = (int)$child['source'];
+ }
+
+ }
+ }
+
+ return $ids;
}
/**
diff --git a/apps/files_trashbin/l10n/hu_HU.php b/apps/files_trashbin/l10n/hu_HU.php
index aac6cf78000..766ddcbce4d 100644
--- a/apps/files_trashbin/l10n/hu_HU.php
+++ b/apps/files_trashbin/l10n/hu_HU.php
@@ -8,8 +8,8 @@ $TRANSLATIONS = array(
"Delete permanently" => "Végleges törlés",
"Name" => "Név",
"Deleted" => "Törölve",
-"_%n folder_::_%n folders_" => array("",""),
-"_%n file_::_%n files_" => array("",""),
+"_%n folder_::_%n folders_" => array("","%n mappa"),
+"_%n file_::_%n files_" => array("","%n állomány"),
"restored" => "visszaállítva",
"Nothing in here. Your trash bin is empty!" => "Itt nincs semmi. Az Ön szemetes mappája üres!",
"Restore" => "Visszaállítás",
diff --git a/apps/user_ldap/l10n/hu_HU.php b/apps/user_ldap/l10n/hu_HU.php
index 6961869f3e0..b41cf98e2b9 100644
--- a/apps/user_ldap/l10n/hu_HU.php
+++ b/apps/user_ldap/l10n/hu_HU.php
@@ -16,6 +16,7 @@ $TRANSLATIONS = array(
"Connection test failed" => "A kapcsolatellenőrzés eredménye: nem sikerült",
"Do you really want to delete the current Server Configuration?" => "Tényleg törölni szeretné a kiszolgáló beállításait?",
"Confirm Deletion" => "A törlés megerősítése",
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." => "<b>Figyelem:</b> a user_ldap és user_webdavauth alkalmazások nem kompatibilisek. Együttes használatuk váratlan eredményekhez vezethet. Kérje meg a rendszergazdát, hogy a kettő közül kapcsolja ki az egyiket.",
"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Figyelmeztetés:</b> Az LDAP PHP modul nincs telepítve, ezért ez az alrendszer nem fog működni. Kérje meg a rendszergazdát, hogy telepítse!",
"Server configuration" => "A kiszolgálók beállításai",
"Add Server Configuration" => "Új kiszolgáló beállításának hozzáadása",
@@ -29,8 +30,11 @@ $TRANSLATIONS = array(
"Password" => "Jelszó",
"For anonymous access, leave DN and Password empty." => "Bejelentkezés nélküli eléréshez ne töltse ki a DN és Jelszó mezőket!",
"User Login Filter" => "Szűrő a bejelentkezéshez",
+"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" => "Ez a szűrő érvényes a bejelentkezés megkísérlésekor. Ekkor az %%uid változó helyére a bejelentkezési név kerül. Például: \"uid=%%uid\"",
"User List Filter" => "A felhasználók szűrője",
+"Defines the filter to apply, when retrieving users (no placeholders). Example: \"objectClass=person\"" => "Ez a szűrő érvényes a felhasználók listázásakor (nincs helyettesíthető változó). Például: \"objectClass=person\"",
"Group Filter" => "A csoportok szűrője",
+"Defines the filter to apply, when retrieving groups (no placeholders). Example: \"objectClass=posixGroup\"" => "Ez a szűrő érvényes a csoportok listázásakor (nincs helyettesíthető változó). Például: \"objectClass=posixGroup\"",
"Connection Settings" => "Kapcsolati beállítások",
"Configuration Active" => "A beállítás aktív",
"When unchecked, this configuration will be skipped." => "Ha nincs kipipálva, ez a beállítás kihagyódik.",
@@ -39,19 +43,23 @@ $TRANSLATIONS = array(
"Give an optional backup host. It must be a replica of the main LDAP/AD server." => "Adjon meg egy opcionális másodkiszolgálót. Ez a fő LDAP/AD kiszolgáló szinkron másolata (replikája) kell legyen.",
"Backup (Replica) Port" => "A másodkiszolgáló (replika) portszáma",
"Disable Main Server" => "A fő szerver kihagyása",
+"Only connect to the replica server." => "Csak a másodlagos (másolati) kiszolgálóhoz kapcsolódjunk.",
"Use TLS" => "Használjunk TLS-t",
"Do not use it additionally for LDAPS connections, it will fail." => "LDAPS kapcsolatok esetén ne kapcsoljuk be, mert nem fog működni.",
"Case insensitve LDAP server (Windows)" => "Az LDAP-kiszolgáló nem tesz különbséget a kis- és nagybetűk között (Windows)",
"Turn off SSL certificate validation." => "Ne ellenőrizzük az SSL-tanúsítvány érvényességét",
+"Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." => "Használata nem javasolt (kivéve tesztelési céllal). Ha a kapcsolat csak ezzel a beállítással működik, akkor importálja az LDAP-kiszolgáló SSL tanúsítványát a(z) %s kiszolgálóra!",
"Cache Time-To-Live" => "A gyorsítótár tárolási időtartama",
"in seconds. A change empties the cache." => "másodpercben. A változtatás törli a cache tartalmát.",
"Directory Settings" => "Címtár beállítások",
"User Display Name Field" => "A felhasználónév mezője",
+"The LDAP attribute to use to generate the user's display name." => "Ebből az LDAP attribútumból képződik a felhasználó megjelenítendő neve.",
"Base User Tree" => "A felhasználói fa gyökere",
"One User Base DN per line" => "Soronként egy felhasználói fa gyökerét adhatjuk meg",
"User Search Attributes" => "A felhasználók lekérdezett attribútumai",
"Optional; one attribute per line" => "Nem kötelező megadni, soronként egy attribútum",
"Group Display Name Field" => "A csoport nevének mezője",
+"The LDAP attribute to use to generate the groups's display name." => "Ebből az LDAP attribútumból képződik a csoport megjelenítendő neve.",
"Base Group Tree" => "A csoportfa gyökere",
"One Group Base DN per line" => "Soronként egy csoportfa gyökerét adhatjuk meg",
"Group Search Attributes" => "A csoportok lekérdezett attribútumai",
diff --git a/autotest.sh b/autotest.sh
index a343f6a25ab..83f184fa9c0 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -142,12 +142,7 @@ EOF
rm -rf coverage-html-$1
mkdir coverage-html-$1
php -f enable_all.php
- if [ "$1" == "sqlite" ] ; then
- # coverage only with sqlite - causes segfault on ci.tmit.eu - reason unknown
- phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml --coverage-clover autotest-clover-$1.xml --coverage-html coverage-html-$1 $2 $3
- else
- phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml $2 $3
- fi
+ phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml --coverage-clover autotest-clover-$1.xml --coverage-html coverage-html-$1 $2 $3
}
#
diff --git a/core/js/placeholder.js b/core/js/placeholder.js
index d63730547d7..ee2a8ce84c4 100644
--- a/core/js/placeholder.js
+++ b/core/js/placeholder.js
@@ -36,10 +36,21 @@
*
* <div id="albumart" style="background-color: hsl(123, 90%, 65%); ... ">T</div>
*
+ * You may also call it like this, to have a different background, than the seed:
+ *
+ * $('#albumart').placeholder('The Album Title', 'Album Title');
+ *
+ * Resulting in:
+ *
+ * <div id="albumart" style="background-color: hsl(123, 90%, 65%); ... ">A</div>
+ *
*/
(function ($) {
- $.fn.placeholder = function(seed) {
+ $.fn.placeholder = function(seed, text) {
+ // set optional argument "text" to value of "seed" if undefined
+ text = text || seed;
+
var hash = md5(seed),
maxRange = parseInt('ffffffffffffffffffffffffffffffff', 16),
hue = parseInt(hash, 16) / maxRange * 256,
@@ -56,7 +67,7 @@
this.css('font-size', (height * 0.55) + 'px');
if(seed !== null && seed.length) {
- this.html(seed[0].toUpperCase());
+ this.html(text[0].toUpperCase());
}
};
}(jQuery));
diff --git a/core/js/share.js b/core/js/share.js
index f54f13c95e3..82f5da0baea 100644
--- a/core/js/share.js
+++ b/core/js/share.js
@@ -174,10 +174,10 @@ OC.Share={
var allowPublicUploadStatus = false;
$.each(data.shares, function(key, value) {
- if (allowPublicUploadStatus) {
+ if (value.share_type === OC.Share.SHARE_TYPE_LINK) {
+ allowPublicUploadStatus = (value.permissions & OC.PERMISSION_CREATE) ? true : false;
return true;
}
- allowPublicUploadStatus = (value.permissions & OC.PERMISSION_CREATE) ? true : false;
});
html += '<input id="shareWith" type="text" placeholder="'+t('core', 'Share with')+'" />';
diff --git a/core/l10n/cs_CZ.php b/core/l10n/cs_CZ.php
index 449a49f5686..abed4a0fdac 100644
--- a/core/l10n/cs_CZ.php
+++ b/core/l10n/cs_CZ.php
@@ -59,6 +59,7 @@ $TRANSLATIONS = array(
"Ok" => "Ok",
"Error loading message template: {error}" => "Chyba při nahrávání šablony zprávy: {error}",
"_{count} file conflict_::_{count} file conflicts_" => array("","",""),
+"One file conflict" => "Jeden konflikt souboru",
"Cancel" => "Zrušit",
"The object type is not specified." => "Není určen typ objektu.",
"Error" => "Chyba",
diff --git a/core/l10n/da.php b/core/l10n/da.php
index e2399fdc5cc..8938f2107fa 100644
--- a/core/l10n/da.php
+++ b/core/l10n/da.php
@@ -16,6 +16,8 @@ $TRANSLATIONS = array(
"Error adding %s to favorites." => "Fejl ved tilføjelse af %s til favoritter.",
"No categories selected for deletion." => "Ingen kategorier valgt",
"Error removing %s from favorites." => "Fejl ved fjernelse af %s fra favoritter.",
+"Unknown filetype" => "Ukendt filtype",
+"Invalid image" => "Ugyldigt billede",
"Sunday" => "Søndag",
"Monday" => "Mandag",
"Tuesday" => "Tirsdag",
diff --git a/core/l10n/fr.php b/core/l10n/fr.php
index 29489e86b7f..e7cb75e53f0 100644
--- a/core/l10n/fr.php
+++ b/core/l10n/fr.php
@@ -19,6 +19,8 @@ $TRANSLATIONS = array(
"No image or file provided" => "Aucune image ou fichier fourni",
"Unknown filetype" => "Type de fichier inconnu",
"Invalid image" => "Image invalide",
+"No temporary profile picture available, try again" => "Aucune image temporaire disponible pour le profil. Essayez à nouveau.",
+"No crop data provided" => "Aucune donnée de culture fournie",
"Sunday" => "Dimanche",
"Monday" => "Lundi",
"Tuesday" => "Mardi",
@@ -61,7 +63,10 @@ $TRANSLATIONS = array(
"Which files do you want to keep?" => "Quels fichiers désirez-vous garder ?",
"If you select both versions, the copied file will have a number added to its name." => "Si vous sélectionnez les deux versions, un nombre sera ajouté au nom du fichier copié.",
"Cancel" => "Annuler",
+"Continue" => "Poursuivre",
+"(all selected)" => "(tous sélectionnés)",
"({count} selected)" => "({count} sélectionnés)",
+"Error loading file exists template" => "Erreur de chargement du modèle de fichier existant",
"The object type is not specified." => "Le type d'objet n'est pas spécifié.",
"Error" => "Erreur",
"The app name is not specified." => "Le nom de l'application n'est pas spécifié.",
diff --git a/l10n/cs_CZ/core.po b/l10n/cs_CZ/core.po
index 61a7e861b2a..40b693b988a 100644
--- a/l10n/cs_CZ/core.po
+++ b/l10n/cs_CZ/core.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-09-22 12:55-0400\n"
-"PO-Revision-Date: 2013-09-20 15:01+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
+"PO-Revision-Date: 2013-09-25 10:50+0000\n"
+"Last-Translator: pstast <petr@stastny.eu>\n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -284,7 +284,7 @@ msgstr[2] ""
#: js/oc-dialogs.js:361
msgid "One file conflict"
-msgstr ""
+msgstr "Jeden konflikt souboru"
#: js/oc-dialogs.js:367
msgid "Which files do you want to keep?"
@@ -325,7 +325,7 @@ msgstr "Není určen typ objektu."
#: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136
#: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195
#: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149
-#: js/share.js:645 js/share.js:657
+#: js/share.js:656 js/share.js:668
msgid "Error"
msgstr "Chyba"
@@ -345,7 +345,7 @@ msgstr "Sdílené"
msgid "Share"
msgstr "Sdílet"
-#: js/share.js:131 js/share.js:685
+#: js/share.js:131 js/share.js:696
msgid "Error while sharing"
msgstr "Chyba při sdílení"
@@ -445,23 +445,23 @@ msgstr "smazat"
msgid "share"
msgstr "sdílet"
-#: js/share.js:400 js/share.js:632
+#: js/share.js:400 js/share.js:643
msgid "Password protected"
msgstr "Chráněno heslem"
-#: js/share.js:645
+#: js/share.js:656
msgid "Error unsetting expiration date"
msgstr "Chyba při odstraňování data vypršení platnosti"
-#: js/share.js:657
+#: js/share.js:668
msgid "Error setting expiration date"
msgstr "Chyba při nastavení data vypršení platnosti"
-#: js/share.js:672
+#: js/share.js:683
msgid "Sending ..."
msgstr "Odesílám ..."
-#: js/share.js:683
+#: js/share.js:694
msgid "Email sent"
msgstr "E-mail odeslán"
diff --git a/l10n/da/core.po b/l10n/da/core.po
index 690bb46c211..89530e07456 100644
--- a/l10n/da/core.po
+++ b/l10n/da/core.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-09-22 12:55-0400\n"
-"PO-Revision-Date: 2013-09-20 15:01+0000\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
+"PO-Revision-Date: 2013-09-24 17:20+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n"
@@ -100,11 +100,11 @@ msgstr ""
#: avatar/controller.php:81
msgid "Unknown filetype"
-msgstr ""
+msgstr "Ukendt filtype"
#: avatar/controller.php:85
msgid "Invalid image"
-msgstr ""
+msgstr "Ugyldigt billede"
#: avatar/controller.php:115 avatar/controller.php:142
msgid "No temporary profile picture available, try again"
@@ -319,7 +319,7 @@ msgstr "Objekttypen er ikke angivet."
#: js/oc-vcategories.js:110 js/oc-vcategories.js:125 js/oc-vcategories.js:136
#: js/oc-vcategories.js:172 js/oc-vcategories.js:189 js/oc-vcategories.js:195
#: js/oc-vcategories.js:199 js/share.js:129 js/share.js:142 js/share.js:149
-#: js/share.js:645 js/share.js:657
+#: js/share.js:656 js/share.js:668
msgid "Error"
msgstr "Fejl"
@@ -339,7 +339,7 @@ msgstr "Delt"
msgid "Share"
msgstr "Del"
-#: js/share.js:131 js/share.js:685
+#: js/share.js:131 js/share.js:696
msgid "Error while sharing"
msgstr "Fejl under deling"
@@ -439,23 +439,23 @@ msgstr "slet"
msgid "share"
msgstr "del"
-#: js/share.js:400 js/share.js:632
+#: js/share.js:400 js/share.js:643
msgid "Password protected"
msgstr "Beskyttet med adgangskode"
-#: js/share.js:645
+#: js/share.js:656
msgid "Error unsetting expiration date"
msgstr "Fejl ved fjernelse af udløbsdato"
-#: js/share.js:657
+#: js/share.js:668
msgid "Error setting expiration date"
msgstr "Fejl under sætning af udløbsdato"
-#: js/share.js:672
+#: js/share.js:683
msgid "Sending ..."
msgstr "Sender ..."
-#: js/share.js:683
+#: js/share.js:694
msgid "Email sent"
msgstr "E-mail afsendt"
diff --git a/l10n/da/lib.po b/l10n/da/lib.po
index 0bacfcf5e8a..7d01d7a9691 100644
--- a/l10n/da/lib.po
+++ b/l10n/da/lib.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-09-16 11:33-0400\n"
-"PO-Revision-Date: 2013-09-16 15:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
+"PO-Revision-Date: 2013-09-24 17:20+0000\n"
+"Last-Translator: Sappe\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -58,15 +58,15 @@ msgstr "Upgradering af \"%s\" fejlede"
#: avatar.php:56
msgid "Custom profile pictures don't work with encryption yet"
-msgstr ""
+msgstr "Personligt profilbillede virker endnu ikke sammen med kryptering"
#: avatar.php:64
msgid "Unknown filetype"
-msgstr ""
+msgstr "Ukendt filtype"
#: avatar.php:69
msgid "Invalid image"
-msgstr ""
+msgstr "Ugyldigt billede"
#: defaults.php:35
msgid "web services under your control"
@@ -167,15 +167,15 @@ msgstr "Adgangsfejl"
msgid "Token expired. Please reload page."
msgstr "Adgang er udløbet. Genindlæs siden."
-#: search/provider/file.php:17 search/provider/file.php:35
+#: search/provider/file.php:18 search/provider/file.php:36
msgid "Files"
msgstr "Filer"
-#: search/provider/file.php:26 search/provider/file.php:33
+#: search/provider/file.php:27 search/provider/file.php:34
msgid "Text"
msgstr "SMS"
-#: search/provider/file.php:29
+#: search/provider/file.php:30
msgid "Images"
msgstr "Billeder"
diff --git a/l10n/da/settings.po b/l10n/da/settings.po
index 7251a13d4ff..e5f2b57e882 100644
--- a/l10n/da/settings.po
+++ b/l10n/da/settings.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
-"PO-Revision-Date: 2013-09-24 16:59+0000\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
+"PO-Revision-Date: 2013-09-24 17:00+0000\n"
"Last-Translator: Sappe\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n"
@@ -114,7 +114,7 @@ msgstr "Serveren understøtter ikke kodeordsskifte, men brugernes krypteringsnø
#: changepassword/controller.php:92 changepassword/controller.php:103
msgid "Unable to change password"
-msgstr ""
+msgstr "Kunne ikke ændre kodeord"
#: js/apps.js:43
msgid "Update to {appversion}"
diff --git a/l10n/el/files.po b/l10n/el/files.po
index f6b7bcf82a4..87c112acc67 100644
--- a/l10n/el/files.po
+++ b/l10n/el/files.po
@@ -5,14 +5,15 @@
# Translators:
# Efstathios Iosifidis <iefstathios@gmail.com>, 2013
# Efstathios Iosifidis <iosifidis@opensuse.org>, 2013
+# gtsamis <gtsamis@yahoo.com>, 2013
# frerisp <petrosfreris@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-09-20 10:44-0400\n"
-"PO-Revision-Date: 2013-09-20 14:45+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
+"PO-Revision-Date: 2013-09-25 12:10+0000\n"
+"Last-Translator: gtsamis <gtsamis@yahoo.com>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -89,7 +90,7 @@ msgstr ""
msgid "Invalid directory."
msgstr "Μη έγκυρος φάκελος."
-#: appinfo/app.php:12
+#: appinfo/app.php:11
msgid "Files"
msgstr "Αρχεία"
@@ -224,7 +225,7 @@ msgstr "Η λήψη προετοιμάζεται. Αυτό μπορεί να π
#: js/files.js:507 js/files.js:545
msgid "Error moving file"
-msgstr ""
+msgstr "Σφάλμα κατά τη μετακίνηση του αρχείου"
#: js/files.js:558 templates/index.php:61
msgid "Name"
diff --git a/l10n/fr/core.po b/l10n/fr/core.po
index 4c7f6be045a..bce932689a0 100644
--- a/l10n/fr/core.po
+++ b/l10n/fr/core.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
-"PO-Revision-Date: 2013-09-23 19:40+0000\n"
-"Last-Translator: ogre_sympathique <ogre.sympathique@speed.1s.fr>\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
+"PO-Revision-Date: 2013-09-26 15:10+0000\n"
+"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -110,11 +110,11 @@ msgstr "Image invalide"
#: avatar/controller.php:115 avatar/controller.php:142
msgid "No temporary profile picture available, try again"
-msgstr ""
+msgstr "Aucune image temporaire disponible pour le profil. Essayez à nouveau."
#: avatar/controller.php:135
msgid "No crop data provided"
-msgstr ""
+msgstr "Aucune donnée de culture fournie"
#: js/config.php:32
msgid "Sunday"
@@ -298,11 +298,11 @@ msgstr "Annuler"
#: js/oc-dialogs.js:386
msgid "Continue"
-msgstr ""
+msgstr "Poursuivre"
#: js/oc-dialogs.js:433 js/oc-dialogs.js:446
msgid "(all selected)"
-msgstr ""
+msgstr "(tous sélectionnés)"
#: js/oc-dialogs.js:436 js/oc-dialogs.js:449
msgid "({count} selected)"
@@ -310,7 +310,7 @@ msgstr "({count} sélectionnés)"
#: js/oc-dialogs.js:457
msgid "Error loading file exists template"
-msgstr ""
+msgstr "Erreur de chargement du modèle de fichier existant"
#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102
#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162
diff --git a/l10n/fr/settings.po b/l10n/fr/settings.po
index 529e2e8c356..21918cf68da 100644
--- a/l10n/fr/settings.po
+++ b/l10n/fr/settings.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-09-20 10:45-0400\n"
-"PO-Revision-Date: 2013-09-20 14:45+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
+"PO-Revision-Date: 2013-09-26 15:00+0000\n"
+"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -102,18 +102,18 @@ msgstr "Aucun utilisateur fourni"
msgid ""
"Please provide an admin recovery password, otherwise all user data will be "
"lost"
-msgstr ""
+msgstr "Veuillez fournir un mot de passe administrateur de récupération de données, sinon toutes les données de l'utilisateur seront perdues"
#: changepassword/controller.php:79
msgid ""
"Wrong admin recovery password. Please check the password and try again."
-msgstr ""
+msgstr "Mot de passe administrateur de récupération de données invalide. Veuillez vérifier le mot de passe et essayer à nouveau."
#: changepassword/controller.php:87
msgid ""
"Back-end doesn't support password change, but the users encryption key was "
"successfully updated."
-msgstr ""
+msgstr "L'infrastructure d'arrière-plan ne supporte pas la modification de mot de passe, mais la clef de chiffrement des utilisateurs a été mise à jour avec succès."
#: changepassword/controller.php:92 changepassword/controller.php:103
msgid "Unable to change password"
@@ -123,11 +123,11 @@ msgstr "Impossible de modifier le mot de passe"
msgid "Update to {appversion}"
msgstr "Mettre à jour vers {appversion}"
-#: js/apps.js:49 js/apps.js:82 js/apps.js:108
+#: js/apps.js:49 js/apps.js:82 js/apps.js:110
msgid "Disable"
msgstr "Désactiver"
-#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117
+#: js/apps.js:49 js/apps.js:90 js/apps.js:103 js/apps.js:119
msgid "Enable"
msgstr "Activer"
@@ -135,31 +135,31 @@ msgstr "Activer"
msgid "Please wait...."
msgstr "Veuillez patienter…"
-#: js/apps.js:79 js/apps.js:80 js/apps.js:100
+#: js/apps.js:79 js/apps.js:80 js/apps.js:101
msgid "Error while disabling app"
msgstr "Erreur lors de la désactivation de l'application"
-#: js/apps.js:99 js/apps.js:112 js/apps.js:113
+#: js/apps.js:100 js/apps.js:114 js/apps.js:115
msgid "Error while enabling app"
msgstr "Erreur lors de l'activation de l'application"
-#: js/apps.js:123
+#: js/apps.js:125
msgid "Updating...."
msgstr "Mise à jour..."
-#: js/apps.js:126
+#: js/apps.js:128
msgid "Error while updating app"
msgstr "Erreur lors de la mise à jour de l'application"
-#: js/apps.js:126
+#: js/apps.js:128
msgid "Error"
msgstr "Erreur"
-#: js/apps.js:127 templates/apps.php:43
+#: js/apps.js:129 templates/apps.php:43
msgid "Update"
msgstr "Mettre à jour"
-#: js/apps.js:130
+#: js/apps.js:132
msgid "Updated"
msgstr "Mise à jour effectuée avec succès"
diff --git a/l10n/hu_HU/files.po b/l10n/hu_HU/files.po
index 51bd0806da3..e61d77e5cb2 100644
--- a/l10n/hu_HU/files.po
+++ b/l10n/hu_HU/files.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-09-20 10:44-0400\n"
-"PO-Revision-Date: 2013-09-20 14:45+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
+"PO-Revision-Date: 2013-09-24 18:40+0000\n"
+"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -77,23 +77,23 @@ msgstr "Nincs elég szabad hely."
#: ajax/upload.php:120 ajax/upload.php:143
msgid "Upload failed. Could not get file info."
-msgstr ""
+msgstr "A feltöltés nem sikerült. Az állományt leíró információk nem érhetők el."
#: ajax/upload.php:136
msgid "Upload failed. Could not find uploaded file"
-msgstr ""
+msgstr "A feltöltés nem sikerült. Nem található a feltöltendő állomány."
#: ajax/upload.php:160
msgid "Invalid directory."
msgstr "Érvénytelen mappa."
-#: appinfo/app.php:12
+#: appinfo/app.php:11
msgid "Files"
msgstr "Fájlok"
#: js/file-upload.js:244
msgid "Unable to upload {filename} as it is a directory or has 0 bytes"
-msgstr ""
+msgstr "A(z) {filename} állomány nem tölthető fel, mert ez vagy egy mappa, vagy pedig 0 bájtból áll."
#: js/file-upload.js:255
msgid "Not enough space available"
@@ -105,7 +105,7 @@ msgstr "A feltöltést megszakítottuk."
#: js/file-upload.js:356
msgid "Could not get result from server."
-msgstr ""
+msgstr "A kiszolgálótól nem kapható meg az eredmény."
#: js/file-upload.js:446
msgid ""
@@ -167,24 +167,24 @@ msgstr "visszavonás"
#: js/filelist.js:533 js/filelist.js:599 js/files.js:576
msgid "%n folder"
msgid_plural "%n folders"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%n mappa"
+msgstr[1] "%n mappa"
#: js/filelist.js:534 js/filelist.js:600 js/files.js:582
msgid "%n file"
msgid_plural "%n files"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%n állomány"
+msgstr[1] "%n állomány"
#: js/filelist.js:541
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} és {files}"
#: js/filelist.js:731 js/filelist.js:769
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%n állomány feltöltése"
+msgstr[1] "%n állomány feltöltése"
#: js/files.js:25
msgid "'.' is an invalid file name."
@@ -212,7 +212,7 @@ msgstr "A tároló majdnem tele van ({usedSpacePercent}%)"
msgid ""
"Encryption was disabled but your files are still encrypted. Please go to "
"your personal settings to decrypt your files."
-msgstr ""
+msgstr "A titkosítási funkciót kikapcsolták, de az Ön állományai még mindig titkosított állapotban vannak. A személyes beállításoknál tudja a titkosítást feloldani."
#: js/files.js:296
msgid ""
@@ -222,7 +222,7 @@ msgstr "Készül a letöltendő állomány. Ez eltarthat egy ideig, ha nagyok a
#: js/files.js:507 js/files.js:545
msgid "Error moving file"
-msgstr ""
+msgstr "Az állomány áthelyezése nem sikerült."
#: js/files.js:558 templates/index.php:61
msgid "Name"
diff --git a/l10n/hu_HU/files_trashbin.po b/l10n/hu_HU/files_trashbin.po
index 4e5d7207c9f..d0d6f3bc51a 100644
--- a/l10n/hu_HU/files_trashbin.po
+++ b/l10n/hu_HU/files_trashbin.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-15 04:47-0400\n"
-"PO-Revision-Date: 2013-08-15 08:48+0000\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
+"PO-Revision-Date: 2013-09-24 18:40+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n"
"MIME-Version: 1.0\n"
@@ -28,43 +28,43 @@ msgstr "Nem sikerült %s végleges törlése"
msgid "Couldn't restore %s"
msgstr "Nem sikerült %s visszaállítása"
-#: js/trash.js:7 js/trash.js:100
+#: js/trash.js:7 js/trash.js:102
msgid "perform restore operation"
msgstr "a visszaállítás végrehajtása"
-#: js/trash.js:20 js/trash.js:48 js/trash.js:118 js/trash.js:146
+#: js/trash.js:20 js/trash.js:49 js/trash.js:120 js/trash.js:148
msgid "Error"
msgstr "Hiba"
-#: js/trash.js:36
+#: js/trash.js:37
msgid "delete file permanently"
msgstr "az állomány végleges törlése"
-#: js/trash.js:127
+#: js/trash.js:129
msgid "Delete permanently"
msgstr "Végleges törlés"
-#: js/trash.js:182 templates/index.php:17
+#: js/trash.js:190 templates/index.php:21
msgid "Name"
msgstr "Név"
-#: js/trash.js:183 templates/index.php:27
+#: js/trash.js:191 templates/index.php:31
msgid "Deleted"
msgstr "Törölve"
-#: js/trash.js:191
+#: js/trash.js:199
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
-msgstr[1] ""
+msgstr[1] "%n mappa"
-#: js/trash.js:197
+#: js/trash.js:205
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
-msgstr[1] ""
+msgstr[1] "%n állomány"
-#: lib/trash.php:819 lib/trash.php:821
+#: lib/trashbin.php:814 lib/trashbin.php:816
msgid "restored"
msgstr "visszaállítva"
@@ -72,11 +72,11 @@ msgstr "visszaállítva"
msgid "Nothing in here. Your trash bin is empty!"
msgstr "Itt nincs semmi. Az Ön szemetes mappája üres!"
-#: templates/index.php:20 templates/index.php:22
+#: templates/index.php:24 templates/index.php:26
msgid "Restore"
msgstr "Visszaállítás"
-#: templates/index.php:30 templates/index.php:31
+#: templates/index.php:34 templates/index.php:35
msgid "Delete"
msgstr "Törlés"
diff --git a/l10n/hu_HU/user_ldap.po b/l10n/hu_HU/user_ldap.po
index 5b24b22ffd6..87a2b140468 100644
--- a/l10n/hu_HU/user_ldap.po
+++ b/l10n/hu_HU/user_ldap.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-09-07 04:40-0400\n"
-"PO-Revision-Date: 2013-09-05 11:51+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
+"PO-Revision-Date: 2013-09-24 19:00+0000\n"
+"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -92,7 +92,7 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behavior. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>Figyelem:</b> a user_ldap és user_webdavauth alkalmazások nem kompatibilisek. Együttes használatuk váratlan eredményekhez vezethet. Kérje meg a rendszergazdát, hogy a kettő közül kapcsolja ki az egyiket."
#: templates/settings.php:12
msgid ""
@@ -157,7 +157,7 @@ msgstr "Szűrő a bejelentkezéshez"
msgid ""
"Defines the filter to apply, when login is attempted. %%uid replaces the "
"username in the login action. Example: \"uid=%%uid\""
-msgstr ""
+msgstr "Ez a szűrő érvényes a bejelentkezés megkísérlésekor. Ekkor az %%uid változó helyére a bejelentkezési név kerül. Például: \"uid=%%uid\""
#: templates/settings.php:55
msgid "User List Filter"
@@ -167,7 +167,7 @@ msgstr "A felhasználók szűrője"
msgid ""
"Defines the filter to apply, when retrieving users (no placeholders). "
"Example: \"objectClass=person\""
-msgstr ""
+msgstr "Ez a szűrő érvényes a felhasználók listázásakor (nincs helyettesíthető változó). Például: \"objectClass=person\""
#: templates/settings.php:59
msgid "Group Filter"
@@ -177,7 +177,7 @@ msgstr "A csoportok szűrője"
msgid ""
"Defines the filter to apply, when retrieving groups (no placeholders). "
"Example: \"objectClass=posixGroup\""
-msgstr ""
+msgstr "Ez a szűrő érvényes a csoportok listázásakor (nincs helyettesíthető változó). Például: \"objectClass=posixGroup\""
#: templates/settings.php:66
msgid "Connection Settings"
@@ -215,7 +215,7 @@ msgstr "A fő szerver kihagyása"
#: templates/settings.php:72
msgid "Only connect to the replica server."
-msgstr ""
+msgstr "Csak a másodlagos (másolati) kiszolgálóhoz kapcsolódjunk."
#: templates/settings.php:73
msgid "Use TLS"
@@ -238,7 +238,7 @@ msgstr "Ne ellenőrizzük az SSL-tanúsítvány érvényességét"
msgid ""
"Not recommended, use it for testing only! If connection only works with this"
" option, import the LDAP server's SSL certificate in your %s server."
-msgstr ""
+msgstr "Használata nem javasolt (kivéve tesztelési céllal). Ha a kapcsolat csak ezzel a beállítással működik, akkor importálja az LDAP-kiszolgáló SSL tanúsítványát a(z) %s kiszolgálóra!"
#: templates/settings.php:76
msgid "Cache Time-To-Live"
@@ -258,7 +258,7 @@ msgstr "A felhasználónév mezője"
#: templates/settings.php:80
msgid "The LDAP attribute to use to generate the user's display name."
-msgstr ""
+msgstr "Ebből az LDAP attribútumból képződik a felhasználó megjelenítendő neve."
#: templates/settings.php:81
msgid "Base User Tree"
@@ -282,7 +282,7 @@ msgstr "A csoport nevének mezője"
#: templates/settings.php:83
msgid "The LDAP attribute to use to generate the groups's display name."
-msgstr ""
+msgstr "Ebből az LDAP attribútumból képződik a csoport megjelenítendő neve."
#: templates/settings.php:84
msgid "Base Group Tree"
diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot
index a57486f5ed2..ba60bef3718 100644
--- a/l10n/templates/core.pot
+++ b/l10n/templates/core.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot
index 23d0cd0b17b..601c6633925 100644
--- a/l10n/templates/files.pot
+++ b/l10n/templates/files.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot
index 44e17a2fcb2..52e8feed914 100644
--- a/l10n/templates/files_encryption.pot
+++ b/l10n/templates/files_encryption.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot
index abdd985cfdf..a99fbf35c8a 100644
--- a/l10n/templates/files_external.pot
+++ b/l10n/templates/files_external.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_sharing.pot b/l10n/templates/files_sharing.pot
index 34ed992660b..10bee89c275 100644
--- a/l10n/templates/files_sharing.pot
+++ b/l10n/templates/files_sharing.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_trashbin.pot b/l10n/templates/files_trashbin.pot
index 45fa700a43b..cfc69f2b2e5 100644
--- a/l10n/templates/files_trashbin.pot
+++ b/l10n/templates/files_trashbin.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot
index 2e73cce980a..284aca099fd 100644
--- a/l10n/templates/files_versions.pot
+++ b/l10n/templates/files_versions.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot
index 0733e0c2737..0103b348e9c 100644
--- a/l10n/templates/lib.pot
+++ b/l10n/templates/lib.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot
index 66c00629bd9..c14bb4c3e5b 100644
--- a/l10n/templates/settings.pot
+++ b/l10n/templates/settings.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot
index 919a39b4059..822d615af91 100644
--- a/l10n/templates/user_ldap.pot
+++ b/l10n/templates/user_ldap.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot
index dfb732ed0c9..3a0f240e937 100644
--- a/l10n/templates/user_webdavauth.pot
+++ b/l10n/templates/user_webdavauth.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-09-24 12:58-0400\n"
+"POT-Creation-Date: 2013-09-27 00:01-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/lib/l10n/da.php b/lib/l10n/da.php
index 26903142763..05a43f42ed9 100644
--- a/lib/l10n/da.php
+++ b/lib/l10n/da.php
@@ -8,6 +8,9 @@ $TRANSLATIONS = array(
"Users" => "Brugere",
"Admin" => "Admin",
"Failed to upgrade \"%s\"." => "Upgradering af \"%s\" fejlede",
+"Custom profile pictures don't work with encryption yet" => "Personligt profilbillede virker endnu ikke sammen med kryptering",
+"Unknown filetype" => "Ukendt filtype",
+"Invalid image" => "Ugyldigt billede",
"web services under your control" => "Webtjenester under din kontrol",
"cannot open \"%s\"" => "Kan ikke åbne \"%s\"",
"ZIP download is turned off." => "ZIP-download er slået fra.",
diff --git a/lib/public/share.php b/lib/public/share.php
index 7a8a183574b..6c5783f1179 100644
--- a/lib/public/share.php
+++ b/lib/public/share.php
@@ -760,10 +760,10 @@ class Share {
/**
* @brief Get the backend class for the specified item type
- * @param string Item type
- * @return Sharing backend object
+ * @param string $itemType
+ * @return Share_Backend
*/
- private static function getBackend($itemType) {
+ public static function getBackend($itemType) {
if (isset(self::$backends[$itemType])) {
return self::$backends[$itemType];
} else if (isset(self::$backendTypes[$itemType]['class'])) {
diff --git a/lib/public/user.php b/lib/public/user.php
index 23ff991642d..576a64d7048 100644
--- a/lib/public/user.php
+++ b/lib/public/user.php
@@ -102,7 +102,7 @@ class User {
* @brief Check if the password is correct
* @param $uid The username
* @param $password The password
- * @returns true/false
+ * @returns mixed username on success, false otherwise
*
* Check if the password is correct without logging in the user
*/
diff --git a/lib/user.php b/lib/user.php
index 7f6a296c3ea..15e807088b4 100644
--- a/lib/user.php
+++ b/lib/user.php
@@ -138,6 +138,7 @@ class OC_User {
* setup the configured backends in config.php
*/
public static function setupBackends() {
+ OC_App::loadApps(array('prelogin'));
$backends = OC_Config::getValue('user_backends', array());
foreach ($backends as $i => $config) {
$class = $config['class'];
@@ -371,22 +372,18 @@ class OC_User {
* @brief Check if the password is correct
* @param string $uid The username
* @param string $password The password
- * @return bool
+ * @return mixed user id a string on success, false otherwise
*
* Check if the password is correct without logging in the user
* returns the user id or false
*/
public static function checkPassword($uid, $password) {
- $user = self::getManager()->get($uid);
- if ($user) {
- if ($user->checkPassword($password)) {
- return $user->getUID();
- } else {
- return false;
- }
- } else {
- return false;
+ $manager = self::getManager();
+ $username = $manager->checkPassword($uid, $password);
+ if ($username !== false) {
+ return $username->getUID();
}
+ return false;
}
/**
diff --git a/lib/user/http.php b/lib/user/http.php
index 1e044ed4188..e99afe59ba7 100644
--- a/lib/user/http.php
+++ b/lib/user/http.php
@@ -79,7 +79,11 @@ class OC_User_HTTP extends OC_User_Backend {
curl_close($ch);
- return $status==200;
+ if($status === 200) {
+ return $uid;
+ }
+
+ return false;
}
/**
diff --git a/lib/user/manager.php b/lib/user/manager.php
index 8dc9bfe2729..13286bc28a4 100644
--- a/lib/user/manager.php
+++ b/lib/user/manager.php
@@ -119,6 +119,25 @@ class Manager extends PublicEmitter {
}
/**
+ * Check if the password is valid for the user
+ *
+ * @param $loginname
+ * @param $password
+ * @return mixed the User object on success, false otherwise
+ */
+ public function checkPassword($loginname, $password) {
+ foreach ($this->backends as $backend) {
+ if($backend->implementsActions(\OC_USER_BACKEND_CHECK_PASSWORD)) {
+ $uid = $backend->checkPassword($loginname, $password);
+ if ($uid !== false) {
+ return $this->getUserObject($uid, $backend);
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
* search by user id
*
* @param string $pattern
diff --git a/lib/user/session.php b/lib/user/session.php
index 98a24d5bb00..525c65ab8a1 100644
--- a/lib/user/session.php
+++ b/lib/user/session.php
@@ -121,15 +121,16 @@ class Session implements Emitter, \OCP\IUserSession {
*/
public function login($uid, $password) {
$this->manager->emit('\OC\User', 'preLogin', array($uid, $password));
- $user = $this->manager->get($uid);
- if ($user) {
- $result = $user->checkPassword($password);
- if ($result and $user->isEnabled()) {
- $this->setUser($user);
- $this->manager->emit('\OC\User', 'postLogin', array($user, $password));
- return true;
- } else {
- return false;
+ $user = $this->manager->checkPassword($uid, $password);
+ if($user !== false) {
+ if (!is_null($user)) {
+ if ($user->isEnabled()) {
+ $this->setUser($user);
+ $this->manager->emit('\OC\User', 'postLogin', array($user, $password));
+ return true;
+ } else {
+ return false;
+ }
}
} else {
return false;
diff --git a/lib/user/user.php b/lib/user/user.php
index 8115c43198c..e5f842944f1 100644
--- a/lib/user/user.php
+++ b/lib/user/user.php
@@ -106,24 +106,6 @@ class User {
}
/**
- * Check if the password is valid for the user
- *
- * @param $password
- * @return bool
- */
- public function checkPassword($password) {
- if ($this->backend->implementsActions(\OC_USER_BACKEND_CHECK_PASSWORD)) {
- $result = $this->backend->checkPassword($this->uid, $password);
- if ($result !== false) {
- $this->uid = $result;
- }
- return !($result === false);
- } else {
- return false;
- }
- }
-
- /**
* Set the password of the user
*
* @param string $password
diff --git a/settings/l10n/da.php b/settings/l10n/da.php
index fcff9dbcfd9..f86559d6752 100644
--- a/settings/l10n/da.php
+++ b/settings/l10n/da.php
@@ -21,6 +21,7 @@ $TRANSLATIONS = array(
"Please provide an admin recovery password, otherwise all user data will be lost" => "Angiv venligst en admininstrator gendannelseskode, ellers vil alt brugerdata gå tabt",
"Wrong admin recovery password. Please check the password and try again." => "Forkert admin gendannelseskode. Se venligst koden efter og prøv igen.",
"Back-end doesn't support password change, but the users encryption key was successfully updated." => "Serveren understøtter ikke kodeordsskifte, men brugernes krypteringsnøgle blev opdateret.",
+"Unable to change password" => "Kunne ikke ændre kodeord",
"Update to {appversion}" => "Opdatér til {appversion}",
"Disable" => "Deaktiver",
"Enable" => "Aktiver",
diff --git a/settings/l10n/fr.php b/settings/l10n/fr.php
index 55c0e7fe9a8..10a7d764bc8 100644
--- a/settings/l10n/fr.php
+++ b/settings/l10n/fr.php
@@ -18,6 +18,9 @@ $TRANSLATIONS = array(
"Couldn't update app." => "Impossible de mettre à jour l'application",
"Wrong password" => "Mot de passe incorrect",
"No user supplied" => "Aucun utilisateur fourni",
+"Please provide an admin recovery password, otherwise all user data will be lost" => "Veuillez fournir un mot de passe administrateur de récupération de données, sinon toutes les données de l'utilisateur seront perdues",
+"Wrong admin recovery password. Please check the password and try again." => "Mot de passe administrateur de récupération de données invalide. Veuillez vérifier le mot de passe et essayer à nouveau.",
+"Back-end doesn't support password change, but the users encryption key was successfully updated." => "L'infrastructure d'arrière-plan ne supporte pas la modification de mot de passe, mais la clef de chiffrement des utilisateurs a été mise à jour avec succès.",
"Unable to change password" => "Impossible de modifier le mot de passe",
"Update to {appversion}" => "Mettre à jour vers {appversion}",
"Disable" => "Désactiver",
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
index fb667263e45..581cfcff9f3 100644
--- a/tests/bootstrap.php
+++ b/tests/bootstrap.php
@@ -1,7 +1,5 @@
<?php
-global $RUNTIME_NOAPPS;
-$RUNTIME_NOAPPS = true;
define('PHPUNIT_RUN', 1);
diff --git a/tests/lib/user.php b/tests/lib/user.php
new file mode 100644
index 00000000000..66c7f3f0d74
--- /dev/null
+++ b/tests/lib/user.php
@@ -0,0 +1,43 @@
+<?php
+
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test;
+
+use OC\Hooks\PublicEmitter;
+
+class User extends \PHPUnit_Framework_TestCase {
+
+ public function testCheckPassword() {
+ /**
+ * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend
+ */
+ $backend = $this->getMock('\OC_User_Dummy');
+ $backend->expects($this->once())
+ ->method('checkPassword')
+ ->with($this->equalTo('foo'), $this->equalTo('bar'))
+ ->will($this->returnValue('foo'));
+
+ $backend->expects($this->any())
+ ->method('implementsActions')
+ ->will($this->returnCallback(function ($actions) {
+ if ($actions === \OC_USER_BACKEND_CHECK_PASSWORD) {
+ return true;
+ } else {
+ return false;
+ }
+ }));
+
+ $manager = \OC_User::getManager();
+ $manager->registerBackend($backend);
+
+ $uid = \OC_User::checkPassword('foo', 'bar');
+ $this->assertEquals($uid, 'foo');
+ }
+
+} \ No newline at end of file
diff --git a/tests/lib/user/manager.php b/tests/lib/user/manager.php
index bc49f6db4b2..00901dd4115 100644
--- a/tests/lib/user/manager.php
+++ b/tests/lib/user/manager.php
@@ -98,6 +98,51 @@ class Manager extends \PHPUnit_Framework_TestCase {
$this->assertTrue($manager->userExists('foo'));
}
+ public function testCheckPassword() {
+ /**
+ * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend
+ */
+ $backend = $this->getMock('\OC_User_Dummy');
+ $backend->expects($this->once())
+ ->method('checkPassword')
+ ->with($this->equalTo('foo'), $this->equalTo('bar'))
+ ->will($this->returnValue(true));
+
+ $backend->expects($this->any())
+ ->method('implementsActions')
+ ->will($this->returnCallback(function ($actions) {
+ if ($actions === \OC_USER_BACKEND_CHECK_PASSWORD) {
+ return true;
+ } else {
+ return false;
+ }
+ }));
+
+ $manager = new \OC\User\Manager();
+ $manager->registerBackend($backend);
+
+ $user = $manager->checkPassword('foo', 'bar');
+ $this->assertTrue($user instanceof \OC\User\User);
+ }
+
+ public function testCheckPasswordNotSupported() {
+ /**
+ * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend
+ */
+ $backend = $this->getMock('\OC_User_Dummy');
+ $backend->expects($this->never())
+ ->method('checkPassword');
+
+ $backend->expects($this->any())
+ ->method('implementsActions')
+ ->will($this->returnValue(false));
+
+ $manager = new \OC\User\Manager();
+ $manager->registerBackend($backend);
+
+ $this->assertFalse($manager->checkPassword('foo', 'bar'));
+ }
+
public function testGetOneBackendExists() {
/**
* @var \OC_User_Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
diff --git a/tests/lib/user/session.php b/tests/lib/user/session.php
index 274e9e2831e..e457a7bda30 100644
--- a/tests/lib/user/session.php
+++ b/tests/lib/user/session.php
@@ -62,10 +62,6 @@ class Session extends \PHPUnit_Framework_TestCase {
$user = $this->getMock('\OC\User\User', array(), array('foo', $backend));
$user->expects($this->once())
- ->method('checkPassword')
- ->with('bar')
- ->will($this->returnValue(true));
- $user->expects($this->once())
->method('isEnabled')
->will($this->returnValue(true));
$user->expects($this->any())
@@ -73,8 +69,8 @@ class Session extends \PHPUnit_Framework_TestCase {
->will($this->returnValue('foo'));
$manager->expects($this->once())
- ->method('get')
- ->with('foo')
+ ->method('checkPassword')
+ ->with('foo', 'bar')
->will($this->returnValue($user));
$userSession = new \OC\User\Session($manager, $session);
@@ -93,16 +89,12 @@ class Session extends \PHPUnit_Framework_TestCase {
$user = $this->getMock('\OC\User\User', array(), array('foo', $backend));
$user->expects($this->once())
- ->method('checkPassword')
- ->with('bar')
- ->will($this->returnValue(true));
- $user->expects($this->once())
->method('isEnabled')
->will($this->returnValue(false));
$manager->expects($this->once())
- ->method('get')
- ->with('foo')
+ ->method('checkPassword')
+ ->with('foo', 'bar')
->will($this->returnValue($user));
$userSession = new \OC\User\Session($manager, $session);
@@ -119,17 +111,13 @@ class Session extends \PHPUnit_Framework_TestCase {
$backend = $this->getMock('OC_User_Dummy');
$user = $this->getMock('\OC\User\User', array(), array('foo', $backend));
- $user->expects($this->once())
- ->method('checkPassword')
- ->with('bar')
- ->will($this->returnValue(false));
$user->expects($this->never())
->method('isEnabled');
$manager->expects($this->once())
- ->method('get')
- ->with('foo')
- ->will($this->returnValue($user));
+ ->method('checkPassword')
+ ->with('foo', 'bar')
+ ->will($this->returnValue(false));
$userSession = new \OC\User\Session($manager, $session);
$userSession->login('foo', 'bar');
@@ -145,9 +133,9 @@ class Session extends \PHPUnit_Framework_TestCase {
$backend = $this->getMock('OC_User_Dummy');
$manager->expects($this->once())
- ->method('get')
- ->with('foo')
- ->will($this->returnValue(null));
+ ->method('checkPassword')
+ ->with('foo', 'bar')
+ ->will($this->returnValue(false));
$userSession = new \OC\User\Session($manager, $session);
$userSession->login('foo', 'bar');
diff --git a/tests/lib/user/user.php b/tests/lib/user/user.php
index b0d170cbfc5..de5ccbf38c1 100644
--- a/tests/lib/user/user.php
+++ b/tests/lib/user/user.php
@@ -100,46 +100,6 @@ class User extends \PHPUnit_Framework_TestCase {
$this->assertTrue($user->delete());
}
- public function testCheckPassword() {
- /**
- * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\OC_User_Dummy');
- $backend->expects($this->once())
- ->method('checkPassword')
- ->with($this->equalTo('foo'), $this->equalTo('bar'))
- ->will($this->returnValue(true));
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnCallback(function ($actions) {
- if ($actions === \OC_USER_BACKEND_CHECK_PASSWORD) {
- return true;
- } else {
- return false;
- }
- }));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertTrue($user->checkPassword('bar'));
- }
-
- public function testCheckPasswordNotSupported() {
- /**
- * @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend
- */
- $backend = $this->getMock('\OC_User_Dummy');
- $backend->expects($this->never())
- ->method('checkPassword');
-
- $backend->expects($this->any())
- ->method('implementsActions')
- ->will($this->returnValue(false));
-
- $user = new \OC\User\User('foo', $backend);
- $this->assertFalse($user->checkPassword('bar'));
- }
-
public function testGetHome() {
/**
* @var \OC_User_Backend | \PHPUnit_Framework_MockObject_MockObject $backend