diff --git a/AUTHORS b/AUTHORS index b701c768d3e..2404174e328 100644 --- a/AUTHORS +++ b/AUTHORS @@ -17,6 +17,7 @@ ownCloud is written by: Sam Tuke Simon Birnbach Lukas Reschke + Christian Reiner … With help from many libraries and frameworks including: diff --git a/apps/.gitkeep b/apps/.gitkeep deleted file mode 100644 index 8d1c8b69c3f..00000000000 --- a/apps/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index f579d8530ed..e184cbfa915 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -157,7 +157,7 @@ $(document).ready(function(){ var downloadScope = 'file'; } FileActions.register(downloadScope,'Download', OC.PERMISSION_READ, function(){return OC.imagePath('core','actions/download');},function(filename){ - window.location=OC.filePath('files', 'ajax', 'download.php') + encodeURIComponent('?files='+encodeURIComponent(filename)+'&dir='+encodeURIComponent($('#dir').val())); + window.location=OC.filePath('files', 'ajax', 'download.php') + '&files='+encodeURIComponent(filename)+'&dir='+encodeURIComponent($('#dir').val()); }); }); diff --git a/apps/files/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php index 1ade9e618c4..04db7316f90 100644 --- a/apps/files/l10n/cs_CZ.php +++ b/apps/files/l10n/cs_CZ.php @@ -23,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "Nelze odeslat Váš soubor, protože je to adresář nebo má velikost 0 bajtů", "Upload Error" => "Chyba odesílání", "Pending" => "Čekající", +"1 file uploading" => "odesílá se 1 soubor", +"files uploading" => "souborů se odesílá", "Upload cancelled." => "Odesílání zrušeno.", "File upload is in progress. Leaving the page now will cancel the upload." => "Probíhá odesílání souboru. Opuštění stránky vyústí ve zrušení nahrávání.", "Invalid name, '/' is not allowed." => "Neplatný název, znak '/' není povolen", @@ -35,6 +37,16 @@ "folders" => "složky", "file" => "soubor", "files" => "soubory", +"seconds ago" => "před pár sekundami", +"minute ago" => "před minutou", +"minutes ago" => "před pár minutami", +"today" => "dnes", +"yesterday" => "včera", +"days ago" => "před pár dny", +"last month" => "minulý měsíc", +"months ago" => "před pár měsíci", +"last year" => "minulý rok", +"years ago" => "před pár lety", "File handling" => "Zacházení se soubory", "Maximum upload size" => "Maximální velikost pro odesílání", "max. possible: " => "největší možná: ", diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php index 8b3f2857298..fc07c9b911e 100644 --- a/apps/files/l10n/de.php +++ b/apps/files/l10n/de.php @@ -7,7 +7,7 @@ "Missing a temporary folder" => "Temporärer Ordner fehlt.", "Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte", "Files" => "Dateien", -"Unshare" => "Nicht mehr teilen", +"Unshare" => "Nicht mehr freigeben", "Delete" => "Löschen", "Rename" => "Umbenennen", "already exists" => "ist bereits vorhanden", @@ -17,13 +17,15 @@ "replaced" => "ersetzt", "undo" => "rückgängig machen", "with" => "mit", -"unshared" => "Nicht mehr teilen", +"unshared" => "Nicht mehr freigegeben", "deleted" => "gelöscht", "generating ZIP-file, it may take some time." => "Erstelle ZIP-Datei. Dies kann eine Weile dauern.", -"Unable to upload your file as it is a directory or has 0 bytes" => "Ihre Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis ist oder 0 Bytes hat.", -"Upload Error" => "Fehler beim Hochladen", +"Unable to upload your file as it is a directory or has 0 bytes" => "Ihre Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist.", +"Upload Error" => "Fehler beim Upload", "Pending" => "Ausstehend", -"Upload cancelled." => "Hochladen abgebrochen.", +"1 file uploading" => "Eine Datei wird hoch geladen", +"files uploading" => "Dateien werden hoch geladen", +"Upload cancelled." => "Upload abgebrochen.", "File upload is in progress. Leaving the page now will cancel the upload." => "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.", "Invalid name, '/' is not allowed." => "Ungültiger Name: \"/\" ist nicht erlaubt.", "files scanned" => "Dateien gescannt", @@ -35,6 +37,16 @@ "folders" => "Ordner", "file" => "Datei", "files" => "Dateien", +"seconds ago" => "Sekunden her", +"minute ago" => "Minute her", +"minutes ago" => "Minuten her", +"today" => "Heute", +"yesterday" => "Gestern", +"days ago" => "Tage her", +"last month" => "Letzten Monat", +"months ago" => "Monate her", +"last year" => "Letztes Jahr", +"years ago" => "Jahre her", "File handling" => "Dateibehandlung", "Maximum upload size" => "Maximale Upload-Größe", "max. possible: " => "maximal möglich:", @@ -46,7 +58,7 @@ "New" => "Neu", "Text file" => "Textdatei", "Folder" => "Ordner", -"From url" => "URL", +"From url" => "Von einer URL", "Upload" => "Hochladen", "Cancel upload" => "Upload abbrechen", "Nothing in here. Upload something!" => "Alles leer. Lade etwas hoch!", diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php index 1206f7f0f48..ef2e0bd2839 100644 --- a/apps/files/l10n/el.php +++ b/apps/files/l10n/el.php @@ -9,6 +9,7 @@ "Files" => "Αρχεία", "Unshare" => "Διακοπή κοινής χρήσης", "Delete" => "Διαγραφή", +"Rename" => "Μετονομασία", "already exists" => "υπάρχει ήδη", "replace" => "αντικατέστησε", "suggest name" => "συνιστώμενο όνομα", @@ -22,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "Αδυναμία στην μεταφόρτωση του αρχείου σας αφού είναι φάκελος ή έχει 0 bytes", "Upload Error" => "Σφάλμα Μεταφόρτωσης", "Pending" => "Εκκρεμεί", +"1 file uploading" => "1 αρχείο ανεβαίνει", +"files uploading" => "αρχεία ανεβαίνουν", "Upload cancelled." => "Η μεταφόρτωση ακυρώθηκε.", "File upload is in progress. Leaving the page now will cancel the upload." => "Η μεταφόρτωση του αρχείου βρίσκεται σε εξέλιξη. Έξοδος από την σελίδα τώρα θα ακυρώσει την μεταφόρτωση.", "Invalid name, '/' is not allowed." => "Μη έγκυρο όνομα, το '/' δεν επιτρέπεται.", @@ -34,6 +37,16 @@ "folders" => "φάκελοι", "file" => "αρχείο", "files" => "αρχεία", +"seconds ago" => "δευτερόλεπτα πριν", +"minute ago" => "λεπτό πριν", +"minutes ago" => "λεπτά πριν", +"today" => "σήμερα", +"yesterday" => "χτες", +"days ago" => "μέρες πριν", +"last month" => "τελευταίο μήνα", +"months ago" => "μήνες πριν", +"last year" => "τελευταίο χρόνο", +"years ago" => "χρόνια πριν", "File handling" => "Διαχείριση αρχείων", "Maximum upload size" => "Μέγιστο μέγεθος μεταφόρτωσης", "max. possible: " => "μέγιστο δυνατό:", diff --git a/apps/files/l10n/es.php b/apps/files/l10n/es.php index 7e92576fe11..3837cf49f99 100644 --- a/apps/files/l10n/es.php +++ b/apps/files/l10n/es.php @@ -23,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "No ha sido posible subir tu archivo porque es un directorio o tiene 0 bytes", "Upload Error" => "Error al subir el archivo", "Pending" => "Pendiente", +"1 file uploading" => "subiendo 1 archivo", +"files uploading" => "archivos subiendo", "Upload cancelled." => "Subida cancelada.", "File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Salir de la página ahora cancelará la subida.", "Invalid name, '/' is not allowed." => "Nombre no válido, '/' no está permitido.", @@ -35,6 +37,16 @@ "folders" => "carpetas", "file" => "archivo", "files" => "archivos", +"seconds ago" => "hace segundos", +"minute ago" => "minuto", +"minutes ago" => "hace minutos", +"today" => "hoy", +"yesterday" => "ayer", +"days ago" => "días", +"last month" => "mes pasado", +"months ago" => "hace meses", +"last year" => "año pasado", +"years ago" => "hace años", "File handling" => "Tratamiento de archivos", "Maximum upload size" => "Tamaño máximo de subida", "max. possible: " => "máx. posible:", diff --git a/apps/files/l10n/es_AR.php b/apps/files/l10n/es_AR.php index f3290ef4e3c..e94a904327c 100644 --- a/apps/files/l10n/es_AR.php +++ b/apps/files/l10n/es_AR.php @@ -23,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "No fue posible subir tu archivo porque es un directorio o su tamaño es 0 bytes", "Upload Error" => "Error al subir el archivo", "Pending" => "Pendiente", +"1 file uploading" => "Subiendo 1 archivo", +"files uploading" => "Subiendo archivos", "Upload cancelled." => "La subida fue cancelada", "File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará.", "Invalid name, '/' is not allowed." => "Nombre no válido, '/' no está permitido.", @@ -35,6 +37,16 @@ "folders" => "carpetas", "file" => "archivo", "files" => "archivos", +"seconds ago" => "segundos atrás", +"minute ago" => "hace un minuto", +"minutes ago" => "minutos atrás", +"today" => "hoy", +"yesterday" => "ayer", +"days ago" => "días atrás", +"last month" => "el mes pasado", +"months ago" => "meses atrás", +"last year" => "el año pasado", +"years ago" => "años atrás", "File handling" => "Tratamiento de archivos", "Maximum upload size" => "Tamaño máximo de subida", "max. possible: " => "máx. posible:", diff --git a/apps/files/l10n/fi_FI.php b/apps/files/l10n/fi_FI.php index 1b9cee5ebb3..8e874ad4d95 100644 --- a/apps/files/l10n/fi_FI.php +++ b/apps/files/l10n/fi_FI.php @@ -31,6 +31,16 @@ "folders" => "kansiota", "file" => "tiedosto", "files" => "tiedostoa", +"seconds ago" => "sekuntia sitten", +"minute ago" => "minuutti sitten", +"minutes ago" => "minuuttia sitten", +"today" => "tänään", +"yesterday" => "eilen", +"days ago" => "päivää sitten", +"last month" => "viime kuussa", +"months ago" => "kuukautta sitten", +"last year" => "viime vuonna", +"years ago" => "vuotta sitten", "File handling" => "Tiedostonhallinta", "Maximum upload size" => "Lähetettävän tiedoston suurin sallittu koko", "max. possible: " => "suurin mahdollinen:", diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php index 0e874bcf354..f58bfa5cc5e 100644 --- a/apps/files/l10n/fr.php +++ b/apps/files/l10n/fr.php @@ -23,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "Impossible de charger vos fichiers car il s'agit d'un dossier ou le fichier fait 0 octet.", "Upload Error" => "Erreur de chargement", "Pending" => "En cours", +"1 file uploading" => "1 fichier en cours de téléchargement", +"files uploading" => "fichiers en cours de téléchargement", "Upload cancelled." => "Chargement annulé.", "File upload is in progress. Leaving the page now will cancel the upload." => "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.", "Invalid name, '/' is not allowed." => "Nom invalide, '/' n'est pas autorisé.", @@ -35,6 +37,16 @@ "folders" => "dossiers", "file" => "fichier", "files" => "fichiers", +"seconds ago" => "secondes passées", +"minute ago" => "minute passée", +"minutes ago" => "minutes passées", +"today" => "aujourd'hui", +"yesterday" => "hier", +"days ago" => "jours passés", +"last month" => "mois dernier", +"months ago" => "mois passés", +"last year" => "année dernière", +"years ago" => "années passées", "File handling" => "Gestion des fichiers", "Maximum upload size" => "Taille max. d'envoi", "max. possible: " => "Max. possible :", diff --git a/apps/files/l10n/it.php b/apps/files/l10n/it.php index 4cb2daf6971..86f2ff84fcf 100644 --- a/apps/files/l10n/it.php +++ b/apps/files/l10n/it.php @@ -23,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "Impossibile inviare il file poiché è una cartella o ha dimensione 0 byte", "Upload Error" => "Errore di invio", "Pending" => "In corso", +"1 file uploading" => "1 file in fase di caricamento", +"files uploading" => "file in fase di caricamento", "Upload cancelled." => "Invio annullato", "File upload is in progress. Leaving the page now will cancel the upload." => "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.", "Invalid name, '/' is not allowed." => "Nome non valido", @@ -35,6 +37,16 @@ "folders" => "cartelle", "file" => "file", "files" => "file", +"seconds ago" => "secondi fa", +"minute ago" => "minuto fa", +"minutes ago" => "minuti fa", +"today" => "oggi", +"yesterday" => "ieri", +"days ago" => "giorni fa", +"last month" => "mese scorso", +"months ago" => "mesi fa", +"last year" => "anno scorso", +"years ago" => "anni fa", "File handling" => "Gestione file", "Maximum upload size" => "Dimensione massima upload", "max. possible: " => "numero mass.: ", diff --git a/apps/files/l10n/ja_JP.php b/apps/files/l10n/ja_JP.php index f0d016ec9c4..7aa246f9644 100644 --- a/apps/files/l10n/ja_JP.php +++ b/apps/files/l10n/ja_JP.php @@ -23,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "アップロード使用としているファイルがディレクトリ、もしくはサイズが0バイトのため、アップロードできません。", "Upload Error" => "アップロードエラー", "Pending" => "保留", +"1 file uploading" => "ファイルを1つアップロード中", +"files uploading" => "ファイルをアップロード中", "Upload cancelled." => "アップロードはキャンセルされました。", "File upload is in progress. Leaving the page now will cancel the upload." => "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。", "Invalid name, '/' is not allowed." => "無効な名前、'/' は使用できません。", @@ -35,6 +37,16 @@ "folders" => "フォルダ", "file" => "ファイル", "files" => "ファイル", +"seconds ago" => "秒前", +"minute ago" => "分前", +"minutes ago" => "分前", +"today" => "今日", +"yesterday" => "昨日", +"days ago" => "日前", +"last month" => "一月前", +"months ago" => "月前", +"last year" => "一年前", +"years ago" => "年前", "File handling" => "ファイル操作", "Maximum upload size" => "最大アップロードサイズ", "max. possible: " => "最大容量: ", diff --git a/apps/files/l10n/oc.php b/apps/files/l10n/oc.php new file mode 100644 index 00000000000..3f70761e903 --- /dev/null +++ b/apps/files/l10n/oc.php @@ -0,0 +1,71 @@ + "Amontcargament capitat, pas d'errors", +"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Lo fichièr amontcargat es tròp bèl per la directiva «upload_max_filesize » del php.ini", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Lo fichièr amontcargat es mai gròs que la directiva «MAX_FILE_SIZE» especifiada dins lo formulari HTML", +"The uploaded file was only partially uploaded" => "Lo fichièr foguèt pas completament amontcargat", +"No file was uploaded" => "Cap de fichièrs son estats amontcargats", +"Missing a temporary folder" => "Un dorsièr temporari manca", +"Failed to write to disk" => "L'escriptura sul disc a fracassat", +"Files" => "Fichièrs", +"Unshare" => "Non parteja", +"Delete" => "Escafa", +"Rename" => "Torna nomenar", +"already exists" => "existís jà", +"replace" => "remplaça", +"suggest name" => "nom prepausat", +"cancel" => "anulla", +"replaced" => "remplaçat", +"undo" => "defar", +"with" => "amb", +"unshared" => "Non partejat", +"deleted" => "escafat", +"generating ZIP-file, it may take some time." => "Fichièr ZIP a se far, aquò pòt trigar un briu.", +"Unable to upload your file as it is a directory or has 0 bytes" => "Impossible d'amontcargar lo teu fichièr qu'es un repertòri o que ten pas que 0 octet.", +"Upload Error" => "Error d'amontcargar", +"Pending" => "Al esperar", +"1 file uploading" => "1 fichièr al amontcargar", +"files uploading" => "fichièrs al amontcargar", +"Upload cancelled." => "Amontcargar anullat.", +"File upload is in progress. Leaving the page now will cancel the upload." => "Un amontcargar es a se far. Daissar aquesta pagina ara tamparà lo cargament. ", +"Invalid name, '/' is not allowed." => "Nom invalid, '/' es pas permis.", +"files scanned" => "Fichièr explorat", +"error while scanning" => "error pendant l'exploracion", +"Name" => "Nom", +"Size" => "Talha", +"Modified" => "Modificat", +"folder" => "Dorsièr", +"folders" => "Dorsièrs", +"file" => "fichièr", +"files" => "fichièrs", +"seconds ago" => "secondas", +"minute ago" => "minuta", +"minutes ago" => "minutas", +"today" => "uèi", +"yesterday" => "ièr", +"days ago" => "jorns", +"last month" => "mes passat", +"months ago" => "meses", +"last year" => "an passat", +"years ago" => "ans", +"File handling" => "Manejament de fichièr", +"Maximum upload size" => "Talha maximum d'amontcargament", +"max. possible: " => "max. possible: ", +"Needed for multi-file and folder downloads." => "Requesit per avalcargar gropat de fichièrs e dorsièr", +"Enable ZIP-download" => "Activa l'avalcargament de ZIP", +"0 is unlimited" => "0 es pas limitat", +"Maximum input size for ZIP files" => "Talha maximum de dintrada per fichièrs ZIP", +"Save" => "Enregistra", +"New" => "Nòu", +"Text file" => "Fichièr de tèxte", +"Folder" => "Dorsièr", +"From url" => "Dempuèi l'URL", +"Upload" => "Amontcarga", +"Cancel upload" => " Anulla l'amontcargar", +"Nothing in here. Upload something!" => "Pas res dedins. Amontcarga qualquaren", +"Share" => "Parteja", +"Download" => "Avalcarga", +"Upload too large" => "Amontcargament tròp gròs", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Los fichièrs que sias a amontcargar son tròp pesucs per la talha maxi pel servidor.", +"Files are being scanned, please wait." => "Los fiichièrs son a èsser explorats, ", +"Current scanning" => "Exploracion en cors" +); diff --git a/apps/files/l10n/pt_BR.php b/apps/files/l10n/pt_BR.php index d9e6e3290ed..59ec8a8a018 100644 --- a/apps/files/l10n/pt_BR.php +++ b/apps/files/l10n/pt_BR.php @@ -23,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "Impossível enviar seus arquivo como diretório ou ele tem 0 bytes.", "Upload Error" => "Erro de envio", "Pending" => "Pendente", +"1 file uploading" => "enviando 1 arquivo", +"files uploading" => "enviando arquivos", "Upload cancelled." => "Envio cancelado.", "File upload is in progress. Leaving the page now will cancel the upload." => "Upload em andamento. Sair da página agora resultará no cancelamento do envio.", "Invalid name, '/' is not allowed." => "Nome inválido, '/' não é permitido.", @@ -35,6 +37,16 @@ "folders" => "pastas", "file" => "arquivo", "files" => "arquivos", +"seconds ago" => "segundos atrás", +"minute ago" => "minuto atrás", +"minutes ago" => "minutos atrás", +"today" => "hoje", +"yesterday" => "ontem", +"days ago" => "dias atrás", +"last month" => "último mês", +"months ago" => "meses atrás", +"last year" => "último ano", +"years ago" => "anos atrás", "File handling" => "Tratamento de Arquivo", "Maximum upload size" => "Tamanho máximo para carregar", "max. possible: " => "max. possível:", diff --git a/apps/files/l10n/ro.php b/apps/files/l10n/ro.php index ff4a8119372..8d651e23827 100644 --- a/apps/files/l10n/ro.php +++ b/apps/files/l10n/ro.php @@ -9,6 +9,7 @@ "Files" => "Fișiere", "Unshare" => "Anulează partajarea", "Delete" => "Șterge", +"Rename" => "Redenumire", "already exists" => "deja există", "replace" => "înlocuire", "suggest name" => "sugerează nume", @@ -22,6 +23,8 @@ "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.", "Upload Error" => "Eroare la încărcare", "Pending" => "În așteptare", +"1 file uploading" => "un fișier se încarcă", +"files uploading" => "fișiere se încarcă", "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.", "Invalid name, '/' is not allowed." => "Nume invalid, '/' nu este permis.", @@ -34,6 +37,16 @@ "folders" => "directoare", "file" => "fișier", "files" => "fișiere", +"seconds ago" => "secunde în urmă", +"minute ago" => "minut în urmă", +"minutes ago" => "minute în urmă", +"today" => "astăzi", +"yesterday" => "ieri", +"days ago" => "zile în urmă", +"last month" => "ultima lună", +"months ago" => "luni în urmă", +"last year" => "ultimul an", +"years ago" => "ani în urmă", "File handling" => "Manipulare fișiere", "Maximum upload size" => "Dimensiune maximă admisă la încărcare", "max. possible: " => "max. posibil:", diff --git a/apps/files/l10n/sv.php b/apps/files/l10n/sv.php index e94390fc774..d5dcf1ad2e8 100644 --- a/apps/files/l10n/sv.php +++ b/apps/files/l10n/sv.php @@ -23,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "Kunde inte ladda upp dina filer eftersom det antingen är en mapp eller har 0 bytes.", "Upload Error" => "Uppladdningsfel", "Pending" => "Väntar", +"1 file uploading" => "1 filuppladdning", +"files uploading" => "filer laddas upp", "Upload cancelled." => "Uppladdning avbruten.", "File upload is in progress. Leaving the page now will cancel the upload." => "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.", "Invalid name, '/' is not allowed." => "Ogiltigt namn, '/' är inte tillåten.", @@ -35,6 +37,16 @@ "folders" => "mappar", "file" => "fil", "files" => "filer", +"seconds ago" => "sekunder sedan", +"minute ago" => "minut sedan", +"minutes ago" => "minuter sedan", +"today" => "i dag", +"yesterday" => "i går", +"days ago" => "dagar sedan", +"last month" => "förra månaden", +"months ago" => "månader sedan", +"last year" => "förra året", +"years ago" => "år sedan", "File handling" => "Filhantering", "Maximum upload size" => "Maximal storlek att ladda upp", "max. possible: " => "max. möjligt:", diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php index db037b06c26..dc94ddc7de5 100644 --- a/apps/files/l10n/th_TH.php +++ b/apps/files/l10n/th_TH.php @@ -23,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "ไม่สามารถอัพโหลดไฟล์ของคุณได้ เนื่องจากไฟล์ดังกล่าวเป็นไดเร็กทอรี่หรือมีขนาด 0 ไบต์", "Upload Error" => "เกิดข้อผิดพลาดในการอัพโหลด", "Pending" => "อยู่ระหว่างดำเนินการ", +"1 file uploading" => "กำลังอัพโหลดไฟล์ 1 ไฟล์", +"files uploading" => "การอัพโหลดไฟล์", "Upload cancelled." => "การอัพโหลดถูกยกเลิก", "File upload is in progress. Leaving the page now will cancel the upload." => "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก", "Invalid name, '/' is not allowed." => "ชื่อที่ใช้ไม่ถูกต้อง '/' ไม่อนุญาตให้ใช้งาน", @@ -35,6 +37,16 @@ "folders" => "โฟลเดอร์", "file" => "ไฟล์", "files" => "ไฟล์", +"seconds ago" => "วินาที ก่อนหน้านี้", +"minute ago" => "นาที ที่ผ่านมา", +"minutes ago" => "นาที ที่ผ่านมา", +"today" => "วันนี้", +"yesterday" => "เมื่อวานนี้", +"days ago" => "วัน ที่ผ่านมา", +"last month" => "เดือนที่แล้ว", +"months ago" => "เดือน ที่ผ่านมา", +"last year" => "ปีที่แล้ว", +"years ago" => "ปี ที่ผ่านมา", "File handling" => "การจัดกาไฟล์", "Maximum upload size" => "ขนาดไฟล์สูงสุดที่อัพโหลดได้", "max. possible: " => "จำนวนสูงสุดที่สามารถทำได้: ", diff --git a/apps/files/l10n/zh_CN.php b/apps/files/l10n/zh_CN.php index 60c40f6d485..f2ea43ae81e 100644 --- a/apps/files/l10n/zh_CN.php +++ b/apps/files/l10n/zh_CN.php @@ -23,6 +23,8 @@ "Unable to upload your file as it is a directory or has 0 bytes" => "无法上传文件,因为它是一个目录或者大小为 0 字节", "Upload Error" => "上传错误", "Pending" => "操作等待中", +"1 file uploading" => "1个文件上传中", +"files uploading" => "文件上传中", "Upload cancelled." => "上传已取消", "File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传中。现在离开此页会导致上传动作被取消。", "Invalid name, '/' is not allowed." => "非法的名称,不允许使用‘/’。", @@ -35,6 +37,16 @@ "folders" => "文件夹", "file" => "文件", "files" => "文件", +"seconds ago" => "几秒前", +"minute ago" => "1分钟前", +"minutes ago" => "分钟前", +"today" => "今天", +"yesterday" => "昨天", +"days ago" => "%d 天前", +"last month" => "上月", +"months ago" => "月前", +"last year" => "上年", +"years ago" => "几年前", "File handling" => "文件处理", "Maximum upload size" => "最大上传大小", "max. possible: " => "最大可能: ", diff --git a/apps/files_encryption/l10n/pt_PT.php b/apps/files_encryption/l10n/pt_PT.php new file mode 100644 index 00000000000..570462b414f --- /dev/null +++ b/apps/files_encryption/l10n/pt_PT.php @@ -0,0 +1,6 @@ + "Encriptação", +"Exclude the following file types from encryption" => "Excluir da encriptação os seguintes tipo de ficheiros", +"None" => "Nenhum", +"Enable Encryption" => "Activar Encriptação" +); diff --git a/apps/files_external/ajax/addRootCertificate.php b/apps/files_external/ajax/addRootCertificate.php index 8848f85cf9d..e0a0239c954 100644 --- a/apps/files_external/ajax/addRootCertificate.php +++ b/apps/files_external/ajax/addRootCertificate.php @@ -2,22 +2,35 @@ OCP\JSON::checkAppEnabled('files_external'); +if ( !($filename = $_FILES['rootcert_import']['name']) ) { + header("Location: settings/personal.php"); + exit; +} + $fh = fopen($_FILES['rootcert_import']['tmp_name'], 'r'); $data = fread($fh, filesize($_FILES['rootcert_import']['tmp_name'])); fclose($fh); +$filename = $_FILES['rootcert_import']['name']; $view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/files_external/uploads'); if (!$view->file_exists('')) $view->mkdir(''); -//check if it is a PEM certificate, otherwise convert it if possible -if (!strpos($data, 'BEGIN CERTIFICATE')) { +$isValid = openssl_pkey_get_public($data); + +//maybe it was just the wrong file format, try to convert it... +if ($isValid == false) { $data = chunk_split(base64_encode($data), 64, "\n"); - $data = "-----BEGIN CERTIFICATE-----\n".$data."-----END CERTIFICATE-----\n"; + $data = "-----BEGIN CERTIFICATE-----\n".$data."-----END CERTIFICATE-----\n"; + $isValid = openssl_pkey_get_public($data); } -$view->file_put_contents($_FILES['rootcert_import']['name'], $data); - -OC_Mount_Config::createCertificateBundle(); +// add the certificate if it could be verified +if ( $isValid ) { + $view->file_put_contents($filename, $data); + OC_Mount_Config::createCertificateBundle(); +} else { + OCP\Util::writeLog("files_external", "Couldn't import SSL root certificate ($filename), allowed formats: PEM and DER", OCP\Util::WARN); +} header("Location: settings/personal.php"); exit; diff --git a/apps/files_external/ajax/removeRootCertificate.php b/apps/files_external/ajax/removeRootCertificate.php index 9b78e180d9e..6871b0fd1d4 100644 --- a/apps/files_external/ajax/removeRootCertificate.php +++ b/apps/files_external/ajax/removeRootCertificate.php @@ -5,7 +5,10 @@ OCP\JSON::checkLoggedIn(); OCP\JSON::callCheck(); $view = \OCP\Files::getStorage("files_external"); -$cert = $_POST['cert']; -$file = \OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath("").'uploads/'.$cert; -unlink($file); -OC_Mount_Config::createCertificateBundle(); +$file = 'uploads/'.ltrim($_POST['cert'], "/\\."); + +if ( $view->file_exists($file) ) { + $view->unlink($file); + OC_Mount_Config::createCertificateBundle(); +} + diff --git a/apps/files_external/l10n/pt_PT.php b/apps/files_external/l10n/pt_PT.php new file mode 100644 index 00000000000..8b4680b3711 --- /dev/null +++ b/apps/files_external/l10n/pt_PT.php @@ -0,0 +1,10 @@ + "Configuração", +"Options" => "Opções", +"Applicable" => "Aplicável", +"All Users" => "Todos os utilizadores", +"Groups" => "Grupos", +"Users" => "Utilizadores", +"Delete" => "Apagar", +"Import Root Certificate" => "Importar Certificado Root" +); diff --git a/apps/files_sharing/l10n/el.php b/apps/files_sharing/l10n/el.php index 3406c508e61..5305eedd484 100644 --- a/apps/files_sharing/l10n/el.php +++ b/apps/files_sharing/l10n/el.php @@ -1,6 +1,8 @@ "Συνθηματικό", "Submit" => "Καταχώρηση", +"%s shared the folder %s with you" => "%s μοιράστηκε τον φάκελο %s μαζί σας", +"%s shared the file %s with you" => "%s μοιράστηκε το αρχείο %s μαζί σας", "Download" => "Λήψη", "No preview available for" => "Δεν υπάρχει διαθέσιμη προεπισκόπηση για", "web services under your control" => "υπηρεσίες δικτύου υπό τον έλεγχό σας" diff --git a/apps/files_sharing/l10n/fi_FI.php b/apps/files_sharing/l10n/fi_FI.php index 85c6c7a7132..6c441342133 100644 --- a/apps/files_sharing/l10n/fi_FI.php +++ b/apps/files_sharing/l10n/fi_FI.php @@ -1,6 +1,8 @@ "Salasana", "Submit" => "Lähetä", +"%s shared the folder %s with you" => "%s jakoi kansion %s kanssasi", +"%s shared the file %s with you" => "%s jakoi tiedoston %s kanssasi", "Download" => "Lataa", "No preview available for" => "Ei esikatselua kohteelle", "web services under your control" => "verkkopalvelut hallinnassasi" diff --git a/apps/files_sharing/l10n/pt_PT.php b/apps/files_sharing/l10n/pt_PT.php new file mode 100644 index 00000000000..b8e700e3802 --- /dev/null +++ b/apps/files_sharing/l10n/pt_PT.php @@ -0,0 +1,9 @@ + "Palavra-Passe", +"Submit" => "Submeter", +"%s shared the folder %s with you" => "%s partilhou a pasta %s consigo", +"%s shared the file %s with you" => "%s partilhou o ficheiro %s consigo", +"Download" => "Descarregar", +"No preview available for" => "Não há pré-visualização para", +"web services under your control" => "serviços web sob o seu controlo" +); diff --git a/apps/files_sharing/l10n/ro.php b/apps/files_sharing/l10n/ro.php index 4943fcc03c7..eb9977dc585 100644 --- a/apps/files_sharing/l10n/ro.php +++ b/apps/files_sharing/l10n/ro.php @@ -1,6 +1,8 @@ "Parolă", "Submit" => "Trimite", +"%s shared the folder %s with you" => "%s a partajat directorul %s cu tine", +"%s shared the file %s with you" => "%s a partajat fișierul %s cu tine", "Download" => "Descarcă", "No preview available for" => "Nici o previzualizare disponibilă pentru ", "web services under your control" => "servicii web controlate de tine" diff --git a/apps/files_sharing/l10n/zh_CN.php b/apps/files_sharing/l10n/zh_CN.php new file mode 100644 index 00000000000..64e7af3e0cd --- /dev/null +++ b/apps/files_sharing/l10n/zh_CN.php @@ -0,0 +1,9 @@ + "密码", +"Submit" => "提交", +"%s shared the folder %s with you" => "%s与您共享了%s文件夹", +"%s shared the file %s with you" => "%s与您共享了%s文件", +"Download" => "下载", +"No preview available for" => "没有预览", +"web services under your control" => "您控制的web服务" +); diff --git a/apps/files_versions/l10n/el.php b/apps/files_versions/l10n/el.php index 24511f37395..f6b9a5b2998 100644 --- a/apps/files_versions/l10n/el.php +++ b/apps/files_versions/l10n/el.php @@ -1,5 +1,6 @@ "Λήξη όλων των εκδόσεων", +"History" => "Ιστορικό", "Versions" => "Εκδόσεις", "This will delete all existing backup versions of your files" => "Αυτό θα διαγράψει όλες τις υπάρχουσες εκδόσεις των αντιγράφων ασφαλείας των αρχείων σας", "Files Versioning" => "Εκδόσεις Αρχείων", diff --git a/apps/files_versions/l10n/fi_FI.php b/apps/files_versions/l10n/fi_FI.php index 7e0894b3f18..3cec4c04bfe 100644 --- a/apps/files_versions/l10n/fi_FI.php +++ b/apps/files_versions/l10n/fi_FI.php @@ -1,5 +1,6 @@ "Vanhenna kaikki versiot", +"History" => "Historia", "Versions" => "Versiot", "This will delete all existing backup versions of your files" => "Tämä poistaa kaikki tiedostojesi olemassa olevat varmuuskopioversiot", "Files Versioning" => "Tiedostojen versiointi", diff --git a/apps/files_versions/l10n/pt_PT.php b/apps/files_versions/l10n/pt_PT.php new file mode 100644 index 00000000000..2ddf70cc6c5 --- /dev/null +++ b/apps/files_versions/l10n/pt_PT.php @@ -0,0 +1,8 @@ + "Expirar todas as versões", +"History" => "Histórico", +"Versions" => "Versões", +"This will delete all existing backup versions of your files" => "Isto irá apagar todas as versões de backup do seus ficheiros", +"Files Versioning" => "Versionamento de Ficheiros", +"Enable" => "Activar" +); diff --git a/apps/files_versions/l10n/ro.php b/apps/files_versions/l10n/ro.php index 597be7330c5..e23e771e392 100644 --- a/apps/files_versions/l10n/ro.php +++ b/apps/files_versions/l10n/ro.php @@ -1,5 +1,6 @@ "Expiră toate versiunile", +"History" => "Istoric", "Versions" => "Versiuni", "This will delete all existing backup versions of your files" => "Această acțiune va șterge toate versiunile salvate ale fișierelor tale", "Files Versioning" => "Versionare fișiere", diff --git a/apps/files_versions/l10n/zh_CN.php b/apps/files_versions/l10n/zh_CN.php index 1a5caae7dfa..48e7157c98f 100644 --- a/apps/files_versions/l10n/zh_CN.php +++ b/apps/files_versions/l10n/zh_CN.php @@ -1,5 +1,6 @@ "过期所有版本", +"History" => "历史", "Versions" => "版本", "This will delete all existing backup versions of your files" => "将会删除您的文件的所有备份版本", "Files Versioning" => "文件版本", diff --git a/apps/files_versions/templates/history.php b/apps/files_versions/templates/history.php index 99bc153a816..854d032da62 100644 --- a/apps/files_versions/templates/history.php +++ b/apps/files_versions/templates/history.php @@ -22,7 +22,7 @@ if( isset( $_['message'] ) ) { foreach ( $_['versions'] as $v ) { echo ' '; echo OCP\Util::formatDate( doubleval($v['version']) ); - echo ' Revert

'; + echo ' Revert

'; if ( $v['cur'] ) { echo ' (Current)'; } echo '

'; } diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php index 5ec259f6c47..389679b80bd 100644 --- a/apps/user_ldap/group_ldap.php +++ b/apps/user_ldap/group_ldap.php @@ -143,7 +143,7 @@ class GROUP_LDAP extends lib\Access implements \OCP\GroupInterface { if(!empty($this->groupSearch)) { $groupUsers = array_filter($groupUsers, array($this, 'groupMatchesFilter')); } - if($limit = -1) { + if($limit == -1) { $limit = null; } return array_slice($groupUsers, $offset, $limit); @@ -187,7 +187,7 @@ class GROUP_LDAP extends lib\Access implements \OCP\GroupInterface { if(!empty($this->groupSearch)) { $groupUsers = array_filter($groupUsers, array($this, 'groupMatchesFilter')); } - if($limit = -1) { + if($limit == -1) { $limit = null; } return array_slice($groupUsers, $offset, $limit); diff --git a/apps/user_ldap/l10n/el.php b/apps/user_ldap/l10n/el.php index 1bb72f163a7..4ed7ab1f081 100644 --- a/apps/user_ldap/l10n/el.php +++ b/apps/user_ldap/l10n/el.php @@ -10,6 +10,7 @@ "Base Group Tree" => "Base Group Tree", "Group-Member association" => "Group-Member association", "Use TLS" => "Χρήση TLS", +"Not recommended, use for testing only." => "Δεν προτείνεται, χρήση μόνο για δοκιμές.", "User Display Name Field" => "User Display Name Field", "Group Display Name Field" => "Group Display Name Field", "in bytes" => "σε bytes", diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php index bacdb8b9ae1..53a65129108 100644 --- a/apps/user_ldap/user_ldap.php +++ b/apps/user_ldap/user_ldap.php @@ -111,7 +111,7 @@ class USER_LDAP extends lib\Access implements \OCP\UserInterface { if(!empty($this->userSearch)) { $ldap_users = array_filter($ldap_users, array($this, 'userMatchesFilter')); } - if($limit = -1) { + if($limit == -1) { $limit = null; } return array_slice($ldap_users, $offset, $limit); diff --git a/core/ajax/requesttoken.php b/core/ajax/requesttoken.php new file mode 100644 index 00000000000..96d5402e621 --- /dev/null +++ b/core/ajax/requesttoken.php @@ -0,0 +1,41 @@ + +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE +* License as published by the Free Software Foundation; either +* version 3 of the license, or any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU AFFERO GENERAL PUBLIC LICENSE for more details. +* +* You should have received a copy of the GNU Affero General Public +* License along with this library. +* If not, see . +* +*/ + +/** + * @file core/ajax/requesttoken.php + * @brief Ajax method to retrieve a fresh request protection token for ajax calls + * @return json: success/error state indicator including a fresh request token + * @author Christian Reiner + */ +require_once '../../lib/base.php'; + +// don't load apps or filesystem for this task +$RUNTIME_NOAPPS = TRUE; +$RUNTIME_NOSETUPFS = TRUE; + +// Sanity checks +// using OCP\JSON::callCheck() below protects the token refreshing itself. +//OCP\JSON::callCheck ( ); +OCP\JSON::checkLoggedIn ( ); +// hand out a fresh token +OCP\JSON::success ( array ( 'token' => OCP\Util::callRegister() ) ); +?> diff --git a/core/js/eventsource.js b/core/js/eventsource.js index e3ad7e3a671..45c63715a7e 100644 --- a/core/js/eventsource.js +++ b/core/js/eventsource.js @@ -40,7 +40,7 @@ OC.EventSource=function(src,data){ dataStr+=name+'='+encodeURIComponent(data[name])+'&'; } } - dataStr+='requesttoken='+OC.EventSource.requesttoken; + dataStr+='requesttoken='+OC.Request.Token; if(!this.useFallBack && typeof EventSource !='undefined'){ this.source=new EventSource(src+'?'+dataStr); this.source.onmessage=function(e){ diff --git a/core/js/js.js b/core/js/js.js index 71aaedccc29..657dd6d6f8a 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -37,7 +37,7 @@ t.cache={}; * @return string */ function fileDownloadPath(dir, file) { - return OC.filePath('files', 'ajax', 'download.php')+encodeURIComponent('?files='+encodeURIComponent(file)+'&dir='+encodeURIComponent(dir)); + return OC.filePath('files', 'ajax', 'download.php')+'&files='+encodeURIComponent(file)+'&dir='+encodeURIComponent(dir); } var OC={ diff --git a/core/js/requesttoken.js b/core/js/requesttoken.js new file mode 100644 index 00000000000..0d78cd7e93b --- /dev/null +++ b/core/js/requesttoken.js @@ -0,0 +1,55 @@ +/** + * ownCloud + * + * @file core/js/requesttoken.js + * @brief Routine to refresh the Request protection request token periodically + * @author Christian Reiner (arkascha) + * @copyright 2011-2012 Christian Reiner + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the license, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. + * If not, see . + * + */ + +OC.Request = { + // the request token + Token: {}, + // the lifespan span (in secs) + Lifespan: {}, + // method to refresh the local request token periodically + Refresh: function(){ + // just a client side console log to preserve efficiency + console.log("refreshing request token (lifebeat)"); + var dfd=new $.Deferred(); + $.ajax({ + type: 'POST', + url: OC.filePath('core','ajax','requesttoken.php'), + cache: false, + data: { }, + dataType: 'json' + }).done(function(response){ + // store refreshed token inside this class + OC.Request.Token=response.token; + dfd.resolve(); + }).fail(dfd.reject); + return dfd; + } +} +// accept requesttoken and lifespan into the OC namespace +OC.Request.Token = oc_requesttoken; +OC.Request.Lifespan = oc_requestlifespan; +// refresh the request token periodically shortly before it becomes invalid on the server side +setInterval(OC.Request.Refresh,Math.floor(1000*OC.Request.Lifespan*0.93)), // 93% of lifespan value, close to when the token expires +// early bind token as additional ajax argument for every single request +$(document).bind('ajaxSend', function(elm, xhr, s){xhr.setRequestHeader('requesttoken', OC.Request.Token);}); diff --git a/core/js/share.js b/core/js/share.js index 36ee39d8eab..6c26fed18be 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -127,9 +127,9 @@ OC.Share={ var html = '