Merge branch 'master' into oc_avatars
This commit is contained in:
commit
c9c5e1b97f
|
@ -11,22 +11,56 @@ OCP\JSON::checkLoggedIn();
|
|||
|
||||
// Load the files
|
||||
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
|
||||
$mimetype = isset($_GET['mimetype']) ? $_GET['mimetype'] : '';
|
||||
$mimetypes = isset($_GET['mimetypes']) ? json_decode($_GET['mimetypes'], true) : '';
|
||||
|
||||
// Clean up duplicates from array and deal with non-array requests
|
||||
if (is_array($mimetypes)) {
|
||||
$mimetypes = array_unique($mimetypes);
|
||||
} elseif (is_null($mimetypes)) {
|
||||
$mimetypes = array($_GET['mimetypes']);
|
||||
}
|
||||
|
||||
// make filelist
|
||||
$files = array();
|
||||
// If a type other than directory is requested first load them.
|
||||
if($mimetype && strpos($mimetype, 'httpd/unix-directory') === false) {
|
||||
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, 'httpd/unix-directory' ) as $i ) {
|
||||
$i["date"] = OCP\Util::formatDate($i["mtime"] );
|
||||
$i['mimetype_icon'] = $i['type'] == 'dir' ? \mimetype_icon('dir'): \mimetype_icon($i['mimetype']);
|
||||
$files[] = $i;
|
||||
if($mimetypes && !in_array('httpd/unix-directory', $mimetypes)) {
|
||||
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, 'httpd/unix-directory' ) as $file ) {
|
||||
$file["date"] = OCP\Util::formatDate($file["mtime"]);
|
||||
$file['mimetype_icon'] = \mimetype_icon('dir');
|
||||
$files[] = $file;
|
||||
}
|
||||
}
|
||||
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, $mimetype ) as $i ) {
|
||||
$i["date"] = OCP\Util::formatDate($i["mtime"] );
|
||||
$i['mimetype_icon'] = $i['type'] == 'dir' ? \mimetype_icon('dir'): \mimetype_icon($i['mimetype']);
|
||||
$files[] = $i;
|
||||
|
||||
if (is_array($mimetypes) && count($mimetypes)) {
|
||||
foreach ($mimetypes as $mimetype) {
|
||||
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, $mimetype ) as $file ) {
|
||||
$file["date"] = OCP\Util::formatDate($file["mtime"]);
|
||||
if ($file['type'] === "dir") {
|
||||
$file['mimetype_icon'] = \mimetype_icon('dir');
|
||||
} else {
|
||||
$file['mimetype_icon'] = \mimetype_icon($file['mimetype']);
|
||||
}
|
||||
$files[] = $file;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $file ) {
|
||||
$file["date"] = OCP\Util::formatDate($file["mtime"]);
|
||||
if ($file['type'] === "dir") {
|
||||
$file['mimetype_icon'] = \mimetype_icon('dir');
|
||||
} else {
|
||||
$file['mimetype_icon'] = \mimetype_icon($file['mimetype']);
|
||||
}
|
||||
$files[] = $file;
|
||||
}
|
||||
}
|
||||
|
||||
OCP\JSON::success(array('data' => $files));
|
||||
// Sort by name
|
||||
usort($files, function ($a, $b) {
|
||||
if ($a['name'] === $b['name']) {
|
||||
return 0;
|
||||
}
|
||||
return ($a['name'] < $b['name']) ? -1 : 1;
|
||||
});
|
||||
|
||||
OC_JSON::success(array('data' => $files));
|
||||
|
|
|
@ -69,11 +69,11 @@
|
|||
/* FILE TABLE */
|
||||
|
||||
#filestable { position: relative; top:37px; width:100%; }
|
||||
tbody tr { background-color:#fff; height:2.5em; }
|
||||
tbody tr:hover, tbody tr:active {
|
||||
#filestable tbody tr { background-color:#fff; height:2.5em; }
|
||||
#filestable tbody tr:hover, tbody tr:active {
|
||||
background-color: rgb(240,240,240);
|
||||
}
|
||||
tbody tr.selected {
|
||||
#filestable tbody tr.selected {
|
||||
background-color: rgb(230,230,230);
|
||||
}
|
||||
tbody a { color:#000; }
|
||||
|
@ -190,10 +190,15 @@ table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
|
|||
#fileList tr:hover td.filename>input[type="checkbox"]:first-child,
|
||||
#fileList tr td.filename>input[type="checkbox"]:checked:first-child,
|
||||
#fileList tr.selected td.filename>input[type="checkbox"]:first-child {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
filter: alpha(opacity=100);
|
||||
opacity: 1;
|
||||
}
|
||||
.lte9 #fileList tr:hover td.filename>input[type="checkbox"]:first-child,
|
||||
.lte9 #fileList tr td.filename>input[type="checkbox"][checked=checked]:first-child,
|
||||
.lte9 #fileList tr.selected td.filename>input[type="checkbox"]:first-child {
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
filter: alpha(opacity=100);
|
||||
}
|
||||
|
||||
/* Use label to have bigger clickable size for checkbox */
|
||||
#fileList tr td.filename>input[type="checkbox"] + label,
|
||||
#select_all + label {
|
||||
|
|
|
@ -344,8 +344,12 @@ $(document).ready(function() {
|
|||
}
|
||||
var li=form.parent();
|
||||
form.remove();
|
||||
/* workaround for IE 9&10 click event trap, 2 lines: */
|
||||
$('input').first().focus();
|
||||
$('#content').focus();
|
||||
li.append('<p>'+li.data('text')+'</p>');
|
||||
$('#new>a').click();
|
||||
});
|
||||
});
|
||||
window.file_upload_param = file_upload_param;
|
||||
});
|
||||
|
|
|
@ -35,6 +35,7 @@ $TRANSLATIONS = array(
|
|||
"undo" => "desfés",
|
||||
"_%n folder_::_%n folders_" => array("%n carpeta","%n carpetes"),
|
||||
"_%n file_::_%n files_" => array("%n fitxer","%n fitxers"),
|
||||
"{dirs} and {files}" => "{dirs} i {files}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("Pujant %n fitxer","Pujant %n fitxers"),
|
||||
"files uploading" => "fitxers pujant",
|
||||
"'.' is an invalid file name." => "'.' és un nom no vàlid per un fitxer.",
|
||||
|
|
|
@ -33,15 +33,17 @@ $TRANSLATIONS = array(
|
|||
"cancel" => "cancelar",
|
||||
"replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}",
|
||||
"undo" => "deshacer",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("",""),
|
||||
"_%n folder_::_%n folders_" => array("","%n carpetas"),
|
||||
"_%n file_::_%n files_" => array("","%n archivos"),
|
||||
"{dirs} and {files}" => "{dirs} y {files}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("Subiendo %n archivo","Subiendo %n archivos"),
|
||||
"files uploading" => "subiendo archivos",
|
||||
"'.' is an invalid file name." => "'.' no es un nombre de archivo válido.",
|
||||
"File name cannot be empty." => "El nombre de archivo no puede estar vacío.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre Invalido, \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ",
|
||||
"Your storage is full, files can not be updated or synced anymore!" => "Su almacenamiento está lleno, ¡no se pueden actualizar o sincronizar más!",
|
||||
"Your storage is almost full ({usedSpacePercent}%)" => "Su almacenamiento está casi lleno ({usedSpacePercent}%)",
|
||||
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "El cifrado ha sido deshabilitado pero tus archivos permanecen cifrados. Por favor, ve a tus ajustes personales para descifrar tus archivos.",
|
||||
"Your download is being prepared. This might take some time if the files are big." => "Su descarga está siendo preparada. Esto puede tardar algún tiempo si los archivos son grandes.",
|
||||
"Name" => "Nombre",
|
||||
"Size" => "Tamaño",
|
||||
|
|
|
@ -33,9 +33,10 @@ $TRANSLATIONS = array(
|
|||
"cancel" => "cancelar",
|
||||
"replaced {new_name} with {old_name}" => "se reemplazó {new_name} con {old_name}",
|
||||
"undo" => "deshacer",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("",""),
|
||||
"_%n folder_::_%n folders_" => array("%n carpeta","%n carpetas"),
|
||||
"_%n file_::_%n files_" => array("%n archivo","%n archivos"),
|
||||
"{dirs} and {files}" => "{carpetas} y {archivos}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("Subiendo %n archivo","Subiendo %n archivos"),
|
||||
"files uploading" => "Subiendo archivos",
|
||||
"'.' is an invalid file name." => "'.' es un nombre de archivo inválido.",
|
||||
"File name cannot be empty." => "El nombre del archivo no puede quedar vacío.",
|
||||
|
|
|
@ -35,6 +35,7 @@ $TRANSLATIONS = array(
|
|||
"undo" => "tagasi",
|
||||
"_%n folder_::_%n folders_" => array("%n kataloog","%n kataloogi"),
|
||||
"_%n file_::_%n files_" => array("%n fail","%n faili"),
|
||||
"{dirs} and {files}" => "{dirs} ja {files}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("Laadin üles %n faili","Laadin üles %n faili"),
|
||||
"files uploading" => "faili üleslaadimisel",
|
||||
"'.' is an invalid file name." => "'.' on vigane failinimi.",
|
||||
|
|
|
@ -6,8 +6,8 @@ $TRANSLATIONS = array(
|
|||
"Invalid Token" => "Jeton non valide",
|
||||
"No file was uploaded. Unknown error" => "Aucun fichier n'a été envoyé. Erreur inconnue",
|
||||
"There is no error, the file uploaded with success" => "Aucune erreur, le fichier a été envoyé avec succès.",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Le fichier envoyé dépasse la valeur upload_max_filesize située dans le fichier php.ini:",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Le fichier envoyé dépasse la directive MAX_FILE_SIZE qui est spécifiée dans le formulaire HTML.",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Le fichier envoyé dépasse l'instruction upload_max_filesize située dans le fichier php.ini:",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Le fichier envoyé dépasse l'instruction MAX_FILE_SIZE qui est spécifiée dans le formulaire HTML.",
|
||||
"The uploaded file was only partially uploaded" => "Le fichier n'a été que partiellement envoyé.",
|
||||
"No file was uploaded" => "Pas de fichier envoyé.",
|
||||
"Missing a temporary folder" => "Absence de dossier temporaire.",
|
||||
|
|
|
@ -35,6 +35,7 @@ $TRANSLATIONS = array(
|
|||
"undo" => "desfacer",
|
||||
"_%n folder_::_%n folders_" => array("%n cartafol","%n cartafoles"),
|
||||
"_%n file_::_%n files_" => array("%n ficheiro","%n ficheiros"),
|
||||
"{dirs} and {files}" => "{dirs} e {files}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("Cargando %n ficheiro","Cargando %n ficheiros"),
|
||||
"files uploading" => "ficheiros enviándose",
|
||||
"'.' is an invalid file name." => "«.» é un nome de ficheiro incorrecto",
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
$TRANSLATIONS = array(
|
||||
"URL cannot be empty." => "ناونیشانی بهستهر نابێت بهتاڵ بێت.",
|
||||
"Error" => "ههڵه",
|
||||
"Share" => "هاوبەشی کردن",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("",""),
|
||||
|
|
|
@ -35,6 +35,7 @@ $TRANSLATIONS = array(
|
|||
"undo" => "ongedaan maken",
|
||||
"_%n folder_::_%n folders_" => array("","%n mappen"),
|
||||
"_%n file_::_%n files_" => array("","%n bestanden"),
|
||||
"{dirs} and {files}" => "{dirs} en {files}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("%n bestand aan het uploaden","%n bestanden aan het uploaden"),
|
||||
"files uploading" => "bestanden aan het uploaden",
|
||||
"'.' is an invalid file name." => "'.' is een ongeldige bestandsnaam.",
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
$TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Klarte ikkje flytta %s – det finst allereie ei fil med dette namnet",
|
||||
"Could not move %s" => "Klarte ikkje flytta %s",
|
||||
"Unable to set upload directory." => "Klarte ikkje å endra opplastingsmappa.",
|
||||
"Invalid Token" => "Ugyldig token",
|
||||
"No file was uploaded. Unknown error" => "Ingen filer lasta opp. Ukjend feil",
|
||||
"There is no error, the file uploaded with success" => "Ingen feil, fila vart lasta opp",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fila du lasta opp er større enn det «upload_max_filesize» i php.ini tillater: ",
|
||||
|
@ -31,19 +33,22 @@ $TRANSLATIONS = array(
|
|||
"cancel" => "avbryt",
|
||||
"replaced {new_name} with {old_name}" => "bytte ut {new_name} med {old_name}",
|
||||
"undo" => "angre",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("",""),
|
||||
"_%n folder_::_%n folders_" => array("%n mappe","%n mapper"),
|
||||
"_%n file_::_%n files_" => array("%n fil","%n filer"),
|
||||
"{dirs} and {files}" => "{dirs} og {files}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("Lastar opp %n fil","Lastar opp %n filer"),
|
||||
"files uploading" => "filer lastar opp",
|
||||
"'.' is an invalid file name." => "«.» er eit ugyldig filnamn.",
|
||||
"File name cannot be empty." => "Filnamnet kan ikkje vera tomt.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldig namn, «\\», «/», «<», «>», «:», «\"», «|», «?» og «*» er ikkje tillate.",
|
||||
"Your storage is full, files can not be updated or synced anymore!" => "Lagringa di er full, kan ikkje lenger oppdatera eller synkronisera!",
|
||||
"Your storage is almost full ({usedSpacePercent}%)" => "Lagringa di er nesten full ({usedSpacePercent} %)",
|
||||
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Kryptering er skrudd av, men filene dine er enno krypterte. Du kan dekryptera filene i personlege innstillingar.",
|
||||
"Your download is being prepared. This might take some time if the files are big." => "Gjer klar nedlastinga di. Dette kan ta ei stund viss filene er store.",
|
||||
"Name" => "Namn",
|
||||
"Size" => "Storleik",
|
||||
"Modified" => "Endra",
|
||||
"%s could not be renamed" => "Klarte ikkje å omdøypa på %s",
|
||||
"Upload" => "Last opp",
|
||||
"File handling" => "Filhandtering",
|
||||
"Maximum upload size" => "Maksimal opplastingsstorleik",
|
||||
|
|
|
@ -33,15 +33,17 @@ $TRANSLATIONS = array(
|
|||
"cancel" => "anuluj",
|
||||
"replaced {new_name} with {old_name}" => "zastąpiono {new_name} przez {old_name}",
|
||||
"undo" => "cofnij",
|
||||
"_%n folder_::_%n folders_" => array("","",""),
|
||||
"_%n file_::_%n files_" => array("","",""),
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("","",""),
|
||||
"_%n folder_::_%n folders_" => array("%n katalog","%n katalogi","%n katalogów"),
|
||||
"_%n file_::_%n files_" => array("%n plik","%n pliki","%n plików"),
|
||||
"{dirs} and {files}" => "{katalogi} and {pliki}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"),
|
||||
"files uploading" => "pliki wczytane",
|
||||
"'.' is an invalid file name." => "„.” jest nieprawidłową nazwą pliku.",
|
||||
"File name cannot be empty." => "Nazwa pliku nie może być pusta.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nieprawidłowa nazwa. Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*' są niedozwolone.",
|
||||
"Your storage is full, files can not be updated or synced anymore!" => "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!",
|
||||
"Your storage is almost full ({usedSpacePercent}%)" => "Twój magazyn jest prawie pełny ({usedSpacePercent}%)",
|
||||
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Szyfrowanie zostało wyłączone, ale nadal pliki są zaszyfrowane. Przejdź do ustawień osobistych i tam odszyfruj pliki.",
|
||||
"Your download is being prepared. This might take some time if the files are big." => "Pobieranie jest przygotowywane. Może to zająć trochę czasu jeśli pliki są duże.",
|
||||
"Name" => "Nazwa",
|
||||
"Size" => "Rozmiar",
|
||||
|
|
|
@ -33,10 +33,10 @@ $TRANSLATIONS = array(
|
|||
"cancel" => "cancelar",
|
||||
"replaced {new_name} with {old_name}" => "Substituído {old_name} por {new_name} ",
|
||||
"undo" => "desfazer",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_%n folder_::_%n folders_" => array("%n pasta","%n pastas"),
|
||||
"_%n file_::_%n files_" => array("%n arquivo","%n arquivos"),
|
||||
"{dirs} and {files}" => "{dirs} e {files}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("",""),
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("Enviando %n arquivo","Enviando %n arquivos"),
|
||||
"files uploading" => "enviando arquivos",
|
||||
"'.' is an invalid file name." => "'.' é um nome de arquivo inválido.",
|
||||
"File name cannot be empty." => "O nome do arquivo não pode estar vazio.",
|
||||
|
|
|
@ -6,27 +6,27 @@ $TRANSLATIONS = array(
|
|||
"Invalid Token" => "Jeton Invalid",
|
||||
"No file was uploaded. Unknown error" => "Nici un fișier nu a fost încărcat. Eroare necunoscută",
|
||||
"There is no error, the file uploaded with success" => "Nu a apărut nici o eroare, fișierul a fost încărcat cu succes",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fisierul incarcat depaseste upload_max_filesize permisi in php.ini: ",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fisierul incarcat depaseste marimea maxima permisa in php.ini: ",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Fișierul are o dimensiune mai mare decât variabile MAX_FILE_SIZE specificată în formularul HTML",
|
||||
"The uploaded file was only partially uploaded" => "Fișierul a fost încărcat doar parțial",
|
||||
"No file was uploaded" => "Nu a fost încărcat nici un fișier",
|
||||
"Missing a temporary folder" => "Lipsește un director temporar",
|
||||
"Failed to write to disk" => "Eroare la scriere pe disc",
|
||||
"Missing a temporary folder" => "Lipsește un dosar temporar",
|
||||
"Failed to write to disk" => "Eroare la scrierea discului",
|
||||
"Not enough storage available" => "Nu este suficient spațiu disponibil",
|
||||
"Upload failed" => "Încărcarea a eșuat",
|
||||
"Invalid directory." => "Director invalid.",
|
||||
"Invalid directory." => "registru invalid.",
|
||||
"Files" => "Fișiere",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Nu s-a putut încărca fișierul tău deoarece pare să fie un director sau are 0 bytes.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "lista nu se poate incarca poate fi un fisier sau are 0 bytes",
|
||||
"Not enough space available" => "Nu este suficient spațiu disponibil",
|
||||
"Upload cancelled." => "Încărcare anulată.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea.",
|
||||
"URL cannot be empty." => "Adresa URL nu poate fi goală.",
|
||||
"URL cannot be empty." => "Adresa URL nu poate fi golita",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Nume de dosar invalid. Utilizarea 'Shared' e rezervată de ownCloud",
|
||||
"Error" => "Eroare",
|
||||
"Share" => "Partajează",
|
||||
"Share" => "a imparti",
|
||||
"Delete permanently" => "Stergere permanenta",
|
||||
"Rename" => "Redenumire",
|
||||
"Pending" => "În așteptare",
|
||||
"Pending" => "in timpul",
|
||||
"{new_name} already exists" => "{new_name} deja exista",
|
||||
"replace" => "înlocuire",
|
||||
"suggest name" => "sugerează nume",
|
||||
|
@ -39,10 +39,11 @@ $TRANSLATIONS = array(
|
|||
"files uploading" => "fișiere se încarcă",
|
||||
"'.' is an invalid file name." => "'.' este un nume invalid de fișier.",
|
||||
"File name cannot be empty." => "Numele fișierului nu poate rămâne gol.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nume invalid, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise.",
|
||||
"Your storage is full, files can not be updated or synced anymore!" => "Spatiul de stocare este plin, nu mai puteti incarca s-au sincroniza alte fisiere.",
|
||||
"Your storage is almost full ({usedSpacePercent}%)" => "Spatiul de stocare este aproape plin ({usedSpacePercent}%)",
|
||||
"Your download is being prepared. This might take some time if the files are big." => "Se pregătește descărcarea. Aceasta poate să dureze ceva timp dacă fișierele sunt mari.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nume invalide, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise.",
|
||||
"Your storage is full, files can not be updated or synced anymore!" => "Spatiul de stocare este plin, fisierele nu mai pot fi actualizate sau sincronizate",
|
||||
"Your storage is almost full ({usedSpacePercent}%)" => "Spatiul de stocare este aproape plin {spatiu folosit}%",
|
||||
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "criptarea a fost disactivata dar fisierele sant inca criptate.va rog intrati in setarile personale pentru a decripta fisierele",
|
||||
"Your download is being prepared. This might take some time if the files are big." => "in curs de descarcare. Aceasta poate să dureze ceva timp dacă fișierele sunt mari.",
|
||||
"Name" => "Nume",
|
||||
"Size" => "Dimensiune",
|
||||
"Modified" => "Modificat",
|
||||
|
@ -51,25 +52,25 @@ $TRANSLATIONS = array(
|
|||
"File handling" => "Manipulare fișiere",
|
||||
"Maximum upload size" => "Dimensiune maximă admisă la încărcare",
|
||||
"max. possible: " => "max. posibil:",
|
||||
"Needed for multi-file and folder downloads." => "Necesar pentru descărcarea mai multor fișiere și a dosarelor",
|
||||
"Enable ZIP-download" => "Activează descărcare fișiere compresate",
|
||||
"Needed for multi-file and folder downloads." => "necesar la descarcarea mai multor liste si fisiere",
|
||||
"Enable ZIP-download" => "permite descarcarea codurilor ZIP",
|
||||
"0 is unlimited" => "0 e nelimitat",
|
||||
"Maximum input size for ZIP files" => "Dimensiunea maximă de intrare pentru fișiere compresate",
|
||||
"Save" => "Salvează",
|
||||
"New" => "Nou",
|
||||
"Text file" => "Fișier text",
|
||||
"Text file" => "lista",
|
||||
"Folder" => "Dosar",
|
||||
"From link" => "de la adresa",
|
||||
"Deleted files" => "Sterge fisierele",
|
||||
"Cancel upload" => "Anulează încărcarea",
|
||||
"You don’t have write permissions here." => "Nu ai permisiunea de a sterge fisiere aici.",
|
||||
"You don’t have write permissions here." => "Nu ai permisiunea de a scrie aici.",
|
||||
"Nothing in here. Upload something!" => "Nimic aici. Încarcă ceva!",
|
||||
"Download" => "Descarcă",
|
||||
"Unshare" => "Anulare partajare",
|
||||
"Unshare" => "Anulare",
|
||||
"Delete" => "Șterge",
|
||||
"Upload too large" => "Fișierul încărcat este prea mare",
|
||||
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Fișierul care l-ai încărcat a depășită limita maximă admisă la încărcare pe acest server.",
|
||||
"Files are being scanned, please wait." => "Fișierele sunt scanate, te rog așteptă.",
|
||||
"Files are being scanned, please wait." => "Fișierele sunt scanate, asteptati va rog",
|
||||
"Current scanning" => "În curs de scanare",
|
||||
"Upgrading filesystem cache..." => "Modernizare fisiere de sistem cache.."
|
||||
);
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
$TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "%s nuk u spostua - Aty ekziston një skedar me të njëjtin emër",
|
||||
"Could not move %s" => "%s nuk u spostua",
|
||||
"Unable to set upload directory." => "Nuk është i mundur caktimi i dosjes së ngarkimit.",
|
||||
"Invalid Token" => "Përmbajtje e pavlefshme",
|
||||
"No file was uploaded. Unknown error" => "Nuk u ngarkua asnjë skedar. Veprim i gabuar i panjohur",
|
||||
"There is no error, the file uploaded with success" => "Nuk pati veprime të gabuara, skedari u ngarkua me sukses",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Skedari i ngarkuar tejkalon udhëzimin upload_max_filesize tek php.ini:",
|
||||
|
@ -11,6 +13,7 @@ $TRANSLATIONS = array(
|
|||
"Missing a temporary folder" => "Një dosje e përkohshme nuk u gjet",
|
||||
"Failed to write to disk" => "Ruajtja në disk dështoi",
|
||||
"Not enough storage available" => "Nuk ka mbetur hapësirë memorizimi e mjaftueshme",
|
||||
"Upload failed" => "Ngarkimi dështoi",
|
||||
"Invalid directory." => "Dosje e pavlefshme.",
|
||||
"Files" => "Skedarët",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Nuk është i mundur ngarkimi i skedarit tuaj sepse është dosje ose ka dimension 0 byte",
|
||||
|
@ -18,6 +21,7 @@ $TRANSLATIONS = array(
|
|||
"Upload cancelled." => "Ngarkimi u anulua.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Ngarkimi i skedarit është në vazhdim. Nqse ndërroni faqen tani ngarkimi do të anulohet.",
|
||||
"URL cannot be empty." => "URL-i nuk mund të jetë bosh.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "Emri i dosjes është i pavlefshëm. Përdorimi i \"Shared\" është i rezervuar nga Owncloud-i",
|
||||
"Error" => "Veprim i gabuar",
|
||||
"Share" => "Nda",
|
||||
"Delete permanently" => "Elimino përfundimisht",
|
||||
|
@ -29,19 +33,22 @@ $TRANSLATIONS = array(
|
|||
"cancel" => "anulo",
|
||||
"replaced {new_name} with {old_name}" => "U zëvëndësua {new_name} me {old_name}",
|
||||
"undo" => "anulo",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("",""),
|
||||
"_%n folder_::_%n folders_" => array("%n dosje","%n dosje"),
|
||||
"_%n file_::_%n files_" => array("%n skedar","%n skedarë"),
|
||||
"{dirs} and {files}" => "{dirs} dhe {files}",
|
||||
"_Uploading %n file_::_Uploading %n files_" => array("Po ngarkoj %n skedar","Po ngarkoj %n skedarë"),
|
||||
"files uploading" => "po ngarkoj skedarët",
|
||||
"'.' is an invalid file name." => "'.' është emër i pavlefshëm.",
|
||||
"File name cannot be empty." => "Emri i skedarit nuk mund të jetë bosh.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Emër i pavlefshëm, '\\', '/', '<', '>', ':', '\"', '|', '?' dhe '*' nuk lejohen.",
|
||||
"Your storage is full, files can not be updated or synced anymore!" => "Hapësira juaj e memorizimit është plot, nuk mund të ngarkoni apo sinkronizoni më skedarët.",
|
||||
"Your storage is almost full ({usedSpacePercent}%)" => "Hapësira juaj e memorizimit është gati plot ({usedSpacePercent}%)",
|
||||
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Kodifikimi u çaktivizua por skedarët tuaj vazhdojnë të jenë të kodifikuar. Ju lutem shkoni tek parametrat personale për të dekodifikuar skedarët tuaj.",
|
||||
"Your download is being prepared. This might take some time if the files are big." => "Shkarkimi juaj po përgatitet. Mund të duhet pak kohë nqse skedarët janë të mëdhenj.",
|
||||
"Name" => "Emri",
|
||||
"Size" => "Dimensioni",
|
||||
"Modified" => "Modifikuar",
|
||||
"%s could not be renamed" => "Nuk është i mundur riemërtimi i %s",
|
||||
"Upload" => "Ngarko",
|
||||
"File handling" => "Trajtimi i skedarit",
|
||||
"Maximum upload size" => "Dimensioni maksimal i ngarkimit",
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
$TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Не вдалося перемістити %s - Файл з таким ім'ям вже існує",
|
||||
"Could not move %s" => "Не вдалося перемістити %s",
|
||||
"Unable to set upload directory." => "Не вдалося встановити каталог завантаження.",
|
||||
"No file was uploaded. Unknown error" => "Не завантажено жодного файлу. Невідома помилка",
|
||||
"There is no error, the file uploaded with success" => "Файл успішно вивантажено без помилок.",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Розмір звантаження перевищує upload_max_filesize параметра в php.ini: ",
|
||||
|
|
|
@ -10,6 +10,8 @@ $TRANSLATIONS = array(
|
|||
"Could not update the private key password. Maybe the old password was not correct." => "No se pudo cambiar la contraseña. Puede que la contraseña antigua no sea correcta.",
|
||||
"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "¡Su clave privada no es válida! Tal vez su contraseña ha sido cambiada desde fuera. Puede actualizar su clave privada en sus opciones personales para recuperar el acceso a sus ficheros.",
|
||||
"Missing requirements." => "Requisitos incompletos.",
|
||||
"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Por favor, asegúrese de que PHP 5.3.3 o posterior está instalado y que la extensión OpenSSL de PHP está habilitada y configurada correctamente. Por el momento, la aplicación de cifrado ha sido deshabilitada.",
|
||||
"Following users are not set up for encryption:" => "Los siguientes usuarios no han sido configurados para el cifrado:",
|
||||
"Saving..." => "Guardando...",
|
||||
"Your private key is not valid! Maybe the your password was changed from outside." => "¡Su clave privada no es válida! Tal vez su contraseña ha sido cambiada desde fuera.",
|
||||
"You can unlock your private key in your " => "Puede desbloquear su clave privada en su",
|
||||
|
|
|
@ -10,6 +10,8 @@ $TRANSLATIONS = array(
|
|||
"Could not update the private key password. Maybe the old password was not correct." => "No fue posible actualizar la contraseña de clave privada. Tal vez la contraseña anterior no es correcta.",
|
||||
"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "¡Tu clave privada no es válida! Tal vez tu contraseña fue cambiada desde fuera del sistema de ownCloud (por ej. desde tu cuenta de sistema). Podés actualizar tu clave privada en la sección de \"configuración personal\", para recuperar el acceso a tus archivos.",
|
||||
"Missing requirements." => "Requisitos incompletos.",
|
||||
"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Por favor, asegúrese de que PHP 5.3.3 o una versión más reciente esté instalado y que OpenSSL junto con la extensión PHP esté habilitado y configurado apropiadamente. Por ahora, la aplicación de encriptación ha sido deshabilitada.",
|
||||
"Following users are not set up for encryption:" => "Los siguientes usuarios no fueron configurados para encriptar:",
|
||||
"Saving..." => "Guardando...",
|
||||
"Your private key is not valid! Maybe the your password was changed from outside." => "¡Tu clave privada no es válida! Tal vez tu contraseña fue cambiada desde afuera.",
|
||||
"You can unlock your private key in your " => "Podés desbloquear tu clave privada en tu",
|
||||
|
|
|
@ -1,11 +1,21 @@
|
|||
<?php
|
||||
$TRANSLATIONS = array(
|
||||
"Recovery key successfully enabled" => "Palautusavain kytketty päälle onnistuneesti",
|
||||
"Password successfully changed." => "Salasana vaihdettiin onnistuneesti.",
|
||||
"Could not change the password. Maybe the old password was not correct." => "Salasanan vaihto epäonnistui. Kenties vanha salasana oli väärin.",
|
||||
"Following users are not set up for encryption:" => "Seuraavat käyttäjät eivät ole määrittäneet salausta:",
|
||||
"Saving..." => "Tallennetaan...",
|
||||
"personal settings" => "henkilökohtaiset asetukset",
|
||||
"Encryption" => "Salaus",
|
||||
"Recovery key password" => "Palautusavaimen salasana",
|
||||
"Enabled" => "Käytössä",
|
||||
"Disabled" => "Ei käytössä",
|
||||
"Change Password" => "Vaihda salasana"
|
||||
"Change recovery key password:" => "Vaihda palautusavaimen salasana:",
|
||||
"Old Recovery key password" => "Vanha palautusavaimen salasana",
|
||||
"New Recovery key password" => "Uusi palautusavaimen salasana",
|
||||
"Change Password" => "Vaihda salasana",
|
||||
"Old log-in password" => "Vanha kirjautumis-salasana",
|
||||
"Current log-in password" => "Nykyinen kirjautumis-salasana",
|
||||
"Enable password recovery:" => "Ota salasanan palautus käyttöön:"
|
||||
);
|
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
$TRANSLATIONS = array(
|
||||
"Saving..." => "Lagrar …"
|
||||
"Saving..." => "Lagrar …",
|
||||
"Encryption" => "Kryptering"
|
||||
);
|
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
|
||||
|
|
|
@ -220,22 +220,10 @@ class Keymanager {
|
|||
*/
|
||||
public static function getFileKey(\OC_FilesystemView $view, $userId, $filePath) {
|
||||
|
||||
// try reusing key file if part file
|
||||
if (self::isPartialFilePath($filePath)) {
|
||||
|
||||
$result = self::getFileKey($view, $userId, self::fixPartialFilePath($filePath));
|
||||
|
||||
if ($result) {
|
||||
|
||||
return $result;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$util = new Util($view, \OCP\User::getUser());
|
||||
|
||||
list($owner, $filename) = $util->getUidAndFilename($filePath);
|
||||
$filename = self::fixPartialFilePath($filename);
|
||||
$filePath_f = ltrim($filename, '/');
|
||||
|
||||
// in case of system wide mount points the keys are stored directly in the data directory
|
||||
|
@ -424,18 +412,6 @@ class Keymanager {
|
|||
public static function getShareKey(\OC_FilesystemView $view, $userId, $filePath) {
|
||||
|
||||
// try reusing key file if part file
|
||||
if (self::isPartialFilePath($filePath)) {
|
||||
|
||||
$result = self::getShareKey($view, $userId, self::fixPartialFilePath($filePath));
|
||||
|
||||
if ($result) {
|
||||
|
||||
return $result;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$proxyStatus = \OC_FileProxy::$enabled;
|
||||
\OC_FileProxy::$enabled = false;
|
||||
|
||||
|
@ -443,7 +419,7 @@ class Keymanager {
|
|||
$util = new Util($view, \OCP\User::getUser());
|
||||
|
||||
list($owner, $filename) = $util->getUidAndFilename($filePath);
|
||||
|
||||
$filename = self::fixPartialFilePath($filename);
|
||||
// in case of system wide mount points the keys are stored directly in the data directory
|
||||
if ($util->isSystemWideMountPoint($filename)) {
|
||||
$shareKeyPath = '/files_encryption/share-keys/' . $filename . '.' . $userId . '.shareKey';
|
||||
|
|
|
@ -81,7 +81,7 @@ class Stream {
|
|||
* @return bool
|
||||
*/
|
||||
public function stream_open($path, $mode, $options, &$opened_path) {
|
||||
|
||||
|
||||
// assume that the file already exist before we decide it finally in getKey()
|
||||
$this->newFile = false;
|
||||
|
||||
|
@ -106,12 +106,12 @@ class Stream {
|
|||
if ($this->relPath === false) {
|
||||
$this->relPath = Helper::getPathToRealFile($this->rawPath);
|
||||
}
|
||||
|
||||
|
||||
if($this->relPath === false) {
|
||||
\OCP\Util::writeLog('Encryption library', 'failed to open file "' . $this->rawPath . '" expecting a path to user/files or to user/files_versions', \OCP\Util::ERROR);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Disable fileproxies so we can get the file size and open the source file without recursive encryption
|
||||
$proxyStatus = \OC_FileProxy::$enabled;
|
||||
\OC_FileProxy::$enabled = false;
|
||||
|
@ -188,7 +188,7 @@ class Stream {
|
|||
}
|
||||
|
||||
// Get the data from the file handle
|
||||
$data = fread($this->handle, 8192);
|
||||
$data = fread($this->handle, $count);
|
||||
|
||||
$result = null;
|
||||
|
||||
|
@ -272,7 +272,7 @@ class Stream {
|
|||
} else {
|
||||
|
||||
$this->newFile = true;
|
||||
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
@ -296,9 +296,9 @@ class Stream {
|
|||
return strlen($data);
|
||||
}
|
||||
|
||||
// Disable the file proxies so that encryption is not
|
||||
// automatically attempted when the file is written to disk -
|
||||
// we are handling that separately here and we don't want to
|
||||
// Disable the file proxies so that encryption is not
|
||||
// automatically attempted when the file is written to disk -
|
||||
// we are handling that separately here and we don't want to
|
||||
// get into an infinite loop
|
||||
$proxyStatus = \OC_FileProxy::$enabled;
|
||||
\OC_FileProxy::$enabled = false;
|
||||
|
@ -311,7 +311,7 @@ class Stream {
|
|||
$pointer = ftell($this->handle);
|
||||
|
||||
// Get / generate the keyfile for the file we're handling
|
||||
// If we're writing a new file (not overwriting an existing
|
||||
// If we're writing a new file (not overwriting an existing
|
||||
// one), save the newly generated keyfile
|
||||
if (!$this->getKey()) {
|
||||
|
||||
|
@ -319,7 +319,7 @@ class Stream {
|
|||
|
||||
}
|
||||
|
||||
// If extra data is left over from the last round, make sure it
|
||||
// If extra data is left over from the last round, make sure it
|
||||
// is integrated into the next 6126 / 8192 block
|
||||
if ($this->writeCache) {
|
||||
|
||||
|
@ -344,12 +344,12 @@ class Stream {
|
|||
if ($remainingLength < 6126) {
|
||||
|
||||
// Set writeCache to contents of $data
|
||||
// The writeCache will be carried over to the
|
||||
// next write round, and added to the start of
|
||||
// $data to ensure that written blocks are
|
||||
// always the correct length. If there is still
|
||||
// data in writeCache after the writing round
|
||||
// has finished, then the data will be written
|
||||
// The writeCache will be carried over to the
|
||||
// next write round, and added to the start of
|
||||
// $data to ensure that written blocks are
|
||||
// always the correct length. If there is still
|
||||
// data in writeCache after the writing round
|
||||
// has finished, then the data will be written
|
||||
// to disk by $this->flush().
|
||||
$this->writeCache = $data;
|
||||
|
||||
|
@ -363,7 +363,7 @@ class Stream {
|
|||
|
||||
$encrypted = $this->preWriteEncrypt($chunk, $this->plainKey);
|
||||
|
||||
// Write the data chunk to disk. This will be
|
||||
// Write the data chunk to disk. This will be
|
||||
// attended to the last data chunk if the file
|
||||
// being handled totals more than 6126 bytes
|
||||
fwrite($this->handle, $encrypted);
|
||||
|
@ -488,6 +488,7 @@ class Stream {
|
|||
$this->meta['mode'] !== 'rb' &&
|
||||
$this->size > 0
|
||||
) {
|
||||
|
||||
// only write keyfiles if it was a new file
|
||||
if ($this->newFile === true) {
|
||||
|
||||
|
@ -535,6 +536,7 @@ class Stream {
|
|||
|
||||
// set fileinfo
|
||||
$this->rootView->putFileInfo($this->rawPath, $fileInfo);
|
||||
|
||||
}
|
||||
|
||||
return fclose($this->handle);
|
||||
|
|
|
@ -508,10 +508,11 @@ class Util {
|
|||
|
||||
// get the size from filesystem
|
||||
$fullPath = $this->view->getLocalFile($path);
|
||||
$size = filesize($fullPath);
|
||||
$size = $this->view->filesize($path);
|
||||
|
||||
// calculate last chunk nr
|
||||
$lastChunkNr = floor($size / 8192);
|
||||
$lastChunkSize = $size - ($lastChunkNr * 8192);
|
||||
|
||||
// open stream
|
||||
$stream = fopen('crypt://' . $path, "r");
|
||||
|
@ -524,7 +525,7 @@ class Util {
|
|||
fseek($stream, $lastChunckPos);
|
||||
|
||||
// get the content of the last chunk
|
||||
$lastChunkContent = fread($stream, 8192);
|
||||
$lastChunkContent = fread($stream, $lastChunkSize);
|
||||
|
||||
// calc the real file size with the size of the last chunk
|
||||
$realSize = (($lastChunkNr * 6126) + strlen($lastChunkContent));
|
||||
|
@ -1136,6 +1137,11 @@ class Util {
|
|||
// Make sure that a share key is generated for the owner too
|
||||
list($owner, $ownerPath) = $this->getUidAndFilename($filePath);
|
||||
|
||||
$pathinfo = pathinfo($ownerPath);
|
||||
if(array_key_exists('extension', $pathinfo) && $pathinfo['extension'] === 'part') {
|
||||
$ownerPath = $pathinfo['dirname'] . '/' . $pathinfo['filename'];
|
||||
}
|
||||
|
||||
$userIds = array();
|
||||
if ($sharingEnabled) {
|
||||
|
||||
|
@ -1289,8 +1295,25 @@ class Util {
|
|||
*/
|
||||
public function getUidAndFilename($path) {
|
||||
|
||||
$pathinfo = pathinfo($path);
|
||||
$partfile = false;
|
||||
$parentFolder = false;
|
||||
if (array_key_exists('extension', $pathinfo) && $pathinfo['extension'] === 'part') {
|
||||
// if the real file exists we check this file
|
||||
$filePath = $this->userFilesDir . '/' .$pathinfo['dirname'] . '/' . $pathinfo['filename'];
|
||||
if ($this->view->file_exists($filePath)) {
|
||||
$pathToCheck = $pathinfo['dirname'] . '/' . $pathinfo['filename'];
|
||||
} else { // otherwise we look for the parent
|
||||
$pathToCheck = $pathinfo['dirname'];
|
||||
$parentFolder = true;
|
||||
}
|
||||
$partfile = true;
|
||||
} else {
|
||||
$pathToCheck = $path;
|
||||
}
|
||||
|
||||
$view = new \OC\Files\View($this->userFilesDir);
|
||||
$fileOwnerUid = $view->getOwner($path);
|
||||
$fileOwnerUid = $view->getOwner($pathToCheck);
|
||||
|
||||
// handle public access
|
||||
if ($this->isPublic) {
|
||||
|
@ -1319,12 +1342,18 @@ class Util {
|
|||
$filename = $path;
|
||||
|
||||
} else {
|
||||
|
||||
$info = $view->getFileInfo($path);
|
||||
$info = $view->getFileInfo($pathToCheck);
|
||||
$ownerView = new \OC\Files\View('/' . $fileOwnerUid . '/files');
|
||||
|
||||
// Fetch real file path from DB
|
||||
$filename = $ownerView->getPath($info['fileid']); // TODO: Check that this returns a path without including the user data dir
|
||||
$filename = $ownerView->getPath($info['fileid']);
|
||||
if ($parentFolder) {
|
||||
$filename = $filename . '/'. $pathinfo['filename'];
|
||||
}
|
||||
|
||||
if ($partfile) {
|
||||
$filename = $filename . '.' . $pathinfo['extension'];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -1333,10 +1362,9 @@ class Util {
|
|||
\OC_Filesystem::normalizePath($filename)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief go recursively through a dir and collect all files and sub files.
|
||||
* @param string $dir relative to the users files folder
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
<?php
|
||||
require_once("autoload.inc.php");
|
||||
require_once("ProdsConfig.inc.php");
|
||||
?>
|
|
@ -15,5 +15,3 @@ if (file_exists(__DIR__ . "/prods.ini")) {
|
|||
else {
|
||||
$GLOBALS['PRODS_CONFIG'] = array();
|
||||
}
|
||||
|
||||
?>
|
|
@ -279,5 +279,3 @@ abstract class ProdsPath
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -103,5 +103,3 @@ class ProdsQuery
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -58,5 +58,3 @@ class ProdsRule
|
|||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -432,5 +432,3 @@ stream_wrapper_register('rods', 'ProdsStreamer')
|
|||
or die ('Failed to register protocol:rods');
|
||||
stream_wrapper_register('rods+ticket', 'ProdsStreamer')
|
||||
or die ('Failed to register protocol:rods');
|
||||
?>
|
||||
|
||||
|
|
|
@ -199,5 +199,3 @@ class RODSAccount
|
|||
return $dir->toURI();
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -1611,5 +1611,3 @@ class RODSConn
|
|||
return $results;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -77,5 +77,3 @@ class RODSConnManager
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -180,5 +180,3 @@ class RODSException extends Exception
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -110,5 +110,3 @@ class RODSGenQueConds
|
|||
return $this->cond;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -95,5 +95,3 @@ class RODSGenQueResults
|
|||
return $this->numrow;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -156,5 +156,3 @@ class RODSGenQueSelFlds
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -46,5 +46,3 @@ class RODSKeyValPair
|
|||
return $new_keyval;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -181,5 +181,3 @@ class RODSMessage
|
|||
return $rods_msg->pack();
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -17,4 +17,3 @@ define ("RSYNC_OPR", 14);
|
|||
define ("PHYMV_OPR", 15);
|
||||
define ("PHYMV_SRC", 16);
|
||||
define ("PHYMV_DEST", 17);
|
||||
?>
|
|
@ -214,4 +214,3 @@ $GLOBALS['PRODS_API_NUMS_REV'] = array(
|
|||
'1100' => 'SSL_START_AN',
|
||||
'1101' => 'SSL_END_AN',
|
||||
);
|
||||
?>
|
||||
|
|
|
@ -4,5 +4,3 @@
|
|||
// are doing!
|
||||
define ("ORDER_BY", 0x400);
|
||||
define ("ORDER_BY_DESC", 0x800);
|
||||
|
||||
?>
|
|
@ -584,4 +584,3 @@ $GLOBALS['PRODS_ERR_CODES_REV'] = array(
|
|||
'-993000' => 'PAM_AUTH_PASSWORD_FAILED',
|
||||
'-994000' => 'PAM_AUTH_PASSWORD_INVALID_TTL',
|
||||
);
|
||||
?>
|
||||
|
|
|
@ -222,4 +222,3 @@ $GLOBALS['PRODS_GENQUE_KEYWD_REV'] = array(
|
|||
"lastExeTime" => 'RULE_LAST_EXE_TIME_KW',
|
||||
"exeStatus" => 'RULE_EXE_STATUS_KW',
|
||||
);
|
||||
?>
|
||||
|
|
|
@ -232,4 +232,3 @@ $GLOBALS['PRODS_GENQUE_NUMS_REV'] = array(
|
|||
'1105' => 'COL_TOKEN_VALUE3',
|
||||
'1106' => 'COL_TOKEN_COMMENT',
|
||||
);
|
||||
?>
|
||||
|
|
|
@ -246,5 +246,3 @@ class RODSPacket
|
|||
}
|
||||
*/
|
||||
}
|
||||
|
||||
?>
|
|
@ -10,5 +10,3 @@ class RP_BinBytesBuf extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -15,5 +15,3 @@ class RP_CollInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -13,5 +13,3 @@ class RP_CollOprStat extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -15,5 +15,3 @@ class RP_DataObjCopyInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -18,5 +18,3 @@ class RP_DataObjInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -52,5 +52,3 @@ class RP_ExecCmdOut extends RODSPacket
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -18,5 +18,3 @@ class RP_ExecMyRuleInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -21,5 +21,3 @@ class RP_GenQueryInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -18,5 +18,3 @@ class RP_GenQueryOut extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -23,5 +23,3 @@ class RP_InxIvalPair extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -40,5 +40,3 @@ class RP_InxValPair extends RODSPacket
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -43,5 +43,3 @@ class RP_KeyValPair extends RODSPacket
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -13,5 +13,3 @@ class RP_MiscSvrInfo extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -14,5 +14,3 @@ class RP_ModAVUMetadataInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -41,5 +41,3 @@ class RP_MsParam extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -17,5 +17,3 @@ class RP_MsParamArray extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -12,6 +12,3 @@ class RP_MsgHeader extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -11,5 +11,3 @@ class RP_RHostAddr extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -16,5 +16,3 @@ class RP_RodsObjStat extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -10,5 +10,3 @@ class RP_STR extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -11,5 +11,3 @@ class RP_SqlResult extends RODSPacket
|
|||
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -14,5 +14,3 @@ class RP_StartupPack extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -12,5 +12,3 @@ class RP_TransStat extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -12,5 +12,3 @@ class RP_Version extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -10,5 +10,3 @@ class RP_authRequestOut extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -10,5 +10,3 @@ class RP_authResponseInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -12,5 +12,3 @@ class RP_dataObjCloseInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -12,5 +12,3 @@ class RP_dataObjReadInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -12,5 +12,3 @@ class RP_dataObjWriteInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -12,5 +12,3 @@ class RP_fileLseekInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -11,5 +11,3 @@ class RP_fileLseekOut extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -10,5 +10,3 @@ class RP_getTempPasswordOut extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -10,4 +10,3 @@ class RP_pamAuthRequestInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -10,4 +10,3 @@ class RP_pamAuthRequestOut extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -10,4 +10,3 @@ class RP_sslEndInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -10,4 +10,3 @@ class RP_sslStartInp extends RODSPacket
|
|||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -66,5 +66,3 @@ $outputstr = $outputstr . ");\n";
|
|||
|
||||
$outputstr = $outputstr . "?>\n";
|
||||
file_put_contents($prods_api_num_file, $outputstr);
|
||||
|
||||
?>
|
||||
|
|
|
@ -71,5 +71,3 @@ $outputstr = $outputstr . ");\n";
|
|||
|
||||
$outputstr = $outputstr . "?>\n";
|
||||
file_put_contents($prods_error_table_file, $outputstr);
|
||||
|
||||
?>
|
|
@ -69,5 +69,3 @@ $outputstr = $outputstr . ");\n";
|
|||
|
||||
$outputstr = $outputstr . "?>\n";
|
||||
file_put_contents($prods_genque_keywd_file, $outputstr);
|
||||
|
||||
?>
|
|
@ -59,5 +59,3 @@ $outputstr = $outputstr . ");\n";
|
|||
|
||||
$outputstr = $outputstr . "?>\n";
|
||||
file_put_contents($prods_genque_num_file, $outputstr);
|
||||
|
||||
?>
|
|
@ -27,12 +27,12 @@ class iRODS extends \OC\Files\Storage\StreamWrapper{
|
|||
private $auth_mode;
|
||||
|
||||
public function __construct($params) {
|
||||
if (isset($params['host']) && isset($params['user']) && isset($params['password'])) {
|
||||
if (isset($params['host'])) {
|
||||
$this->host = $params['host'];
|
||||
$this->port = $params['port'];
|
||||
$this->user = $params['user'];
|
||||
$this->password = $params['password'];
|
||||
$this->use_logon_credentials = $params['use_logon_credentials'];
|
||||
$this->port = isset($params['port']) ? $params['port'] : 1247;
|
||||
$this->user = isset($params['user']) ? $params['user'] : '';
|
||||
$this->password = isset($params['password']) ? $params['password'] : '';
|
||||
$this->use_logon_credentials = ($params['use_logon_credentials'] === 'true');
|
||||
$this->zone = $params['zone'];
|
||||
$this->auth_mode = isset($params['auth_mode']) ? $params['auth_mode'] : '';
|
||||
|
||||
|
@ -42,10 +42,11 @@ class iRODS extends \OC\Files\Storage\StreamWrapper{
|
|||
}
|
||||
|
||||
// take user and password from the session
|
||||
if ($this->use_logon_credentials && isset($_SESSION['irods-credentials']) )
|
||||
if ($this->use_logon_credentials && \OC::$session->exists('irods-credentials'))
|
||||
{
|
||||
$this->user = $_SESSION['irods-credentials']['uid'];
|
||||
$this->password = $_SESSION['irods-credentials']['password'];
|
||||
$params = \OC::$session->get('irods-credentials');
|
||||
$this->user = $params['uid'];
|
||||
$this->password = $params['password'];
|
||||
}
|
||||
|
||||
//create the root folder if necessary
|
||||
|
@ -59,7 +60,7 @@ class iRODS extends \OC\Files\Storage\StreamWrapper{
|
|||
}
|
||||
|
||||
public static function login( $params ) {
|
||||
$_SESSION['irods-credentials'] = $params;
|
||||
\OC::$session->set('irods-credentials', $params);
|
||||
}
|
||||
|
||||
public function getId(){
|
||||
|
|
|
@ -3,7 +3,7 @@ $TRANSLATIONS = array(
|
|||
"The password is wrong. Try again." => "La contraseña introducida es errónea. Inténtelo de nuevo.",
|
||||
"Password" => "Contraseña",
|
||||
"Submit" => "Enviar",
|
||||
"Sorry, this link doesn’t seem to work anymore." => "Este enlace parece no funcionar más.",
|
||||
"Sorry, this link doesn’t seem to work anymore." => "Vaya, este enlace parece que no volverá a funcionar.",
|
||||
"Reasons might be:" => "Las causas podrían ser:",
|
||||
"the item was removed" => "el elemento fue eliminado",
|
||||
"the link expired" => "el enlace expiró",
|
||||
|
|
|
@ -3,6 +3,12 @@ $TRANSLATIONS = array(
|
|||
"The password is wrong. Try again." => "La contraseña no es correcta. Probá de nuevo.",
|
||||
"Password" => "Contraseña",
|
||||
"Submit" => "Enviar",
|
||||
"Sorry, this link doesn’t seem to work anymore." => "Perdón, este enlace parece no funcionar más.",
|
||||
"Reasons might be:" => "Las causas podrían ser:",
|
||||
"the item was removed" => "el elemento fue borrado",
|
||||
"the link expired" => "el enlace expiró",
|
||||
"sharing is disabled" => "compartir está desactivado",
|
||||
"For more info, please ask the person who sent this link." => "Para mayor información, contactá a la persona que te mandó el enlace.",
|
||||
"%s shared the folder %s with you" => "%s compartió la carpeta %s con vos",
|
||||
"%s shared the file %s with you" => "%s compartió el archivo %s con vos",
|
||||
"Download" => "Descargar",
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
<?php
|
||||
$TRANSLATIONS = array(
|
||||
"The password is wrong. Try again." => "Passordet er gale. Prøv igjen.",
|
||||
"Password" => "Passord",
|
||||
"Submit" => "Send",
|
||||
"Sorry, this link doesn’t seem to work anymore." => "Orsak, denne lenkja fungerer visst ikkje lenger.",
|
||||
"Reasons might be:" => "Moglege grunnar:",
|
||||
"the item was removed" => "fila/mappa er fjerna",
|
||||
"the link expired" => "lenkja har gått ut på dato",
|
||||
"sharing is disabled" => "deling er slått av",
|
||||
"For more info, please ask the person who sent this link." => "Spør den som sende deg lenkje om du vil ha meir informasjon.",
|
||||
"%s shared the folder %s with you" => "%s delte mappa %s med deg",
|
||||
"%s shared the file %s with you" => "%s delte fila %s med deg",
|
||||
"Download" => "Last ned",
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
<?php
|
||||
$TRANSLATIONS = array(
|
||||
"The password is wrong. Try again." => "Kodi është i gabuar. Provojeni përsëri.",
|
||||
"Password" => "Kodi",
|
||||
"Submit" => "Parashtro",
|
||||
"Sorry, this link doesn’t seem to work anymore." => "Ju kërkojmë ndjesë, kjo lidhje duket sikur nuk punon më.",
|
||||
"Reasons might be:" => "Arsyet mund të jenë:",
|
||||
"the item was removed" => "elementi është eliminuar",
|
||||
"the link expired" => "lidhja ka skaduar",
|
||||
"sharing is disabled" => "ndarja është çaktivizuar",
|
||||
"For more info, please ask the person who sent this link." => "Për më shumë informacione, ju lutem pyesni personin që iu dërgoi këtë lidhje.",
|
||||
"%s shared the folder %s with you" => "%s ndau me ju dosjen %s",
|
||||
"%s shared the file %s with you" => "%s ndau me ju skedarin %s",
|
||||
"Download" => "Shkarko",
|
||||
|
|
|
@ -8,8 +8,8 @@ $TRANSLATIONS = array(
|
|||
"Delete permanently" => "Eliminar permanentemente",
|
||||
"Name" => "Nombre",
|
||||
"Deleted" => "Eliminado",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_%n folder_::_%n folders_" => array("%n carpeta","%n carpetas"),
|
||||
"_%n file_::_%n files_" => array("%n archivo","%n archivos"),
|
||||
"restored" => "recuperado",
|
||||
"Nothing in here. Your trash bin is empty!" => "No hay nada aquí. ¡Tu papelera esta vacía!",
|
||||
"Restore" => "Recuperar",
|
||||
|
|
|
@ -8,8 +8,9 @@ $TRANSLATIONS = array(
|
|||
"Delete permanently" => "Borrar de manera permanente",
|
||||
"Name" => "Nombre",
|
||||
"Deleted" => "Borrado",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_%n folder_::_%n folders_" => array("%n directorio","%n directorios"),
|
||||
"_%n file_::_%n files_" => array("%n archivo","%n archivos"),
|
||||
"restored" => "recuperado",
|
||||
"Nothing in here. Your trash bin is empty!" => "No hay nada acá. ¡La papelera está vacía!",
|
||||
"Restore" => "Recuperar",
|
||||
"Delete" => "Borrar",
|
||||
|
|
|
@ -8,8 +8,9 @@ $TRANSLATIONS = array(
|
|||
"Delete permanently" => "Slett for godt",
|
||||
"Name" => "Namn",
|
||||
"Deleted" => "Sletta",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_%n folder_::_%n folders_" => array("%n mappe","%n mapper"),
|
||||
"_%n file_::_%n files_" => array("%n fil","%n filer"),
|
||||
"restored" => "gjenoppretta",
|
||||
"Nothing in here. Your trash bin is empty!" => "Ingenting her. Papirkorga di er tom!",
|
||||
"Restore" => "Gjenopprett",
|
||||
"Delete" => "Slett",
|
||||
|
|
|
@ -8,8 +8,8 @@ $TRANSLATIONS = array(
|
|||
"Delete permanently" => "Trwale usuń",
|
||||
"Name" => "Nazwa",
|
||||
"Deleted" => "Usunięte",
|
||||
"_%n folder_::_%n folders_" => array("","",""),
|
||||
"_%n file_::_%n files_" => array("","",""),
|
||||
"_%n folder_::_%n folders_" => array("","","%n katalogów"),
|
||||
"_%n file_::_%n files_" => array("","","%n plików"),
|
||||
"restored" => "przywrócony",
|
||||
"Nothing in here. Your trash bin is empty!" => "Nic tu nie ma. Twój kosz jest pusty!",
|
||||
"Restore" => "Przywróć",
|
||||
|
|
|
@ -8,8 +8,8 @@ $TRANSLATIONS = array(
|
|||
"Delete permanently" => "Excluir permanentemente",
|
||||
"Name" => "Nome",
|
||||
"Deleted" => "Excluído",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_%n folder_::_%n folders_" => array("","%n pastas"),
|
||||
"_%n file_::_%n files_" => array("%n arquivo","%n arquivos"),
|
||||
"restored" => "restaurado",
|
||||
"Nothing in here. Your trash bin is empty!" => "Nada aqui. Sua lixeira está vazia!",
|
||||
"Restore" => "Restaurar",
|
||||
|
|
|
@ -8,8 +8,9 @@ $TRANSLATIONS = array(
|
|||
"Delete permanently" => "Elimino përfundimisht",
|
||||
"Name" => "Emri",
|
||||
"Deleted" => "Eliminuar",
|
||||
"_%n folder_::_%n folders_" => array("",""),
|
||||
"_%n file_::_%n files_" => array("",""),
|
||||
"_%n folder_::_%n folders_" => array("%n dosje","%n dosje"),
|
||||
"_%n file_::_%n files_" => array("%n skedar","%n skedarë"),
|
||||
"restored" => "rivendosur",
|
||||
"Nothing in here. Your trash bin is empty!" => "Këtu nuk ka asgjë. Koshi juaj është bosh!",
|
||||
"Restore" => "Rivendos",
|
||||
"Delete" => "Elimino",
|
||||
|
|
|
@ -3,7 +3,7 @@ $TRANSLATIONS = array(
|
|||
"Could not revert: %s" => "No se puede revertir: %s",
|
||||
"Versions" => "Revisiones",
|
||||
"Failed to revert {file} to revision {timestamp}." => "No se ha podido revertir {archivo} a revisión {timestamp}.",
|
||||
"More versions..." => "Más...",
|
||||
"More versions..." => "Más versiones...",
|
||||
"No other versions available" => "No hay otras versiones disponibles",
|
||||
"Restore" => "Recuperar"
|
||||
);
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
$TRANSLATIONS = array(
|
||||
"Could not revert: %s" => "No se pudo revertir: %s ",
|
||||
"Versions" => "Versiones",
|
||||
"Failed to revert {file} to revision {timestamp}." => "Falló al revertir {file} a la revisión {timestamp}.",
|
||||
"More versions..." => "Más versiones...",
|
||||
"No other versions available" => "No hay más versiones disponibles",
|
||||
"Restore" => "Recuperar"
|
||||
);
|
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
$TRANSLATIONS = array(
|
||||
"Could not revert: %s" => "Klarte ikkje å tilbakestilla: %s",
|
||||
"Versions" => "Utgåver",
|
||||
"Failed to revert {file} to revision {timestamp}." => "Klarte ikkje å tilbakestilla {file} til utgåva {timestamp}.",
|
||||
"More versions..." => "Fleire utgåver …",
|
||||
"No other versions available" => "Ingen andre utgåver tilgjengeleg",
|
||||
"Restore" => "Gjenopprett"
|
||||
);
|
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue