Merge branch 'master' into appframework-master

This commit is contained in:
Thomas Müller 2013-09-04 23:15:17 +02:00
commit 835f477d8f
421 changed files with 7685 additions and 2591 deletions

@ -1 +1 @@
Subproject commit 21b466b72cdd4c823c011669593ecef1defb1f3c
Subproject commit dc87ea630287f27502eba825fbb19fcc33c34c86

View file

@ -79,7 +79,7 @@ if($source) {
$success = false;
if (!$content) {
$templateManager = OC_Helper::getFileTemplateManager();
$mimeType = OC_Helper::getMimeType($target);
$mimeType = OC_Helper::getMimetypeDetector()->detectPath($target);
$content = $templateManager->getTemplate($mimeType);
}

View file

@ -19,10 +19,13 @@
background:#f8f8f8; border:1px solid #ddd; border-radius:10px; border-top-left-radius:0;
box-shadow:0 2px 7px rgba(170,170,170,.4);
}
#new>ul>li { height:20px; margin:.3em; padding-left:2em; padding-bottom:0.1em;
#new>ul>li { height:36px; margin:.3em; padding-left:3em; padding-bottom:0.1em;
background-repeat:no-repeat; cursor:pointer; }
#new>ul>li>p { cursor:pointer; }
#new>ul>li>form>input { padding:0.3em; margin:-0.3em; }
#new>ul>li>p { cursor:pointer; padding-top: 7px; padding-bottom: 7px;}
#new>ul>li>form>input {
padding: 5px;
margin: 2px 0;
}
#trash { margin: 0 1em; z-index:1010; float: right; }
@ -65,14 +68,8 @@
/* FILE TABLE */
#emptyfolder {
position:absolute;
margin:10em 0 0 10em;
font-size:1.5em; font-weight:bold;
color:#888; text-shadow:#fff 0 1px 0;
}
#filestable { position: relative; top:37px; width:100%; }
#filestable tbody tr { background-color:#fff; height:2.5em; }
tbody tr { background-color:#fff; height:2.5em; }
tbody tr:hover, tbody tr:active {
background-color: rgb(240,240,240);
}
@ -85,54 +82,153 @@ span.extension { text-transform:lowercase; -ms-filter:"progid:DXImageTransform.M
tr:hover span.extension { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; color:#777; }
table tr.mouseOver td { background-color:#eee; }
table th { height:2em; padding:0 .5em; color:#999; }
table th .name { float:left; margin-left:.5em; }
table th .name {
position: absolute;
left: 55px;
top: 15px;
}
table th, table td { border-bottom:1px solid #ddd; text-align:left; font-weight:normal; }
table td { border-bottom:1px solid #eee; font-style:normal; background-position:1em .5em; background-repeat:no-repeat; }
table th#headerName { width:100em; /* not really sure why this works better than 100% … table styling */ }
table th#headerSize, table td.filesize { min-width:3em; padding:0 1em; text-align:right; }
table th#headerDate, table td.date { min-width:11em; padding:0 .1em 0 1em; text-align:left; }
table td {
border-bottom: 1px solid #eee;
font-style: normal;
background-position: 8px center;
background-repeat: no-repeat;
}
table th#headerName {
position: relative;
width: 100em; /* not really sure why this works better than 100% … table styling */
padding: 0;
}
#headerName-container {
position: relative;
height: 50px;
}
table th#headerSize, table td.filesize {
min-width: 3em;
padding: 0 1em;
text-align: right;
}
table th#headerDate, table td.date {
-moz-box-sizing: border-box;
box-sizing: border-box;
position: relative;
min-width: 11em;
display: block;
height: 51px;
}
/* Multiselect bar */
#filestable.multiselect { top:63px; }
#filestable.multiselect {
top: 88px;
}
table.multiselect thead { position:fixed; top:82px; z-index:1; -moz-box-sizing: border-box; box-sizing: border-box; left: 0; padding-left: 80px; width:100%; }
table.multiselect thead th {
background-color: rgba(210,210,210,.7);
color: #000;
font-weight: bold;
border-bottom: 0;
}
table.multiselect #headerName { width: 100%; }
table.multiselect #headerName {
position: relative;
width: 100%;
}
table td.selection, table th.selection, table td.fileaction { width:2em; text-align:center; }
table td.filename a.name { display:block; height:1.5em; vertical-align:middle; margin-left:3em; }
table td.filename a.name {
position:relative; /* Firefox needs to explicitly have this default set … */
-moz-box-sizing: border-box;
box-sizing: border-box;
display: block;
height: 50px;
vertical-align: middle;
padding: 0;
}
table tr[data-type="dir"] td.filename a.name span.nametext {font-weight:bold; }
table td.filename input.filename { width:100%; cursor:text; }
table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete { padding:.2em .5em .5em 0; }
table td.filename input.filename {
width: 80%;
font-size: 14px;
margin-top: 8px;
margin-left: 2px;
cursor: text;
}
table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete { padding:.2em .5em .5em .3em; }
table td.filename .nametext, .uploadtext, .modified { float:left; padding:.3em 0; }
#modified {
position: absolute;
top: 15px;
}
.modified {
position: relative;
top: 11px;
left: 5px;
}
/* TODO fix usability bug (accidental file/folder selection) */
table td.filename .nametext { overflow:hidden; text-overflow:ellipsis; max-width:800px; }
table td.filename .nametext {
position: absolute;
top: 16px;
left: 55px;
padding: 0;
overflow: hidden;
text-overflow: ellipsis;
max-width: 800px;
}
table td.filename .uploadtext { font-weight:normal; margin-left:.5em; }
table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
/* File checkboxes */
#fileList tr td.filename>input[type="checkbox"]:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; float:left; margin:.7em 0 0 1em; /* bigger clickable area doesnt work in FF width:2.8em; height:2.4em;*/ -webkit-transition:opacity 200ms; -moz-transition:opacity 200ms; -o-transition:opacity 200ms; transition:opacity 200ms; }
#fileList tr td.filename>input[type="checkbox"]:hover:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; filter:alpha(opacity=80); opacity:.8; }
/* Always show checkbox when selected */
#fileList tr td.filename>input[type="checkbox"]:checked:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
#fileList tr.selected td.filename>input[type="checkbox"]:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
#fileList tr td.filename>input[type="checkbox"]:first-child {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
float: left;
margin: 32px 0 4px 32px; /* bigger clickable area doesnt work in FF width:2.8em; height:2.4em;*/
}
/* Show checkbox when hovering, checked, or selected */
#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;
}
/* Use label to have bigger clickable size for checkbox */
#fileList tr td.filename>input[type="checkbox"] + label,
#select_all + label {
height: 50px;
position: absolute;
width: 50px;
z-index: 5;
}
#fileList tr td.filename>input[type="checkbox"] + label {
left: 0;
}
#select_all + label {
top: 0;
}
#select_all {
position: absolute;
top: 18px;
left: 18px;
}
#fileList tr td.filename {
position:relative; width:100%;
-webkit-transition:background-image 500ms; -moz-transition:background-image 500ms; -o-transition:background-image 500ms; transition:background-image 500ms;
}
#select_all { float:left; margin:.4em 0.6em 0 .5em; }
#uploadsize-message,#delete-confirm { display:none; }
/* File actions */
.fileactions {
position:absolute; top:.6em; right:0;
font-size:.8em;
position: absolute;
top: 16px;
right: 0;
font-size: 11px;
}
#fileList .name { position:relative; /* Firefox needs to explicitly have this default set … */ }
#fileList tr:hover .fileactions { /* background to distinguish when overlaying with file names */
background-color: rgba(240,240,240,0.898);
box-shadow: -5px 0 7px rgba(240,240,240,0.898);
@ -142,15 +238,39 @@ table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
box-shadow: -5px 0 7px rgba(230,230,230,.9);
}
#fileList .fileactions a.action img { position:relative; top:.2em; }
#fileList a.action { display:inline; margin:-.5em 0; padding:1em .5em 1em .5em !important; }
#fileList img.move2trash { display:inline; margin:-.5em 0; padding:1em .5em 1em .5em !important; float:right; }
a.action.delete { float:right; }
#fileList a.action.delete {
position: absolute;
right: 0;
top: 0;
margin: 0;
padding: 15px 14px 19px !important;
}
a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
.selectedActions { display:none; float:right; }
.selectedActions a { display:inline; margin:-.5em 0; padding:.5em !important; }
.selectedActions a img { position:relative; top:.3em; }
/* Actions for selected files */
.selectedActions {
display: none;
position: absolute;
top: -1px;
right: 0;
padding: 15px 8px;
}
.selectedActions a {
display: inline;
padding: 17px 5px;
}
.selectedActions a img {
position:relative;
top:.3em;
}
#fileList a.action {
display: inline;
margin: -.5em 0;
padding: 18px 8px !important;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
@ -185,9 +305,8 @@ a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
padding-bottom: 8px;
border-bottom: none;
}
.summary .info {
margin-left: 3em;
margin-left: 55px;
}
#scanning-message{ top:40%; left:40%; position:absolute; display:none; }

View file

@ -74,6 +74,7 @@ foreach ($content as $i) {
}
}
$i['directory'] = $dir;
$i['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($i['mimetype']);
$files[] = $i;
}
@ -95,6 +96,7 @@ $list->assign('files', $files);
$list->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=');
$list->assign('downloadURL', OCP\Util::linkToRoute('download', array('file' => '/')));
$list->assign('disableSharing', false);
$list->assign('isPublic', false);
$breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
$breadcrumbNav->assign('breadcrumb', $breadcrumb);
$breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=');

View file

@ -227,7 +227,7 @@ $(document).ready(function() {
$(this).data('text',text);
$(this).children('p').remove();
var form=$('<form></form>');
var input=$('<input>');
var input=$('<input type="text">');
form.append(input);
$(this).append(form);
input.focus();
@ -268,8 +268,9 @@ $(document).ready(function() {
tr.attr('data-mime',result.data.mime);
tr.attr('data-id', result.data.id);
tr.find('.filesize').text(humanFileSize(result.data.size));
getMimeIcon(result.data.mime,function(path){
tr.find('td.filename').attr('style','background-image:url('+path+')');
var path = getPathForPreview(name);
lazyLoadPreview(path, result.data.mime, function(previewpath){
tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
});
} else {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
@ -330,8 +331,9 @@ $(document).ready(function() {
var tr=$('tr').filterAttr('data-file',localName);
tr.data('mime',mime).data('id',id);
tr.attr('data-id', id);
getMimeIcon(mime,function(path){
tr.find('td.filename').attr('style','background-image:url('+path+')');
var path = $('#dir').val()+'/'+localName;
lazyLoadPreview(path, mime, function(previewpath){
tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
});
});
eventSource.listen('error',function(error){
@ -346,4 +348,5 @@ $(document).ready(function() {
$('#new>a').click();
});
});
window.file_upload_param = file_upload_param;
});

View file

@ -15,9 +15,10 @@ var FileList={
// filename td
td = $('<td></td>').attr({
"class": "filename",
"style": 'background-image:url('+iconurl+'); background-size: 16px;'
"style": 'background-image:url('+iconurl+'); background-size: 32px;'
});
td.append('<input type="checkbox" />');
var rand = Math.random().toString(16).slice(2);
td.append('<input id="select-'+rand+'" type="checkbox" /><label for="select-'+rand+'"></label>');
var link_elem = $('<a></a>').attr({
"class": "name",
"href": linktarget
@ -146,7 +147,7 @@ var FileList={
$('tr').filterAttr('data-file',name).remove();
FileList.updateFileSummary();
if($('tr[data-file]').length==0){
$('#emptyfolder').show();
$('#emptycontent').show();
}
},
insertElement:function(name,type,element){
@ -176,7 +177,7 @@ var FileList={
}else{
$('#fileList').append(element);
}
$('#emptyfolder').hide();
$('#emptycontent').hide();
FileList.updateFileSummary();
},
loadingDone:function(name, id){
@ -187,8 +188,9 @@ var FileList={
if (id != null) {
tr.attr('data-id', id);
}
getMimeIcon(mime,function(path){
tr.find('td.filename').attr('style','background-image:url('+path+')');
var path = getPathForPreview(name);
lazyLoadPreview(path, mime, function(previewpath){
tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
});
tr.find('td.filename').draggable(dragOptions);
},
@ -200,7 +202,7 @@ var FileList={
tr=$('tr').filterAttr('data-file',name);
tr.data('renaming',true);
td=tr.children('td.filename');
input=$('<input class="filename"/>').val(name);
input=$('<input type="text" class="filename"/>').val(name);
form=$('<form></form>');
form.append(input);
td.children('a.name').hide();

View file

@ -454,8 +454,9 @@ var createDragShadow = function(event){
if (elem.type === 'dir') {
newtr.find('td.filename').attr('style','background-image:url('+OC.imagePath('core', 'filetypes/folder.png')+')');
} else {
getMimeIcon(elem.mime,function(path){
newtr.find('td.filename').attr('style','background-image:url('+path+')');
var path = getPathForPreview(elem.name);
lazyLoadPreview(path, elem.mime, function(previewpath){
newtr.find('td.filename').attr('style','background-image:url('+previewpath+')');
});
}
});
@ -631,6 +632,23 @@ function getMimeIcon(mime, ready){
}
getMimeIcon.cache={};
function getPathForPreview(name) {
var path = $('#dir').val() + '/' + name;
return path;
}
function lazyLoadPreview(path, mime, ready) {
getMimeIcon(mime,ready);
var x = $('#filestable').data('preview-x');
var y = $('#filestable').data('preview-y');
var previewURL = OC.Router.generate('core_ajax_preview', {file: encodeURIComponent(path), x:x, y:y});
$.get(previewURL, function() {
previewURL = previewURL.replace('(','%28');
previewURL = previewURL.replace(')','%29');
ready(previewURL + '&reload=true');
});
}
function getUniqueName(name){
if($('tr').filterAttr('data-file',name).length>0){
var parts=name.split('.');

View file

@ -2,6 +2,8 @@
$TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "فشل في نقل الملف %s - يوجد ملف بنفس هذا الاسم",
"Could not move %s" => "فشل في نقل %s",
"Unable to set upload directory." => "غير قادر على تحميل المجلد",
"Invalid Token" => "علامة غير صالحة",
"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 ",
@ -11,12 +13,15 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "المجلد المؤقت غير موجود",
"Failed to write to disk" => "خطأ في الكتابة على القرص الصلب",
"Not enough storage available" => "لا يوجد مساحة تخزينية كافية",
"Upload failed" => "عملية الرفع فشلت",
"Invalid directory." => "مسار غير صحيح.",
"Files" => "الملفات",
"Unable to upload your file as it is a directory or has 0 bytes" => "فشل في رفع ملفاتك , إما أنها مجلد أو حجمها 0 بايت",
"Not enough space available" => "لا توجد مساحة كافية",
"Upload cancelled." => "تم إلغاء عملية رفع الملفات .",
"File upload is in progress. Leaving the page now will cancel the upload." => "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.",
"URL cannot be empty." => "عنوان ال URL لا يجوز أن يكون فارغا.",
"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "تسمية ملف غير صالحة. استخدام الاسم \"shared\" محجوز بواسطة ownCloud",
"Error" => "خطأ",
"Share" => "شارك",
"Delete permanently" => "حذف بشكل دائم",
@ -30,12 +35,15 @@ $TRANSLATIONS = array(
"undo" => "تراجع",
"_%n folder_::_%n folders_" => array("","","","","",""),
"_%n file_::_%n files_" => array("","","","","",""),
"{dirs} and {files}" => "{dirs} و {files}",
"_Uploading %n file_::_Uploading %n files_" => array("","","","","",""),
"files uploading" => "يتم تحميل الملفات",
"'.' is an invalid file name." => "\".\" اسم ملف غير صحيح.",
"File name cannot be empty." => "اسم الملف لا يجوز أن يكون فارغا",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "اسم غير صحيح , الرموز '\\', '/', '<', '>', ':', '\"', '|', '?' و \"*\" غير مسموح استخدامها",
"Your storage is full, files can not be updated or synced anymore!" => "مساحتك التخزينية ممتلئة, لا يمكم تحديث ملفاتك أو مزامنتها بعد الآن !",
"Your storage is almost full ({usedSpacePercent}%)" => "مساحتك التخزينية امتلأت تقريبا ",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "تم تعطيل التشفير لكن ملفاتك لا تزال مشفرة. فضلا اذهب إلى الإعدادات الشخصية لإزالة التشفير عن ملفاتك.",
"Your download is being prepared. This might take some time if the files are big." => "جاري تجهيز عملية التحميل. قد تستغرق بعض الوقت اذا كان حجم الملفات كبير.",
"Name" => "اسم",
"Size" => "حجم",

View file

@ -6,6 +6,7 @@ $TRANSLATIONS = array(
"No file was uploaded" => "Фахлът не бе качен",
"Missing a temporary folder" => "Липсва временна папка",
"Failed to write to disk" => "Възникна проблем при запис в диска",
"Upload failed" => "Качването е неуспешно",
"Invalid directory." => "Невалидна директория.",
"Files" => "Файлове",
"Upload cancelled." => "Качването е спряно.",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Falta un fitxer temporal",
"Failed to write to disk" => "Ha fallat en escriure al disc",
"Not enough storage available" => "No hi ha prou espai disponible",
"Upload failed" => "La pujada ha fallat",
"Invalid directory." => "Directori no vàlid.",
"Files" => "Fitxers",
"Unable to upload your file as it is a directory or has 0 bytes" => "No es pot pujar el fitxer perquè és una carpeta o té 0 bytes",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Chybí adresář pro dočasné soubory",
"Failed to write to disk" => "Zápis na disk selhal",
"Not enough storage available" => "Nedostatek dostupného úložného prostoru",
"Upload failed" => "Odesílání selhalo",
"Invalid directory." => "Neplatný adresář",
"Files" => "Soubory",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nelze odeslat Váš soubor, protože je to adresář nebo jeho velikost je 0 bajtů",
@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "vrátit zpět",
"_%n folder_::_%n folders_" => array("%n složka","%n složky","%n složek"),
"_%n file_::_%n files_" => array("%n soubor","%n soubory","%n souborů"),
"{dirs} and {files}" => "{dirs} a {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Nahrávám %n soubor","Nahrávám %n soubory","Nahrávám %n souborů"),
"files uploading" => "soubory se odesílají",
"'.' is an invalid file name." => "'.' je neplatným názvem souboru.",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Plygell dros dro yn eisiau",
"Failed to write to disk" => "Methwyd ysgrifennu i'r ddisg",
"Not enough storage available" => "Dim digon o le storio ar gael",
"Upload failed" => "Methwyd llwytho i fyny",
"Invalid directory." => "Cyfeiriadur annilys.",
"Files" => "Ffeiliau",
"Unable to upload your file as it is a directory or has 0 bytes" => "Methu llwytho'ch ffeil i fyny gan ei fod yn gyferiadur neu'n cynnwys 0 beit",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Manglende midlertidig mappe.",
"Failed to write to disk" => "Fejl ved skrivning til disk.",
"Not enough storage available" => "Der er ikke nok plads til rådlighed",
"Upload failed" => "Upload fejlede",
"Invalid directory." => "Ugyldig mappe.",
"Files" => "Filer",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan ikke uploade din fil - det er enten en mappe eller en fil med et indhold på 0 bytes.",
@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "fortryd",
"_%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("Uploader %n fil","Uploader %n filer"),
"files uploading" => "uploader filer",
"'.' is an invalid file name." => "'.' er et ugyldigt filnavn.",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Kein temporärer Ordner vorhanden",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
"Not enough storage available" => "Nicht genug Speicher vorhanden.",
"Upload failed" => "Hochladen fehlgeschlagen",
"Invalid directory." => "Ungültiges Verzeichnis.",
"Files" => "Dateien",
"Unable to upload your file as it is a directory or has 0 bytes" => "Deine Datei kann nicht hochgeladen werden, weil es sich um einen Ordner handelt oder 0 Bytes groß ist.",
@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "rückgängig machen",
"_%n folder_::_%n folders_" => array("%n Ordner","%n Ordner"),
"_%n file_::_%n files_" => array("%n Datei","%n Dateien"),
"{dirs} and {files}" => "{dirs} und {files}",
"_Uploading %n file_::_Uploading %n files_" => array("%n Datei wird hochgeladen","%n Dateien werden hochgeladen"),
"files uploading" => "Dateien werden hoch geladen",
"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Kein temporärer Ordner vorhanden",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
"Not enough storage available" => "Nicht genug Speicher vorhanden.",
"Upload failed" => "Hochladen fehlgeschlagen",
"Invalid directory." => "Ungültiges Verzeichnis.",
"Files" => "Dateien",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ihre Datei kann nicht hochgeladen werden, weil es sich um einen Ordner handelt oder 0 Bytes groß ist.",
@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "rückgängig machen",
"_%n folder_::_%n folders_" => array("%n Ordner","%n Ordner"),
"_%n file_::_%n files_" => array("%n Datei","%n Dateien"),
"{dirs} and {files}" => "{dirs} und {files}",
"_Uploading %n file_::_Uploading %n files_" => array("%n Datei wird hoch geladen","%n Dateien werden hoch geladen"),
"files uploading" => "Dateien werden hoch geladen",
"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Λείπει ο προσωρινός φάκελος",
"Failed to write to disk" => "Αποτυχία εγγραφής στο δίσκο",
"Not enough storage available" => "Μη επαρκής διαθέσιμος αποθηκευτικός χώρος",
"Upload failed" => "Η μεταφόρτωση απέτυχε",
"Invalid directory." => "Μη έγκυρος φάκελος.",
"Files" => "Αρχεία",
"Unable to upload your file as it is a directory or has 0 bytes" => "Αδυναμία στην αποστολή του αρχείου σας αφού είναι φάκελος ή έχει 0 bytes",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Mankas provizora dosierujo.",
"Failed to write to disk" => "Malsukcesis skribo al disko",
"Not enough storage available" => "Ne haveblas sufiĉa memoro",
"Upload failed" => "Alŝuto malsukcesis",
"Invalid directory." => "Nevalida dosierujo.",
"Files" => "Dosieroj",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ne eblis alŝuti vian dosieron ĉar ĝi estas dosierujo aŭ havas 0 duumokojn",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Falta la carpeta temporal",
"Failed to write to disk" => "Falló al escribir al disco",
"Not enough storage available" => "No hay suficiente espacio disponible",
"Upload failed" => "Error en la subida",
"Invalid directory." => "Directorio inválido.",
"Files" => "Archivos",
"Unable to upload your file as it is a directory or has 0 bytes" => "Incapaz de subir su archivo, es un directorio o tiene 0 bytes",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Falta un directorio temporal",
"Failed to write to disk" => "Error al escribir en el disco",
"Not enough storage available" => "No hay suficiente almacenamiento",
"Upload failed" => "Error al subir el archivo",
"Invalid directory." => "Directorio inválido.",
"Files" => "Archivos",
"Unable to upload your file as it is a directory or has 0 bytes" => "No fue posible subir el archivo porque es un directorio o porque su tamaño es 0 bytes",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Ajutiste failide kaust puudub",
"Failed to write to disk" => "Kettale kirjutamine ebaõnnestus",
"Not enough storage available" => "Saadaval pole piisavalt ruumi",
"Upload failed" => "Üleslaadimine ebaõnnestus",
"Invalid directory." => "Vigane kaust.",
"Files" => "Failid",
"Unable to upload your file as it is a directory or has 0 bytes" => "Faili ei saa üles laadida, kuna see on kaust või selle suurus on 0 baiti",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Aldi bateko karpeta falta da",
"Failed to write to disk" => "Errore bat izan da diskoan idazterakoan",
"Not enough storage available" => "Ez dago behar aina leku erabilgarri,",
"Upload failed" => "igotzeak huts egin du",
"Invalid directory." => "Baliogabeko karpeta.",
"Files" => "Fitxategiak",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ezin izan da zure fitxategia igo karpeta bat delako edo 0 byte dituelako",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "یک پوشه موقت گم شده",
"Failed to write to disk" => "نوشتن بر روی دیسک سخت ناموفق بود",
"Not enough storage available" => "فضای کافی در دسترس نیست",
"Upload failed" => "بارگزاری ناموفق بود",
"Invalid directory." => "فهرست راهنما نامعتبر می باشد.",
"Files" => "پرونده‌ها",
"Unable to upload your file as it is a directory or has 0 bytes" => "ناتوان در بارگذاری یا فایل یک پوشه است یا 0بایت دارد",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Tilapäiskansio puuttuu",
"Failed to write to disk" => "Levylle kirjoitus epäonnistui",
"Not enough storage available" => "Tallennustilaa ei ole riittävästi käytettävissä",
"Upload failed" => "Lähetys epäonnistui",
"Invalid directory." => "Virheellinen kansio.",
"Files" => "Tiedostot",
"Unable to upload your file as it is a directory or has 0 bytes" => "Tiedoston lähetys epäonnistui, koska sen koko on 0 tavua tai kyseessä on kansio.",
@ -30,6 +31,7 @@ $TRANSLATIONS = array(
"undo" => "kumoa",
"_%n folder_::_%n folders_" => array("%n kansio","%n kansiota"),
"_%n file_::_%n files_" => array("%n tiedosto","%n tiedostoa"),
"{dirs} and {files}" => "{dirs} ja {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Lähetetään %n tiedosto","Lähetetään %n tiedostoa"),
"'.' is an invalid file name." => "'.' on virheellinen nimi tiedostolle.",
"File name cannot be empty." => "Tiedoston nimi ei voi olla tyhjä.",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Absence de dossier temporaire.",
"Failed to write to disk" => "Erreur d'écriture sur le disque",
"Not enough storage available" => "Plus assez d'espace de stockage disponible",
"Upload failed" => "Échec de l'envoi",
"Invalid directory." => "Dossier invalide.",
"Files" => "Fichiers",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossible d'envoyer votre fichier dans la mesure où il s'agit d'un répertoire ou d'un fichier de taille nulle",
@ -32,15 +33,17 @@ $TRANSLATIONS = array(
"cancel" => "annuler",
"replaced {new_name} with {old_name}" => "{new_name} a été remplacé par {old_name}",
"undo" => "annuler",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"_Uploading %n file_::_Uploading %n files_" => array("",""),
"_%n folder_::_%n folders_" => array("%n dossier","%n dossiers"),
"_%n file_::_%n files_" => array("%n fichier","%n fichiers"),
"{dirs} and {files}" => "{dir} et {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Téléversement de %n fichier","Téléversement de %n fichiers"),
"files uploading" => "fichiers en cours d'envoi",
"'.' is an invalid file name." => "'.' n'est pas un nom de fichier valide.",
"File name cannot be empty." => "Le nom de fichier ne peut être vide.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés.",
"Your storage is full, files can not be updated or synced anymore!" => "Votre espage de stockage est plein, les fichiers ne peuvent plus être téléversés ou synchronisés !",
"Your storage is almost full ({usedSpacePercent}%)" => "Votre espace de stockage est presque plein ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Le chiffrement était désactivé mais vos fichiers sont toujours chiffrés. Veuillez vous rendre sur vos Paramètres personnels pour déchiffrer vos fichiers.",
"Your download is being prepared. This might take some time if the files are big." => "Votre téléchargement est cours de préparation. Ceci peut nécessiter un certain temps si les fichiers sont volumineux.",
"Name" => "Nom",
"Size" => "Taille",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Falta o cartafol temporal",
"Failed to write to disk" => "Produciuse un erro ao escribir no disco",
"Not enough storage available" => "Non hai espazo de almacenamento abondo",
"Upload failed" => "Produciuse un fallou no envío",
"Invalid directory." => "O directorio é incorrecto.",
"Files" => "Ficheiros",
"Unable to upload your file as it is a directory or has 0 bytes" => "Non foi posíbel enviar o ficheiro pois ou é un directorio ou ten 0 bytes",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "תקיה זמנית חסרה",
"Failed to write to disk" => "הכתיבה לכונן נכשלה",
"Not enough storage available" => "אין די שטח פנוי באחסון",
"Upload failed" => "ההעלאה נכשלה",
"Invalid directory." => "תיקייה שגויה.",
"Files" => "קבצים",
"Unable to upload your file as it is a directory or has 0 bytes" => "לא יכול להעלות את הקובץ מכיוון שזו תקיה או שמשקל הקובץ 0 בתים",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Hiányzik egy ideiglenes mappa",
"Failed to write to disk" => "Nem sikerült a lemezre történő írás",
"Not enough storage available" => "Nincs elég szabad hely.",
"Upload failed" => "A feltöltés nem sikerült",
"Invalid directory." => "Érvénytelen mappa.",
"Files" => "Fájlok",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nem tölthető fel, mert mappa volt, vagy 0 byte méretű",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Manca una cartella temporanea",
"Failed to write to disk" => "Scrittura su disco non riuscita",
"Not enough storage available" => "Spazio di archiviazione insufficiente",
"Upload failed" => "Caricamento non riuscito",
"Invalid directory." => "Cartella non valida.",
"Files" => "File",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossibile caricare il file poiché è una cartella o ha una dimensione di 0 byte",
@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "annulla",
"_%n folder_::_%n folders_" => array("%n cartella","%n cartelle"),
"_%n file_::_%n files_" => array("%n file","%n file"),
"{dirs} and {files}" => "{dirs} e {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Caricamento di %n file in corso","Caricamento di %n file in corso"),
"files uploading" => "caricamento file",
"'.' is an invalid file name." => "'.' non è un nome file valido.",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "一時保存フォルダが見つかりません",
"Failed to write to disk" => "ディスクへの書き込みに失敗しました",
"Not enough storage available" => "ストレージに十分な空き容量がありません",
"Upload failed" => "アップロードに失敗",
"Invalid directory." => "無効なディレクトリです。",
"Files" => "ファイル",
"Unable to upload your file as it is a directory or has 0 bytes" => "ディレクトリもしくは0バイトのファイルはアップロードできません",
@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "元に戻す",
"_%n folder_::_%n folders_" => array("%n個のフォルダ"),
"_%n file_::_%n files_" => array("%n個のファイル"),
"{dirs} and {files}" => "{dirs} と {files}",
"_Uploading %n file_::_Uploading %n files_" => array("%n 個のファイルをアップロード中"),
"files uploading" => "ファイルをアップロード中",
"'.' is an invalid file name." => "'.' は無効なファイル名です。",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "დროებითი საქაღალდე არ არსებობს",
"Failed to write to disk" => "შეცდომა დისკზე ჩაწერისას",
"Not enough storage available" => "საცავში საკმარისი ადგილი არ არის",
"Upload failed" => "ატვირთვა ვერ განხორციელდა",
"Invalid directory." => "დაუშვებელი დირექტორია.",
"Files" => "ფაილები",
"Unable to upload your file as it is a directory or has 0 bytes" => "თქვენი ფაილის ატვირთვა ვერ მოხერხდა. ის არის საქაღალდე და შეიცავს 0 ბაიტს",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "임시 폴더가 없음",
"Failed to write to disk" => "디스크에 쓰지 못했습니다",
"Not enough storage available" => "저장소가 용량이 충분하지 않습니다.",
"Upload failed" => "업로드 실패",
"Invalid directory." => "올바르지 않은 디렉터리입니다.",
"Files" => "파일",
"Unable to upload your file as it is a directory or has 0 bytes" => "디렉터리 및 빈 파일은 업로드할 수 없습니다",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Nėra laikinojo katalogo",
"Failed to write to disk" => "Nepavyko įrašyti į diską",
"Not enough storage available" => "Nepakanka vietos serveryje",
"Upload failed" => "Nusiuntimas nepavyko",
"Invalid directory." => "Neteisingas aplankas",
"Files" => "Failai",
"Unable to upload your file as it is a directory or has 0 bytes" => "Neįmanoma įkelti failo - jo dydis gali būti 0 bitų arba tai katalogas",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Trūkst pagaidu mapes",
"Failed to write to disk" => "Neizdevās saglabāt diskā",
"Not enough storage available" => "Nav pietiekami daudz vietas",
"Upload failed" => "Neizdevās augšupielādēt",
"Invalid directory." => "Nederīga direktorija.",
"Files" => "Datnes",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nevar augšupielādēt jūsu datni, jo tā ir direktorija vai arī tā ir 0 baitu liela",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Mangler midlertidig mappe",
"Failed to write to disk" => "Klarte ikke å skrive til disk",
"Not enough storage available" => "Ikke nok lagringsplass",
"Upload failed" => "Opplasting feilet",
"Invalid directory." => "Ugyldig katalog.",
"Files" => "Filer",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan ikke laste opp filen din siden det er en mappe eller den har 0 bytes",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Er ontbreekt een tijdelijke map",
"Failed to write to disk" => "Schrijven naar schijf mislukt",
"Not enough storage available" => "Niet genoeg opslagruimte beschikbaar",
"Upload failed" => "Upload mislukt",
"Invalid directory." => "Ongeldige directory.",
"Files" => "Bestanden",
"Unable to upload your file as it is a directory or has 0 bytes" => "Het lukt niet om uw bestand te uploaded, omdat het een folder of 0 bytes is",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Manglar ei mellombels mappe",
"Failed to write to disk" => "Klarte ikkje skriva til disk",
"Not enough storage available" => "Ikkje nok lagringsplass tilgjengeleg",
"Upload failed" => "Feil ved opplasting",
"Invalid directory." => "Ugyldig mappe.",
"Files" => "Filer",
"Unable to upload your file as it is a directory or has 0 bytes" => "Klarte ikkje lasta opp fila sidan ho er ei mappe eller er på 0 byte",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Brak folderu tymczasowego",
"Failed to write to disk" => "Błąd zapisu na dysk",
"Not enough storage available" => "Za mało dostępnego miejsca",
"Upload failed" => "Wysyłanie nie powiodło się",
"Invalid directory." => "Zła ścieżka.",
"Files" => "Pliki",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nie można wczytać pliku, ponieważ jest on katalogiem lub ma 0 bajtów",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Pasta temporária não encontrada",
"Failed to write to disk" => "Falha ao escrever no disco",
"Not enough storage available" => "Espaço de armazenamento insuficiente",
"Upload failed" => "Falha no envio",
"Invalid directory." => "Diretório inválido.",
"Files" => "Arquivos",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossível enviar seus arquivo por ele ser um diretório ou ter 0 bytes.",
@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "desfazer",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"{dirs} and {files}" => "{dirs} e {files}",
"_Uploading %n file_::_Uploading %n files_" => array("",""),
"files uploading" => "enviando arquivos",
"'.' is an invalid file name." => "'.' é um nome de arquivo inválido.",
@ -41,6 +43,7 @@ $TRANSLATIONS = array(
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
"Your storage is full, files can not be updated or synced anymore!" => "Seu armazenamento está cheio, arquivos não podem mais ser atualizados ou sincronizados!",
"Your storage is almost full ({usedSpacePercent}%)" => "Seu armazenamento está quase cheio ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Encriptação foi desabilitada mas seus arquivos continuam encriptados. Por favor vá a suas configurações pessoais para descriptar seus arquivos.",
"Your download is being prepared. This might take some time if the files are big." => "Seu download está sendo preparado. Isto pode levar algum tempo se os arquivos forem grandes.",
"Name" => "Nome",
"Size" => "Tamanho",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Está a faltar a pasta temporária",
"Failed to write to disk" => "Falhou a escrita no disco",
"Not enough storage available" => "Não há espaço suficiente em disco",
"Upload failed" => "Carregamento falhou",
"Invalid directory." => "Directório Inválido",
"Files" => "Ficheiros",
"Unable to upload your file as it is a directory or has 0 bytes" => "Não é possível fazer o envio do ficheiro devido a ser uma pasta ou ter 0 bytes",
@ -32,15 +33,17 @@ $TRANSLATIONS = array(
"cancel" => "cancelar",
"replaced {new_name} with {old_name}" => "substituido {new_name} por {old_name}",
"undo" => "desfazer",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"_Uploading %n file_::_Uploading %n files_" => array("",""),
"_%n folder_::_%n folders_" => array("%n pasta","%n pastas"),
"_%n file_::_%n files_" => array("%n ficheiro","%n ficheiros"),
"{dirs} and {files}" => "{dirs} e {files}",
"_Uploading %n file_::_Uploading %n files_" => array("A carregar %n ficheiro","A carregar %n ficheiros"),
"files uploading" => "A enviar os ficheiros",
"'.' is an invalid file name." => "'.' não é um nome de ficheiro válido!",
"File name cannot be empty." => "O nome do ficheiro não pode estar vazio.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
"Your storage is full, files can not be updated or synced anymore!" => "O seu armazenamento está cheio, os ficheiros não podem ser sincronizados.",
"Your storage is almost full ({usedSpacePercent}%)" => "O seu espaço de armazenamento está quase cheiro ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "A encriptação foi desactivada mas os seus ficheiros continuam encriptados. Por favor consulte as suas definições pessoais para desencriptar os ficheiros.",
"Your download is being prepared. This might take some time if the files are big." => "O seu download está a ser preparado. Este processo pode demorar algum tempo se os ficheiros forem grandes.",
"Name" => "Nome",
"Size" => "Tamanho",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Lipsește un director temporar",
"Failed to write to disk" => "Eroare la scriere pe disc",
"Not enough storage available" => "Nu este suficient spațiu disponibil",
"Upload failed" => "Încărcarea a eșuat",
"Invalid directory." => "Director 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.",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Отсутствует временная папка",
"Failed to write to disk" => "Ошибка записи на диск",
"Not enough storage available" => "Недостаточно доступного места в хранилище",
"Upload failed" => "Ошибка загрузки",
"Invalid directory." => "Неправильный каталог.",
"Files" => "Файлы",
"Unable to upload your file as it is a directory or has 0 bytes" => "Файл не был загружен: его размер 0 байт либо это не файл, а директория.",

View file

@ -7,6 +7,7 @@ $TRANSLATIONS = array(
"No file was uploaded" => "ගොනුවක් උඩුගත නොවුණි",
"Missing a temporary folder" => "තාවකාලික ෆොල්ඩරයක් අතුරුදහන්",
"Failed to write to disk" => "තැටිගත කිරීම අසාර්ථකයි",
"Upload failed" => "උඩුගත කිරීම අසාර්ථකයි",
"Files" => "ගොනු",
"Upload cancelled." => "උඩුගත කිරීම අත් හරින්න ලදී",
"File upload is in progress. Leaving the page now will cancel the upload." => "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Chýba dočasný priečinok",
"Failed to write to disk" => "Zápis na disk sa nepodaril",
"Not enough storage available" => "Nedostatok dostupného úložného priestoru",
"Upload failed" => "Odoslanie bolo neúspešné",
"Invalid directory." => "Neplatný priečinok.",
"Files" => "Súbory",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nedá sa odoslať Váš súbor, pretože je to priečinok, alebo je jeho veľkosť 0 bajtov",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Manjka začasna mapa",
"Failed to write to disk" => "Pisanje na disk je spodletelo",
"Not enough storage available" => "Na voljo ni dovolj prostora",
"Upload failed" => "Pošiljanje je spodletelo",
"Invalid directory." => "Neveljavna mapa.",
"Files" => "Datoteke",
"Unable to upload your file as it is a directory or has 0 bytes" => "Pošiljanja ni mogoče izvesti, saj gre za mapo oziroma datoteko velikosti 0 bajtov.",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Недостаје привремена фасцикла",
"Failed to write to disk" => "Не могу да пишем на диск",
"Not enough storage available" => "Нема довољно простора",
"Upload failed" => "Отпремање није успело",
"Invalid directory." => "неисправна фасцикла.",
"Files" => "Датотеке",
"Unable to upload your file as it is a directory or has 0 bytes" => "Не могу да отпремим датотеку као фасциклу или она има 0 бајтова",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "En temporär mapp saknas",
"Failed to write to disk" => "Misslyckades spara till disk",
"Not enough storage available" => "Inte tillräckligt med lagringsutrymme tillgängligt",
"Upload failed" => "Misslyckad uppladdning",
"Invalid directory." => "Felaktig mapp.",
"Files" => "Filer",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan inte ladda upp din fil eftersom det är en katalog eller har 0 bytes",
@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "ångra",
"_%n folder_::_%n folders_" => array("%n mapp","%n mappar"),
"_%n file_::_%n files_" => array("%n fil","%n filer"),
"{dirs} and {files}" => "{dirs} och {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Laddar upp %n fil","Laddar upp %n filer"),
"files uploading" => "filer laddas upp",
"'.' is an invalid file name." => "'.' är ett ogiltigt filnamn.",

View file

@ -7,6 +7,7 @@ $TRANSLATIONS = array(
"No file was uploaded" => "எந்த கோப்பும் பதிவேற்றப்படவில்லை",
"Missing a temporary folder" => "ஒரு தற்காலிகமான கோப்புறையை காணவில்லை",
"Failed to write to disk" => "வட்டில் எழுத முடியவில்லை",
"Upload failed" => "பதிவேற்றல் தோல்வியுற்றது",
"Files" => "கோப்புகள்",
"Unable to upload your file as it is a directory or has 0 bytes" => "அடைவு அல்லது 0 bytes ஐ கொண்டுள்ளதால் உங்களுடைய கோப்பை பதிவேற்ற முடியவில்லை",
"Upload cancelled." => "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "โฟลเดอร์ชั่วคราวเกิดการสูญหาย",
"Failed to write to disk" => "เขียนข้อมูลลงแผ่นดิสก์ล้มเหลว",
"Not enough storage available" => "เหลือพื้นที่ไม่เพียงสำหรับใช้งาน",
"Upload failed" => "อัพโหลดล้มเหลว",
"Invalid directory." => "ไดเร็กทอรี่ไม่ถูกต้อง",
"Files" => "ไฟล์",
"Unable to upload your file as it is a directory or has 0 bytes" => "ไม่สามารถอัพโหลดไฟล์ของคุณได้ เนื่องจากไฟล์ดังกล่าวเป็นไดเร็กทอรี่ หรือ มีขนาดไฟล์ 0 ไบต์",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Geçici dizin eksik",
"Failed to write to disk" => "Diske yazılamadı",
"Not enough storage available" => "Yeterli disk alanı yok",
"Upload failed" => "Yükleme başarısız",
"Invalid directory." => "Geçersiz dizin.",
"Files" => "Dosyalar",
"Unable to upload your file as it is a directory or has 0 bytes" => "Dosyanızın boyutu 0 byte olduğundan veya bir dizin olduğundan yüklenemedi",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Відсутній тимчасовий каталог",
"Failed to write to disk" => "Невдалося записати на диск",
"Not enough storage available" => "Місця більше немає",
"Upload failed" => "Помилка завантаження",
"Invalid directory." => "Невірний каталог.",
"Files" => "Файли",
"Unable to upload your file as it is a directory or has 0 bytes" => "Неможливо завантажити ваш файл тому, що він тека або файл розміром 0 байт",

View file

@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Không tìm thấy thư mục tạm",
"Failed to write to disk" => "Không thể ghi ",
"Not enough storage available" => "Không đủ không gian lưu trữ",
"Upload failed" => "Tải lên thất bại",
"Invalid directory." => "Thư mục không hợp lệ",
"Files" => "Tập tin",
"Unable to upload your file as it is a directory or has 0 bytes" => "Không thể tải lên tập tin của bạn ,nó như là một thư mục hoặc có 0 byte",

View file

@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "缺少临时目录",
"Failed to write to disk" => "写入磁盘失败",
"Not enough storage available" => "没有足够的存储空间",
"Upload failed" => "上传失败",
"Invalid directory." => "无效文件夹。",
"Files" => "文件",
"Unable to upload your file as it is a directory or has 0 bytes" => "无法上传您的文件,文件夹或者空文件",

View file

@ -1,11 +1,11 @@
<?php
$TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "無法移動 %s - 同名的檔案已經存在",
"Could not move %s - File with this name already exists" => "無法移動 %s 同名的檔案已經存在",
"Could not move %s" => "無法移動 %s",
"Unable to set upload directory." => "無法設定上傳目錄",
"Unable to set upload directory." => "無法設定上傳目錄",
"Invalid Token" => "無效的 token",
"No file was uploaded. Unknown error" => "沒有檔案被上傳。未知的錯誤。",
"There is no error, the file uploaded with success" => "無錯誤,檔案上傳成功",
"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: " => "上傳的檔案大小超過 php.ini 當中 upload_max_filesize 參數的設定:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "上傳的檔案大小超過 HTML 表單中 MAX_FILE_SIZE 的限制",
"The uploaded file was only partially uploaded" => "只有檔案的一部分被上傳",
@ -13,13 +13,14 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "找不到暫存資料夾",
"Failed to write to disk" => "寫入硬碟失敗",
"Not enough storage available" => "儲存空間不足",
"Invalid directory." => "無效的資料夾。",
"Upload failed" => "上傳失敗",
"Invalid directory." => "無效的資料夾",
"Files" => "檔案",
"Unable to upload your file as it is a directory or has 0 bytes" => "無法上傳您的檔案因為它可能是一個目錄或檔案大小為0",
"Unable to upload your file as it is a directory or has 0 bytes" => "無法上傳您的檔案因為它可能是一個目錄或檔案大小為0",
"Not enough space available" => "沒有足夠的可用空間",
"Upload cancelled." => "上傳已取消",
"File upload is in progress. Leaving the page now will cancel the upload." => "檔案上傳中離開此頁面將會取消上傳。",
"URL cannot be empty." => "URL 不能為空白。",
"File upload is in progress. Leaving the page now will cancel the upload." => "檔案上傳中離開此頁面將會取消上傳。",
"URL cannot be empty." => "URL 不能為空",
"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "無效的資料夾名稱,'Shared' 的使用被 ownCloud 保留",
"Error" => "錯誤",
"Share" => "分享",
@ -34,43 +35,44 @@ $TRANSLATIONS = array(
"undo" => "復原",
"_%n folder_::_%n folders_" => array("%n 個資料夾"),
"_%n file_::_%n files_" => array("%n 個檔案"),
"{dirs} and {files}" => "{dirs} 和 {files}",
"_Uploading %n file_::_Uploading %n files_" => array("%n 個檔案正在上傳"),
"files uploading" => "檔案正在上傳中",
"'.' is an invalid file name." => "'.' 是不合法的檔名",
"File name cannot be empty." => "檔名不能為空",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "檔名不合法,不允許 '\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 。",
"files uploading" => "檔案上傳中",
"'.' is an invalid file name." => "'.' 是不合法的檔名",
"File name cannot be empty." => "檔名不能為空",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "檔名不合法,不允許 \\ / < > : \" | ? * 字元",
"Your storage is full, files can not be updated or synced anymore!" => "您的儲存空間已滿,沒有辦法再更新或是同步檔案!",
"Your storage is almost full ({usedSpacePercent}%)" => "您的儲存空間快要滿了 ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "加密已經被停用,但是您的舊檔案還是處於已加密的狀態,請前往個人設定以解密這些檔案。",
"Your download is being prepared. This might take some time if the files are big." => "正在準備您的下載,若您的檔案較大,將會需要更多時間。",
"Name" => "名稱",
"Size" => "大小",
"Modified" => "修改",
"Modified" => "修改時間",
"%s could not be renamed" => "無法重新命名 %s",
"Upload" => "上傳",
"File handling" => "檔案處理",
"Maximum upload size" => "最大上傳檔案大小",
"Maximum upload size" => "上傳限制",
"max. possible: " => "最大允許:",
"Needed for multi-file and folder downloads." => "針對多檔案和目錄下載是必填的。",
"Enable ZIP-download" => "啟用 Zip 下載",
"Needed for multi-file and folder downloads." => "下載多檔案和目錄時,此項是必填的。",
"Enable ZIP-download" => "啟用 ZIP 下載",
"0 is unlimited" => "0代表沒有限制",
"Maximum input size for ZIP files" => "針對 ZIP 檔案最大輸入大小",
"Maximum input size for ZIP files" => "ZIP 壓縮前的原始大小限制",
"Save" => "儲存",
"New" => "新增",
"Text file" => "文字檔",
"Folder" => "資料夾",
"From link" => "從連結",
"Deleted files" => "已刪除的檔案",
"Deleted files" => "回收桶",
"Cancel upload" => "取消上傳",
"You dont have write permissions here." => "您在這裡沒有編輯權",
"Nothing in here. Upload something!" => "這裡什麼也沒有,上傳一些東西吧!",
"You dont have write permissions here." => "您在這裡沒有編輯權",
"Nothing in here. Upload something!" => "這裡還沒有東西,上傳一些吧!",
"Download" => "下載",
"Unshare" => "取消",
"Unshare" => "取消",
"Delete" => "刪除",
"Upload too large" => "上傳過大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "您試圖上傳的檔案已超過伺服器的最大檔案大小限制。",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "您試圖上傳的檔案大小超過伺服器的限制。",
"Files are being scanned, please wait." => "正在掃描檔案,請稍等。",
"Current scanning" => "目前掃描",
"Upgrading filesystem cache..." => "正在升級檔案系統快取..."
"Current scanning" => "正在掃描",
"Upgrading filesystem cache..." => "正在升級檔案系統快取"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";

View file

@ -10,7 +10,7 @@
data-type='file'><p><?php p($l->t('Text file'));?></p></li>
<li style="background-image:url('<?php p(OCP\mimetype_icon('dir')) ?>')"
data-type='folder'><p><?php p($l->t('Folder'));?></p></li>
<li style="background-image:url('<?php p(OCP\image_path('core', 'actions/public.png')) ?>')"
<li style="background-image:url('<?php p(OCP\image_path('core', 'filetypes/web.svg')) ?>')"
data-type='web'><p><?php p($l->t('From link'));?></p></li>
</ul>
</div>
@ -56,24 +56,27 @@
</div>
<?php if (isset($_['files']) and $_['isCreatable'] and count($_['files'])==0):?>
<div id="emptyfolder"><?php p($l->t('Nothing in here. Upload something!'))?></div>
<div id="emptycontent"><?php p($l->t('Nothing in here. Upload something!'))?></div>
<?php endif; ?>
<table id="filestable" data-allow-public-upload="<?php p($_['publicUploadEnabled'])?>">
<table id="filestable" data-allow-public-upload="<?php p($_['publicUploadEnabled'])?>" data-preview-x="36" data-preview-y="36">
<thead>
<tr>
<th id='headerName'>
<input type="checkbox" id="select_all" />
<span class='name'><?php p($l->t( 'Name' )); ?></span>
<span class='selectedActions'>
<?php if($_['allowZipDownload']) : ?>
<a href="" class="download">
<img class="svg" alt="Download"
src="<?php print_unescaped(OCP\image_path("core", "actions/download.svg")); ?>" />
<?php p($l->t('Download'))?>
</a>
<?php endif; ?>
</span>
<div id="headerName-container">
<input type="checkbox" id="select_all" />
<label for="select_all"></label>
<span class="name"><?php p($l->t( 'Name' )); ?></span>
<span class="selectedActions">
<?php if($_['allowZipDownload']) : ?>
<a href="" class="download">
<img class="svg" alt="Download"
src="<?php print_unescaped(OCP\image_path("core", "actions/download.svg")); ?>" />
<?php p($l->t('Download'))?>
</a>
<?php endif; ?>
</span>
</div>
</th>
<th id="headerSize"><?php p($l->t('Size')); ?></th>
<th id="headerDate">
@ -101,7 +104,7 @@
<?php print_unescaped($_['fileList']); ?>
</tbody>
</table>
<div id="editor"></div>
<div id="editor"></div><!-- FIXME Do not use this div in your app! It is deprecated and will be removed in the future! -->
<div id="uploadsize-message" title="<?php p($l->t('Upload too large'))?>">
<p>
<?php p($l->t('The files you are trying to upload exceed the maximum size for file uploads on this server.'));?>

View file

@ -1,5 +1,7 @@
<input type="hidden" id="disableSharing" data-status="<?php p($_['disableSharing']); ?>">
<?php foreach($_['files'] as $file):
//strlen('files/') => 6
$relativePath = substr($file['path'], 6);
// the bigger the file, the darker the shade of grey; megabytes*2
$simple_size_color = intval(160-$file['size']/(1024*1024)*2);
if($simple_size_color<0) $simple_size_color = 0;
@ -13,16 +15,38 @@
data-file="<?php p($name);?>"
data-type="<?php ($file['type'] == 'dir')?p('dir'):p('file')?>"
data-mime="<?php p($file['mimetype'])?>"
data-size='<?php p($file['size']);?>'
data-permissions='<?php p($file['permissions']); ?>'>
data-size="<?php p($file['size']);?>"
data-permissions="<?php p($file['permissions']); ?>">
<?php if($file['isPreviewAvailable']): ?>
<td class="filename svg preview-icon"
<?php else: ?>
<td class="filename svg"
<?php endif; ?>
<?php if($file['type'] == 'dir'): ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon('dir')); ?>)"
<?php else: ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
<?php if($_['isPublic']): ?>
<?php
$relativePath = substr($relativePath, strlen($_['sharingroot']));
?>
<?php if($file['isPreviewAvailable']): ?>
style="background-image:url(<?php print_unescaped(OCP\publicPreview_icon($relativePath, $_['sharingtoken'])); ?>)"
<?php else: ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
<?php endif; ?>
<?php else: ?>
<?php if($file['isPreviewAvailable']): ?>
style="background-image:url(<?php print_unescaped(OCP\preview_icon($relativePath)); ?>)"
<?php else: ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
<?php endif; ?>
<?php endif; ?>
<?php endif; ?>
>
<?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>
<?php if(!isset($_['readonly']) || !$_['readonly']): ?>
<input id="select-<?php p($file['fileid']); ?>" type="checkbox" />
<label for="select-<?php p($file['fileid']); ?>"></label>
<?php endif; ?>
<?php if($file['type'] == 'dir'): ?>
<a class="name" href="<?php p(rtrim($_['baseURL'],'/').'/'.trim($directory,'/').'/'.$name); ?>" title="">
<?php else: ?>

View file

@ -36,14 +36,6 @@ class Hooks {
*/
public static function login($params) {
$l = new \OC_L10N('files_encryption');
//check if all requirements are met
if(!Helper::checkRequirements() || !Helper::checkConfiguration() ) {
$error_msg = $l->t("Missing requirements.");
$hint = $l->t('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.');
\OC_App::disable('files_encryption');
\OCP\Util::writeLog('Encryption library', $error_msg . ' ' . $hint, \OCP\Util::ERROR);
\OCP\Template::printErrorPage($error_msg, $hint);
}
$view = new \OC_FilesystemView('/');
@ -54,6 +46,15 @@ class Hooks {
$util = new Util($view, $params['uid']);
//check if all requirements are met
if(!$util->ready() && (!Helper::checkRequirements() || !Helper::checkConfiguration())) {
$error_msg = $l->t("Missing requirements.");
$hint = $l->t('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.');
\OC_App::disable('files_encryption');
\OCP\Util::writeLog('Encryption library', $error_msg . ' ' . $hint, \OCP\Util::ERROR);
\OCP\Template::printErrorPage($error_msg, $hint);
}
// setup user, if user not ready force relogin
if (Helper::setupUser($util, $params['password']) === false) {
return false;

View file

@ -10,6 +10,8 @@ $TRANSLATIONS = array(
"Could not update the private key password. Maybe the old password was not correct." => "Impossible de mettre à jour le mot de passe de la clé privé. Peut-être que l'ancien mot de passe n'était pas correcte.",
"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." => "Votre clé de sécurité privée n'est pas valide! Il est probable que votre mot de passe ait été changé sans passer par le système ownCloud (par éxemple: le serveur de votre entreprise). Ain d'avoir à nouveau accès à vos fichiers cryptés, vous pouvez mettre à jour votre clé de sécurité privée dans les paramètres personnels de votre compte.",
"Missing requirements." => "Système minimum requis non respecté.",
"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." => "Veuillez vous assurer qu'une version de PHP 5.3.3 ou supérieure est installée et qu'OpenSSL et son extension PHP sont activés et configurés correctement. En attendant, l'application de chiffrement été désactivée.",
"Following users are not set up for encryption:" => "Les utilisateurs suivants ne sont pas configurés pour le chiffrement :",
"Saving..." => "Enregistrement...",
"Your private key is not valid! Maybe the your password was changed from outside." => "Votre clef privée est invalide ! Votre mot de passe a peut-être été modifié depuis l'extérieur.",
"You can unlock your private key in your " => "Vous pouvez déverrouiller votre clé privée dans votre",

View file

@ -1,6 +1,18 @@
<?php
$TRANSLATIONS = array(
"Recovery key successfully disabled" => "Visszaállítási kulcs sikeresen kikapcsolva",
"Password successfully changed." => "Jelszó sikeresen megváltoztatva.",
"Could not change the password. Maybe the old password was not correct." => "A jelszót nem lehet megváltoztatni! Lehet, hogy hibás volt a régi jelszó.",
"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." => "Kérlek győződj meg arról, hogy PHP 5.3.3 vagy annál frissebb van telepítve, valamint a PHP-hez tartozó OpenSSL bővítmény be van-e kapcsolva és az helyesen van-e konfigurálva! Ki lett kapcsolva ideiglenesen a titkosító alkalmazás.",
"Saving..." => "Mentés...",
"Encryption" => "Titkosítás"
"personal settings" => "személyes beállítások",
"Encryption" => "Titkosítás",
"Enabled" => "Bekapcsolva",
"Disabled" => "Kikapcsolva",
"Change Password" => "Jelszó megváltoztatása",
"Old log-in password" => "Régi bejelentkezési jelszó",
"Current log-in password" => "Jelenlegi bejelentkezési jelszó",
"Update Private Key Password" => "Privát kulcs jelszó frissítése",
"Enable password recovery:" => "Jelszó-visszaállítás bekapcsolása"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";

View file

@ -52,14 +52,14 @@ class Crypt {
$return = false;
$res = openssl_pkey_new(array('private_key_bits' => 4096));
$res = Helper::getOpenSSLPkey();
if ($res === false) {
\OCP\Util::writeLog('Encryption library', 'couldn\'t generate users key-pair for ' . \OCP\User::getUser(), \OCP\Util::ERROR);
while ($msg = openssl_error_string()) {
\OCP\Util::writeLog('Encryption library', 'openssl_pkey_new() fails: ' . $msg, \OCP\Util::ERROR);
}
} elseif (openssl_pkey_export($res, $privateKey)) {
} elseif (openssl_pkey_export($res, $privateKey, null, Helper::getOpenSSLConfig())) {
// Get public key
$keyDetails = openssl_pkey_get_details($res);
$publicKey = $keyDetails['key'];
@ -70,7 +70,9 @@ class Crypt {
);
} else {
\OCP\Util::writeLog('Encryption library', 'couldn\'t export users private key, please check your servers openSSL configuration.' . \OCP\User::getUser(), \OCP\Util::ERROR);
\OCP\Util::writeLog('Encryption library', openssl_error_string(), \OCP\Util::ERROR);
while($errMsg = openssl_error_string()) {
\OCP\Util::writeLog('Encryption library', $errMsg, \OCP\Util::ERROR);
}
}
return $return;

View file

@ -265,7 +265,7 @@ class Helper {
* @return bool true if configuration seems to be OK
*/
public static function checkConfiguration() {
if(openssl_pkey_new(array('private_key_bits' => 4096))) {
if(self::getOpenSSLPkey()) {
return true;
} else {
while ($msg = openssl_error_string()) {
@ -275,6 +275,26 @@ class Helper {
}
}
/**
* Create an openssl pkey with config-supplied settings
* WARNING: This initializes a new private keypair, which is computationally expensive
* @return resource The pkey resource created
*/
public static function getOpenSSLPkey() {
return openssl_pkey_new(self::getOpenSSLConfig());
}
/**
* Return an array of OpenSSL config options, default + config
* Used for multiple OpenSSL functions
* @return array The combined defaults and config settings
*/
public static function getOpenSSLConfig() {
$config = array('private_key_bits' => 4096);
$config = array_merge(\OCP\Config::getSystemValue('openssl', array()), $config);
return $config;
}
/**
* @brief glob uses different pattern than regular expressions, escape glob pattern only
* @param unescaped path

View file

@ -0,0 +1,85 @@
<?php
/**
* Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
if(!\OC_App::isEnabled('files_sharing')){
exit;
}
$file = array_key_exists('file', $_GET) ? (string) urldecode($_GET['file']) : '';
$maxX = array_key_exists('x', $_GET) ? (int) $_GET['x'] : '36';
$maxY = array_key_exists('y', $_GET) ? (int) $_GET['y'] : '36';
$scalingUp = array_key_exists('scalingup', $_GET) ? (bool) $_GET['scalingup'] : true;
$token = array_key_exists('t', $_GET) ? (string) $_GET['t'] : '';
if($token === ''){
\OC_Response::setStatus(400); //400 Bad Request
\OC_Log::write('core-preview', 'No token parameter was passed', \OC_Log::DEBUG);
exit;
}
$linkedItem = \OCP\Share::getShareByToken($token);
if($linkedItem === false || ($linkedItem['item_type'] !== 'file' && $linkedItem['item_type'] !== 'folder')) {
\OC_Response::setStatus(404);
\OC_Log::write('core-preview', 'Passed token parameter is not valid', \OC_Log::DEBUG);
exit;
}
if(!isset($linkedItem['uid_owner']) || !isset($linkedItem['file_source'])) {
\OC_Response::setStatus(500);
\OC_Log::write('core-preview', 'Passed token seems to be valid, but it does not contain all necessary information . ("' . $token . '")', \OC_Log::WARN);
exit;
}
$userId = $linkedItem['uid_owner'];
\OC_Util::setupFS($userId);
$pathId = $linkedItem['file_source'];
$path = \OC\Files\Filesystem::getPath($pathId);
$pathInfo = \OC\Files\Filesystem::getFileInfo($path);
$sharedFile = null;
if($linkedItem['item_type'] === 'folder') {
$isvalid = \OC\Files\Filesystem::isValidPath($file);
if(!$isvalid) {
\OC_Response::setStatus(400); //400 Bad Request
\OC_Log::write('core-preview', 'Passed filename is not valid, might be malicious (file:"' . $file . '";ip:"' . $_SERVER['REMOTE_ADDR'] . '")', \OC_Log::WARN);
exit;
}
$sharedFile = \OC\Files\Filesystem::normalizePath($file);
}
if($linkedItem['item_type'] === 'file') {
$parent = $pathInfo['parent'];
$path = \OC\Files\Filesystem::getPath($parent);
$sharedFile = $pathInfo['name'];
}
$path = \OC\Files\Filesystem::normalizePath($path, false);
if(substr($path, 0, 1) === '/') {
$path = substr($path, 1);
}
if($maxX === 0 || $maxY === 0) {
\OC_Response::setStatus(400); //400 Bad Request
\OC_Log::write('core-preview', 'x and/or y set to 0', \OC_Log::DEBUG);
exit;
}
$root = 'files/' . $path;
try{
$preview = new \OC\Preview($userId, $root);
$preview->setFile($sharedFile);
$preview->setMaxX($maxX);
$preview->setMaxY($maxY);
$preview->setScalingUp($scalingUp);
$preview->show();
} catch (\Exception $e) {
\OC_Response::setStatus(500);
\OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG);
}

View file

@ -0,0 +1,5 @@
<?php
$this->create('core_ajax_public_preview', '/publicpreview.png')->action(
function() {
require_once __DIR__ . '/../ajax/publicpreview.php';
});

View file

@ -16,7 +16,7 @@ $(document).ready(function() {
if (typeof FileActions !== 'undefined') {
var mimetype = $('#mimetype').val();
// Show file preview if previewer is available, images are already handled by the template
if (mimetype.substr(0, mimetype.indexOf('/')) != 'image') {
if (mimetype.substr(0, mimetype.indexOf('/')) != 'image' && $('.publicpreview').length === 0) {
// Trigger default action if not download TODO
var action = FileActions.getDefault(mimetype, 'file', OC.PERMISSION_READ);
if (typeof action === 'undefined') {

View file

@ -3,6 +3,12 @@ $TRANSLATIONS = array(
"The password is wrong. Try again." => "Le mot de passe est incorrect. Veuillez réessayer.",
"Password" => "Mot de passe",
"Submit" => "Envoyer",
"Sorry, this link doesnt seem to work anymore." => "Désolé, mais le lien semble ne plus fonctionner.",
"Reasons might be:" => "Les raisons peuvent être :",
"the item was removed" => "l'item a été supprimé",
"the link expired" => "le lien a expiré",
"sharing is disabled" => "le partage est désactivé",
"For more info, please ask the person who sent this link." => "Pour plus d'informations, veuillez contacter la personne qui a envoyé ce lien.",
"%s shared the folder %s with you" => "%s a partagé le répertoire %s avec vous",
"%s shared the file %s with you" => "%s a partagé le fichier %s avec vous",
"Download" => "Télécharger",

View file

@ -1,9 +1,9 @@
<?php
$TRANSLATIONS = array(
"The password is wrong. Try again." => "請檢查您的密碼並再試一次",
"The password is wrong. Try again." => "請檢查您的密碼並再試一次",
"Password" => "密碼",
"Submit" => "送出",
"Sorry, this link doesnt seem to work anymore." => "抱歉,這連結看來已經不能用了。",
"Sorry, this link doesnt seem to work anymore." => "抱歉,此連結已經失效",
"Reasons might be:" => "可能的原因:",
"the item was removed" => "項目已經移除",
"the link expired" => "連結過期",

View file

@ -172,6 +172,7 @@ if (isset($path)) {
} else {
$i['extension'] = '';
}
$i['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($i['mimetype']);
}
$i['directory'] = $getPath;
$i['permissions'] = OCP\PERMISSION_READ;
@ -194,6 +195,9 @@ if (isset($path)) {
$list->assign('baseURL', OCP\Util::linkToPublic('files') . $urlLinkIdentifiers . '&path=');
$list->assign('downloadURL',
OCP\Util::linkToPublic('files') . $urlLinkIdentifiers . '&download&path=');
$list->assign('isPublic', true);
$list->assign('sharingtoken', $token);
$list->assign('sharingroot', $basePath);
$breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
$breadcrumbNav->assign('breadcrumb', $breadcrumb);
$breadcrumbNav->assign('baseURL', OCP\Util::linkToPublic('files') . $urlLinkIdentifiers . '&path=');

View file

@ -79,6 +79,10 @@
<source src="<?php p($_['downloadURL']); ?>" type="<?php p($_['mimetype']); ?>" />
</video>
</div>
<?php elseif (\OC\Preview::isMimeSupported($_['mimetype'])): ?>
<div id="imgframe">
<img src="<?php p(OCP\Util::linkToRoute( 'core_ajax_public_preview', array('x' => 500, 'y' => 500, 'file' => urlencode($_['directory_path']), 't' => $_['dirToken']))); ?>" class="publicpreview"/>
</div>
<?php else: ?>
<ul id="noPreview">
<li class="error">

View file

@ -0,0 +1,42 @@
<?php
/**
* Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
\OC_Util::checkLoggedIn();
if(!\OC_App::isEnabled('files_trashbin')){
exit;
}
$file = array_key_exists('file', $_GET) ? (string) urldecode($_GET['file']) : '';
$maxX = array_key_exists('x', $_GET) ? (int) $_GET['x'] : '44';
$maxY = array_key_exists('y', $_GET) ? (int) $_GET['y'] : '44';
$scalingUp = array_key_exists('scalingup', $_GET) ? (bool) $_GET['scalingup'] : true;
if($file === '') {
\OC_Response::setStatus(400); //400 Bad Request
\OC_Log::write('core-preview', 'No file parameter was passed', \OC_Log::DEBUG);
exit;
}
if($maxX === 0 || $maxY === 0) {
\OC_Response::setStatus(400); //400 Bad Request
\OC_Log::write('core-preview', 'x and/or y set to 0', \OC_Log::DEBUG);
exit;
}
try{
$preview = new \OC\Preview(\OC_User::getUser(), 'files_trashbin/files');
$preview->setFile($file);
$preview->setMaxX($maxX);
$preview->setMaxY($maxY);
$preview->setScalingUp($scalingUp);
$preview->showPreview();
}catch(\Exception $e) {
\OC_Response::setStatus(500);
\OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG);
}

View file

@ -0,0 +1,5 @@
<?php
$this->create('core_ajax_trashbin_preview', '/preview.png')->action(
function() {
require_once __DIR__ . '/../ajax/preview.php';
});

View file

@ -64,6 +64,7 @@ foreach ($result as $r) {
$i['directory'] = '';
}
$i['permissions'] = OCP\PERMISSION_READ;
$i['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($r['mime']);
$files[] = $i;
}

View file

@ -8,8 +8,9 @@ $TRANSLATIONS = array(
"Delete permanently" => "Supprimer de façon définitive",
"Name" => "Nom",
"Deleted" => "Effacé",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
"_%n folder_::_%n folders_" => array("","%n dossiers"),
"_%n file_::_%n files_" => array("","%n fichiers"),
"restored" => "restauré",
"Nothing in here. Your trash bin is empty!" => "Il n'y a rien ici. Votre corbeille est vide !",
"Restore" => "Restaurer",
"Delete" => "Supprimer",

View file

@ -8,8 +8,8 @@ $TRANSLATIONS = array(
"Delete permanently" => "Eliminar permanentemente",
"Name" => "Nome",
"Deleted" => "Apagado",
"_%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 ficheiro","%n ficheiros"),
"restored" => "Restaurado",
"Nothing in here. Your trash bin is empty!" => "Não hà ficheiros. O lixo está vazio!",
"Restore" => "Restaurar",

View file

@ -11,7 +11,7 @@ $TRANSLATIONS = array(
"_%n folder_::_%n folders_" => array("%n 個資料夾"),
"_%n file_::_%n files_" => array("%n 個檔案"),
"restored" => "已還原",
"Nothing in here. Your trash bin is empty!" => "您的垃圾桶是空的!",
"Nothing in here. Your trash bin is empty!" => "您的回收桶是空的!",
"Restore" => "還原",
"Delete" => "刪除",
"Deleted Files" => "已刪除的檔案"

View file

@ -904,4 +904,7 @@ class Trashbin {
return true;
}
public static function preview_icon($path) {
return \OC_Helper::linkToRoute( 'core_ajax_trashbin_preview', array('x' => 36, 'y' => 36, 'file' => urlencode($path) ));
}
}

View file

@ -6,7 +6,7 @@
<div id='notification'></div>
<?php if (isset($_['files']) && count($_['files']) === 0 && $_['dirlisting'] === false):?>
<div id="emptyfolder"><?php p($l->t('Nothing in here. Your trash bin is empty!'))?></div>
<div id="emptycontent"><?php p($l->t('Nothing in here. Your trash bin is empty!'))?></div>
<?php endif; ?>
<table id="filestable">

View file

@ -21,11 +21,19 @@
data-timestamp='<?php p($file['timestamp']);?>'
data-dirlisting=0
<?php endif; ?>>
<?php if($file['isPreviewAvailable']): ?>
<td class="filename svg preview-icon"
<?php else: ?>
<td class="filename svg"
<?php endif; ?>
<?php if($file['type'] === 'dir'): ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon('dir')); ?>)"
<?php else: ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
<?php if($file['isPreviewAvailable']): ?>
style="background-image:url(<?php print_unescaped(OCA\Files_Trashbin\Trashbin::preview_icon(!$_['dirlisting'] ? ($file['name'].'.d'.$file['timestamp']) : ($file['directory'].'/'.$file['name']))); ?>)"
<?php else: ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
<?php endif; ?>
<?php endif; ?>
>
<?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>

View file

@ -2,6 +2,9 @@
$TRANSLATIONS = array(
"Could not revert: %s" => "Impossible de restaurer %s",
"Versions" => "Versions",
"Failed to revert {file} to revision {timestamp}." => "Échec du retour du fichier {file} à la révision {timestamp}.",
"More versions..." => "Plus de versions...",
"No other versions available" => "Aucune autre version disponible",
"Restore" => "Restaurer"
);
$PLURAL_FORMS = "nplurals=2; plural=(n > 1);";

View file

@ -1,5 +1,7 @@
<?php
$TRANSLATIONS = array(
"WebDAV Authentication" => "Authentification WebDAV"
"WebDAV Authentication" => "Authentification WebDAV",
"Address: " => "Adresse :",
"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Les informations de connexion de l'utilisateur seront envoyées à cette adresse. Ce module analyse le code de la réponse HTTP et considère les codes 401 et 403 comme une authentification invalide et tout autre valeur comme une authentification valide."
);
$PLURAL_FORMS = "nplurals=2; plural=(n > 1);";

View file

@ -71,9 +71,6 @@ $CONFIG = array(
/* Enable the help menu item in the settings */
"knowledgebaseenabled" => true,
/* URL to use for the help page, server should understand OCS */
"knowledgebaseurl" => "http://api.apps.owncloud.com/v1",
/* Enable installing apps from the appstore */
"appstoreenabled" => true,
@ -201,4 +198,22 @@ $CONFIG = array(
'customclient_desktop' => '', //http://owncloud.org/sync-clients/
'customclient_android' => '', //https://play.google.com/store/apps/details?id=com.owncloud.android
'customclient_ios' => '', //https://itunes.apple.com/us/app/owncloud/id543672169?mt=8
// PREVIEW
'enable_previews' => true,
/* the max width of a generated preview, if value is null, there is no limit */
'preview_max_x' => null,
/* the max height of a generated preview, if value is null, there is no limit */
'preview_max_y' => null,
/* the max factor to scale a preview, default is set to 10 */
'preview_max_scale_factor' => 10,
/* custom path for libreoffice / openoffice binary */
'preview_libreoffice_path' => '/usr/bin/libreoffice',
/* cl parameters for libreoffice / openoffice */
'preview_office_cl_parameters' => '',
// Extra SSL options to be used for configuration
'openssl' => array(
//'config' => '/absolute/location/of/openssl.cnf',
),
);

40
core/ajax/preview.php Normal file
View file

@ -0,0 +1,40 @@
<?php
/**
* Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
\OC_Util::checkLoggedIn();
$file = array_key_exists('file', $_GET) ? (string) urldecode($_GET['file']) : '';
$maxX = array_key_exists('x', $_GET) ? (int) $_GET['x'] : '36';
$maxY = array_key_exists('y', $_GET) ? (int) $_GET['y'] : '36';
$scalingUp = array_key_exists('scalingup', $_GET) ? (bool) $_GET['scalingup'] : true;
if($file === '') {
//400 Bad Request
\OC_Response::setStatus(400);
\OC_Log::write('core-preview', 'No file parameter was passed', \OC_Log::DEBUG);
exit;
}
if($maxX === 0 || $maxY === 0) {
//400 Bad Request
\OC_Response::setStatus(400);
\OC_Log::write('core-preview', 'x and/or y set to 0', \OC_Log::DEBUG);
exit;
}
try{
$preview = new \OC\Preview(\OC_User::getUser(), 'files');
$preview->setFile($file);
$preview->setMaxX($maxX);
$preview->setMaxY($maxY);
$preview->setScalingUp($scalingUp);
$preview->show();
}catch(\Exception $e) {
\OC_Response::setStatus(500);
\OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG);
}

View file

@ -129,6 +129,7 @@
/* counter and actions */
#app-navigation .utils {
position: absolute;
padding: 7px 7px 0 0;
right: 0;
top: 0;
bottom: 0;

View file

@ -44,3 +44,7 @@
height: auto !important;
}
/* oc-dialog only uses box shadow which is not supported by ie8 */
.ie8 .oc-dialog {
border: 1px solid #888888;
}

View file

@ -145,18 +145,25 @@ a.disabled, a.disabled:hover, a.disabled:focus {
.searchbox input[type="search"] { font-size:1.2em; padding:.2em .5em .2em 1.5em; background:#fff url('../img/actions/search.svg') no-repeat .5em center; border:0; -moz-border-radius:1em; -webkit-border-radius:1em; border-radius:1em; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; filter:alpha(opacity=70);opacity:.7; -webkit-transition:opacity 300ms; -moz-transition:opacity 300ms; -o-transition:opacity 300ms; transition:opacity 300ms; margin-top:10px; float:right; }
input[type="submit"].enabled { background:#66f866; border:1px solid #5e5; -moz-box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; -webkit-box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; }
#select_all{ margin-top:.4em }
/* CONTENT ------------------------------------------------------------------ */
#controls {
position:fixed;
height:2.8em; width:100%;
padding:0 70px 0 0.5em; margin:0;
-moz-box-sizing:border-box; box-sizing:border-box;
-moz-box-shadow:0 -3px 7px #000; -webkit-box-shadow:0 -3px 7px #000; box-shadow:0 -3px 7px #000;
background:#eee; border-bottom:1px solid #e7e7e7; z-index:50;
position: fixed;
height: 36px;
width: 100%;
padding: 0 75px 0 6px;
margin: 0;
background: #eee;
border-bottom: 1px solid #e7e7e7;
z-index: 50;
-moz-box-sizing: border-box; box-sizing: border-box;
-moz-box-shadow: 0 -3px 7px #000; -webkit-box-shadow: 0 -3px 7px #000; box-shadow: 0 -3px 7px #000;
}
#controls .button {
display: inline-block;
}
#controls .button { display:inline-block; }
#content { position:relative; height:100%; width:100%; }
#content .hascontrols { position: relative; top: 2.9em; }
@ -176,7 +183,14 @@ input[type="submit"].enabled { background:#66f866; border:1px solid #5e5; -moz-b
#leftcontent a { height:100%; display:block; margin:0; padding:0 1em 0 0; float:left; }
#rightcontent, .rightcontent { position:fixed; top:6.4em; left:24.5em; overflow:auto }
#emptycontent {
font-size:1.5em; font-weight:bold;
color:#888; text-shadow:#fff 0 1px 0;
position: absolute;
text-align: center;
top: 50%;
width: 100%;
}
/* LOG IN & INSTALLATION ------------------------------------------------------------ */
@ -676,8 +690,21 @@ a.bookmarklet { background-color:#ddd; border:1px solid #ccc; padding:5px;paddin
background-color:white;
width:100%;
}
#oc-dialog-filepicker-content .filelist img { margin: 2px 1em 0 4px; }
#oc-dialog-filepicker-content .filelist .date { float:right;margin-right:1em; }
#oc-dialog-filepicker-content .filelist li {
position: relative;
}
#oc-dialog-filepicker-content .filelist .filename {
position: absolute;
top: 8px;
}
#oc-dialog-filepicker-content .filelist img {
margin: 2px 1em 0 4px;
}
#oc-dialog-filepicker-content .filelist .date {
float: right;
margin-right: 1em;
margin-top: 8px;
}
#oc-dialog-filepicker-content .filepicker_element_selected { background-color:lightblue;}
.ui-dialog {position:fixed !important;}
span.ui-icon {float: left; margin: 3px 7px 30px 0;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,761 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg3194"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="application-epub+zip.svg"
inkscape:export-filename="application-epub+zip.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs3196">
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3195"
id="linearGradient3066"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.502671,0,0,0.64629877,3.711822,0.79617735)"
x1="23.99999"
y1="14.915504"
x2="23.99999"
y2="32.595779" />
<linearGradient
id="linearGradient3195">
<stop
id="stop3197"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop3199"
style="stop-color:#ffffff;stop-opacity:0.23529412"
offset="0.12291458" />
<stop
id="stop3201"
style="stop-color:#ffffff;stop-opacity:0.15686275"
offset="0.93706012" />
<stop
id="stop3203"
style="stop-color:#ffffff;stop-opacity:0.39215687"
offset="1" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8-7"
id="radialGradient3069"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,0.96917483,-0.82965977,0,24.014205,-1.7852207)"
cx="10.90426"
cy="8.4497671"
fx="10.90426"
fy="8.4497671"
r="19.99999" />
<linearGradient
id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8-7">
<stop
id="stop5430-8-6"
style="stop-color:#5f5f5f;stop-opacity:1"
offset="0" />
<stop
id="stop5432-3-5"
style="stop-color:#4f4f4f;stop-opacity:1"
offset="0.26238" />
<stop
id="stop5434-1-6"
style="stop-color:#3b3b3b;stop-opacity:1"
offset="0.704952" />
<stop
id="stop5436-8-9"
style="stop-color:#2b2b2b;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-7"
id="linearGradient3071"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65627449,0,0,0.6892852,1.2531134,-0.21112011)"
x1="24"
y1="44"
x2="24"
y2="3.8990016" />
<linearGradient
id="linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-7">
<stop
id="stop5440-4-4"
style="stop-color:#272727;stop-opacity:1"
offset="0" />
<stop
id="stop5442-3-5"
style="stop-color:#454545;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3731"
id="linearGradient3075"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.56756757,0,0,0.67567567,2.3783793,-0.21620881)"
x1="23.99999"
y1="4.999989"
x2="23.99999"
y2="43" />
<linearGradient
id="linearGradient3731">
<stop
id="stop3733"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop3735"
style="stop-color:#ffffff;stop-opacity:0.23529412"
offset="0.02706478" />
<stop
id="stop3737"
style="stop-color:#ffffff;stop-opacity:0.15686275"
offset="0.97377032" />
<stop
id="stop3739"
style="stop-color:#ffffff;stop-opacity:0.39215687"
offset="1" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8"
id="radialGradient3078"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.165708e-8,1.6179162,-1.483354,-2.9808191e-8,28.734063,-9.2240923)"
cx="7.4956832"
cy="8.4497671"
fx="7.4956832"
fy="8.4497671"
r="19.99999" />
<linearGradient
id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8">
<stop
id="stop5430-8"
style="stop-color:#5f5f5f;stop-opacity:1"
offset="0" />
<stop
id="stop5432-3"
style="stop-color:#4f4f4f;stop-opacity:1"
offset="0.26238" />
<stop
id="stop5434-1"
style="stop-color:#3b3b3b;stop-opacity:1"
offset="0.704952" />
<stop
id="stop5436-8"
style="stop-color:#2b2b2b;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6"
id="linearGradient3080"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.60000001,0,0,0.69230771,1.8000008,-0.61538474)"
x1="24"
y1="44"
x2="24"
y2="3.8990016" />
<linearGradient
id="linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6">
<stop
id="stop5440-4"
style="stop-color:#272727;stop-opacity:1"
offset="0" />
<stop
id="stop5442-3"
style="stop-color:#454545;stop-opacity:1"
offset="1" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient8967-1"
id="radialGradient3083"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,1.8069473,-2.0594306,0,30.190262,-41.983847)"
cx="24.501682"
cy="6.6475959"
fx="24.501682"
fy="6.6475959"
r="17.49832" />
<linearGradient
id="linearGradient8967">
<stop
id="stop8969"
style="stop-color:#ddcfbd;stop-opacity:1"
offset="0" />
<stop
id="stop8971"
style="stop-color:#856f50;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3319-1"
id="linearGradient3085"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.45330736,0,0,0.48530928,1.9941631,0.11705426)"
x1="32.901409"
y1="4.6481781"
x2="32.901409"
y2="61.481758" />
<linearGradient
id="linearGradient3319">
<stop
id="stop3321"
style="stop-color:#a79071;stop-opacity:1"
offset="0" />
<stop
id="stop3323"
style="stop-color:#6f5d45;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2346"
id="linearGradient3088"
gradientUnits="userSpaceOnUse"
x1="10.654308"
y1="1"
x2="10.654308"
y2="3"
gradientTransform="matrix(0.60000001,0,0,0.75000464,0.6000147,0.12497942)" />
<linearGradient
id="linearGradient2346">
<stop
id="stop2348"
style="stop-color:#eeeeee;stop-opacity:1"
offset="0" />
<stop
id="stop2350"
style="stop-color:#d9d9da;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-2"
id="linearGradient3090"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.60000001,0,0,0.07692307,1.8001714,0.15384638)"
x1="24"
y1="44"
x2="24"
y2="3.8990016" />
<linearGradient
id="linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-2">
<stop
id="stop5440-4-8"
style="stop-color:#272727;stop-opacity:1"
offset="0" />
<stop
id="stop5442-3-8"
style="stop-color:#454545;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient3101">
<stop
offset="0"
style="stop-color:#9b876c;stop-opacity:1"
id="stop3103" />
<stop
offset="0.95429963"
style="stop-color:#9b876c;stop-opacity:1"
id="stop3105" />
<stop
offset="0.95717829"
style="stop-color:#c2c2c2;stop-opacity:1"
id="stop3107" />
<stop
offset="1"
style="stop-color:#c2c2c2;stop-opacity:1"
id="stop3109" />
</linearGradient>
<linearGradient
y2="4.882647"
x2="24.640038"
y1="3.1234391"
x1="24.62738"
gradientTransform="matrix(0.69041563,0,0,1.0164576,0.2501926,-2.4916513)"
gradientUnits="userSpaceOnUse"
id="linearGradient3190"
xlink:href="#linearGradient2346"
inkscape:collect="always" />
<linearGradient
y2="0.065301567"
x2="54.887218"
y1="0.065301567"
x1="5.2122574"
gradientTransform="matrix(0.49253714,0,0,0.4937733,0.8902917,0.14413039)"
gradientUnits="userSpaceOnUse"
id="linearGradient3192"
xlink:href="#linearGradient3911"
inkscape:collect="always" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3688-166-749"
id="radialGradient2976"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)"
cx="4.9929786"
cy="43.5"
fx="4.9929786"
fy="43.5"
r="2.5" />
<linearGradient
id="linearGradient3688-166-749">
<stop
id="stop2883"
style="stop-color:#181818;stop-opacity:1"
offset="0" />
<stop
id="stop2885"
style="stop-color:#181818;stop-opacity:0"
offset="1" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3688-464-309"
id="radialGradient2978"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)"
cx="4.9929786"
cy="43.5"
fx="4.9929786"
fy="43.5"
r="2.5" />
<linearGradient
id="linearGradient3688-464-309">
<stop
id="stop2889"
style="stop-color:#181818;stop-opacity:1"
offset="0" />
<stop
id="stop2891"
style="stop-color:#181818;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3702-501-757"
id="linearGradient2980"
gradientUnits="userSpaceOnUse"
x1="25.058096"
y1="47.027729"
x2="25.058096"
y2="39.999443" />
<linearGradient
id="linearGradient3702-501-757">
<stop
id="stop2895"
style="stop-color:#181818;stop-opacity:0"
offset="0" />
<stop
id="stop2897"
style="stop-color:#181818;stop-opacity:1"
offset="0.5" />
<stop
id="stop2899"
style="stop-color:#181818;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3100"
id="linearGradient3072"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.40540539,0,0,0.45945944,-21.967425,1.9253706)"
x1="23.99999"
y1="4.431067"
x2="24.107431"
y2="43.758408" />
<linearGradient
id="linearGradient3100">
<stop
offset="0"
style="stop-color:#ffffff;stop-opacity:1"
id="stop3102" />
<stop
offset="0.06169702"
style="stop-color:#ffffff;stop-opacity:0.23529412"
id="stop3104" />
<stop
offset="0.93279684"
style="stop-color:#ffffff;stop-opacity:0.15686275"
id="stop3106" />
<stop
offset="1"
style="stop-color:#ffffff;stop-opacity:0.39215687"
id="stop3108" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8-3"
id="radialGradient3075"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,1.1385335,-0.98890268,-2.0976135e-8,-4.5816524,-4.7978939)"
cx="7.4956832"
cy="8.4497671"
fx="7.4956832"
fy="8.4497671"
r="19.99999" />
<linearGradient
id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8-3">
<stop
id="stop5430-8-4"
style="stop-color:#5f5f5f;stop-opacity:1"
offset="0" />
<stop
id="stop5432-3-0"
style="stop-color:#4f4f4f;stop-opacity:1"
offset="0.26238" />
<stop
id="stop5434-1-7"
style="stop-color:#3b3b3b;stop-opacity:1"
offset="0.704952" />
<stop
id="stop5436-8-7"
style="stop-color:#2b2b2b;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-77"
id="linearGradient3077"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.40000001,0,0,0.48717951,-22.537695,1.2600855)"
x1="24"
y1="44"
x2="24"
y2="3.8990016" />
<linearGradient
id="linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-77">
<stop
id="stop5440-4-82"
style="stop-color:#272727;stop-opacity:1"
offset="0" />
<stop
id="stop5442-3-9"
style="stop-color:#454545;stop-opacity:1"
offset="1" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient8967-1"
id="radialGradient3080"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,1.2711776,-1.4972812,0,-1.7843744,-27.838648)"
cx="24.501682"
cy="6.6475959"
fx="24.501682"
fy="6.6475959"
r="17.49832" />
<linearGradient
id="linearGradient8967-1">
<stop
id="stop8969-2"
style="stop-color:#c4ea71;stop-opacity:1;"
offset="0" />
<stop
id="stop8971-2"
style="stop-color:#7c9d35;stop-opacity:1;"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3319-1"
id="linearGradient3082"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.32957099,0,0,0.34141245,-22.283968,1.7791087)"
x1="32.901409"
y1="4.6481781"
x2="32.901409"
y2="61.481758" />
<linearGradient
id="linearGradient3319-1">
<stop
id="stop3321-3"
style="stop-color:#96bf3e;stop-opacity:1;"
offset="0" />
<stop
id="stop3323-6"
style="stop-color:#4d6b0d;stop-opacity:1;"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2346-4"
id="linearGradient3085-0"
gradientUnits="userSpaceOnUse"
x1="10.654308"
y1="1"
x2="10.654308"
y2="3"
gradientTransform="matrix(0.39999999,0,0,0.50000335,-23.337674,1.202378)" />
<linearGradient
id="linearGradient2346-4">
<stop
id="stop2348-6"
style="stop-color:#eeeeee;stop-opacity:1"
offset="0" />
<stop
id="stop2350-4"
style="stop-color:#d9d9da;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-2-9"
id="linearGradient3087"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.39999999,0,0,0.05128207,-22.537569,1.2216233)"
x1="24"
y1="44"
x2="24"
y2="3.8990016" />
<linearGradient
id="linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-2-9">
<stop
id="stop5440-4-8-9"
style="stop-color:#272727;stop-opacity:1"
offset="0" />
<stop
id="stop5442-3-8-1"
style="stop-color:#454545;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2346-4"
id="linearGradient3090-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.52589466,0,0,1.0164584,-24.496147,-1.5392617)"
x1="24.640038"
y1="3.3805361"
x2="24.640038"
y2="4.4969802" />
<linearGradient
id="linearGradient3159">
<stop
id="stop3161"
style="stop-color:#eeeeee;stop-opacity:1"
offset="0" />
<stop
id="stop3163"
style="stop-color:#d9d9da;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3911"
id="linearGradient3092"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.37516915,0,0,0.49377366,-24.008579,1.096522)"
x1="10.199131"
y1="0.065301567"
x2="54.887218"
y2="0.065301567" />
<linearGradient
id="linearGradient3911">
<stop
id="stop3913"
style="stop-color:#96bf3e;stop-opacity:1;"
offset="0" />
<stop
id="stop3915"
style="stop-color:#4d6b0d;stop-opacity:1;"
offset="1" />
</linearGradient>
<radialGradient
r="2.5"
fy="43.5"
fx="4.9929786"
cy="43.5"
cx="4.9929786"
gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)"
gradientUnits="userSpaceOnUse"
id="radialGradient3082-993"
xlink:href="#linearGradient3688-166-749-49"
inkscape:collect="always" />
<linearGradient
id="linearGradient3688-166-749-49">
<stop
offset="0"
style="stop-color:#181818;stop-opacity:1"
id="stop3079" />
<stop
offset="1"
style="stop-color:#181818;stop-opacity:0"
id="stop3081" />
</linearGradient>
<radialGradient
r="2.5"
fy="43.5"
fx="4.9929786"
cy="43.5"
cx="4.9929786"
gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)"
gradientUnits="userSpaceOnUse"
id="radialGradient3084-992"
xlink:href="#linearGradient3688-464-309-276"
inkscape:collect="always" />
<linearGradient
id="linearGradient3688-464-309-276">
<stop
offset="0"
style="stop-color:#181818;stop-opacity:1"
id="stop3085" />
<stop
offset="1"
style="stop-color:#181818;stop-opacity:0"
id="stop3087" />
</linearGradient>
<linearGradient
y2="39.999443"
x2="25.058096"
y1="47.027729"
x1="25.058096"
gradientUnits="userSpaceOnUse"
id="linearGradient3086-631"
xlink:href="#linearGradient3702-501-757-979"
inkscape:collect="always" />
<linearGradient
id="linearGradient3702-501-757-979">
<stop
offset="0"
style="stop-color:#181818;stop-opacity:0"
id="stop3091" />
<stop
offset="0.5"
style="stop-color:#181818;stop-opacity:1"
id="stop3093" />
<stop
offset="1"
style="stop-color:#181818;stop-opacity:0"
id="stop3095" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.0877475"
inkscape:cx="26.638683"
inkscape:cy="15.835736"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1075"
inkscape:window-height="715"
inkscape:window-x="289"
inkscape:window-y="24"
inkscape:window-maximized="0" />
<metadata
id="metadata3199">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<g
style="display:inline"
id="g2036"
transform="matrix(0.64999974,0,0,0.3333336,0.39999974,15.33333)">
<g
style="opacity:0.4"
id="g3712"
transform="matrix(1.052632,0,0,1.285713,-1.263158,-13.42854)">
<rect
style="fill:url(#radialGradient2976);fill-opacity:1;stroke:none"
id="rect2801"
y="40"
x="38"
height="7"
width="5" />
<rect
style="fill:url(#radialGradient2978);fill-opacity:1;stroke:none"
id="rect3696"
transform="scale(-1,-1)"
y="-47"
x="-10"
height="7"
width="5" />
<rect
style="fill:url(#linearGradient2980);fill-opacity:1;stroke:none"
id="rect3700"
y="40"
x="10"
height="7.0000005"
width="28" />
</g>
</g>
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient3190);fill-opacity:1;stroke:url(#linearGradient3192);stroke-width:1.01739752;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
id="path2723"
d="M 27.491301,2.3043778 C 27.288172,1.6493136 27.414776,1.1334476 27.302585,0.5086989 l -20.7938863,0 0.1227276,1.9826025" />
<path
inkscape:connector-curvature="0"
style="color:#000000;fill:url(#linearGradient3088);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3090);stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect5505-21-3-9"
d="m 7.5001709,3.5 -2.4000002,0 C 4.7576618,3.5 4.5001708,3.46825 4.5001708,3.426829 l 0,-2.0973288 c 0,-0.66594375 0.3354193,-0.82950023 0.7745366,-0.82950023 l 2.2254635,0" />
<rect
ry="0.5"
style="fill:url(#radialGradient3083);fill-opacity:1.0;stroke:url(#linearGradient3085);stroke-width:1.01904130000000004;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
id="rect2719"
y="2.5095644"
x="5.5095205"
rx="0.5"
height="26.980959"
width="21.980959" />
<path
inkscape:connector-curvature="0"
style="color:#000000;fill:url(#radialGradient3078);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3080);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect5505-21-3"
d="m 7.5,2.5000001 c 0,0 0,18.7742959 0,26.9999999 l -2.4,0 c -0.3425089,0 -0.6,-0.285772 -0.6,-0.658537 l 0,-26.3414629 z" />
<rect
style="opacity:0.5;fill:none;stroke:url(#linearGradient3075);stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect6741-0"
y="3.5000002"
x="5.5"
height="25"
width="21" />
<path
id="path3859"
d="m 16.999886,20.304641 -3.77084,-3.713998 3.77084,-3.71347 1.25705,1.237774 -2.514099,2.475696 1.256974,1.237999 3.770839,-3.713469 -3.284841,-3.235063 c -0.268233,-0.264393 -0.703306,-0.264393 -0.971768,0 l -5.312867,5.232353 c -0.268232,0.264166 -0.268232,0.692646 0,0.95704 l 5.312944,5.232203 c 0.268462,0.264392 0.703534,0.264392 0.971766,0 l 5.312942,-5.232203 c 0.268231,-0.264394 0.268231,-0.692874 0,-0.95704 l -0.77128,-0.759367 -5.02766,4.951545 z"
inkscape:connector-curvature="0"
style="opacity:0.2;fill:#000000;fill-opacity:1" />
<path
style="fill:#ffffff;fill-opacity:1"
inkscape:connector-curvature="0"
d="m 16.999886,19.122826 -3.77084,-3.713998 3.77084,-3.713469 1.25705,1.237773 -2.514099,2.475696 1.256974,1.238 3.770839,-3.71347 -3.284841,-3.2350632 c -0.268233,-0.2643933 -0.703306,-0.2643933 -0.971768,0 l -5.312867,5.2323532 c -0.268232,0.264167 -0.268232,0.692647 0,0.95704 l 5.312944,5.232203 c 0.268462,0.264392 0.703534,0.264392 0.971766,0 l 5.312942,-5.232203 c 0.268231,-0.264393 0.268231,-0.692873 0,-0.95704 l -0.77128,-0.759366 -5.02766,4.951544 z"
id="path10" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 588 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 B

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs>
<linearGradient id="e" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.62162 0 0 .62162 1.0811 2.0811)" y1="5" x1="24">
<stop stop-color="#fff" offset="0"/>
<stop stop-color="#fff" stop-opacity=".23529" offset=".063165"/>
<stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
<stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
</linearGradient>
<linearGradient id="d" y2="54.78" gradientUnits="userSpaceOnUse" x2="167.98" gradientTransform="matrix(.44444 0 0 .44444 -24 2.7778)" y1="8.5081" x1="167.98">
<stop stop-color="#fffdf3" offset="0"/>
<stop stop-color="#fbebeb" offset="1"/>
</linearGradient>
<radialGradient id="a" gradientUnits="userSpaceOnUse" cy="9.9941" cx="8.2761" gradientTransform="matrix(0 4.2742 -5.2474 0 68.489 -37.143)" r="12.672">
<stop stop-color="#f89b7e" offset="0"/>
<stop stop-color="#e35d4f" offset=".26238"/>
<stop stop-color="#c6262e" offset=".66094"/>
<stop stop-color="#690b2c" offset="1"/>
</radialGradient>
<radialGradient id="c" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(2.0038 0 0 1.4 27.988 -17.4)" r="2.5">
<stop stop-color="#181818" offset="0"/>
<stop stop-color="#181818" stop-opacity="0" offset="1"/>
</radialGradient>
<radialGradient id="b" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(2.0038 0 0 1.4 -20.012 -104.4)" r="2.5">
<stop stop-color="#181818" offset="0"/>
<stop stop-color="#181818" stop-opacity="0" offset="1"/>
</radialGradient>
<linearGradient id="f" y2="39.999" gradientUnits="userSpaceOnUse" x2="25.058" y1="47.028" x1="25.058">
<stop stop-color="#181818" stop-opacity="0" offset="0"/>
<stop stop-color="#181818" offset=".5"/>
<stop stop-color="#181818" stop-opacity="0" offset="1"/>
</linearGradient>
</defs>
<g transform="matrix(0.7 0 0 .33333 -0.8 15.333)">
<g opacity=".4" transform="matrix(1.0526 0 0 1.2857 -1.2632 -13.429)">
<rect height="7" width="5" y="40" x="38" fill="url(#c)"/>
<rect transform="scale(-1)" height="7" width="5" y="-47" x="-10" fill="url(#b)"/>
<rect height="7" width="28" y="40" x="10" fill="url(#f)"/>
</g>
</g>
<g>
<g>
<rect style="color:#000000" rx="2" ry="2" height="25" width="25" y="4.5" x="3.5" fill="url(#a)"/>
<path opacity=".15" style="color:#000000" d="m18.188 4.9688a1.0386 1.0386 0 0 0 -0.46875 0.25c-8.0692 6.9232-12.522 7.7862-13.782 7.8752a1.0386 1.0386 0 0 0 -0.4375 0.125v8.7187a1.0386 1.0386 0 0 0 0.5 0.125c1.2408 0 3.1922 0.83225 5.0625 2.2812 1.726 1.337 3.383 3.164 4.594 5.156h12.844c1.108 0 2-0.892 2-2v-0.125c-1.2349-2.981-2.1282-7.0748-2.8125-10.781-0.003-0.023 0.003-0.0395 0-0.0625-0.61012-4.7373 0.28634-8.959 0.625-10.281a1.0386 1.0386 0 0 0 -1 -1.2812h-6.9062a1.0386 1.0386 0 0 0 -0.21875 0zm0 4.875c-0.19809 1.3497-0.34502 2.9178-0.46875 4.7812-0.23961 3.6087-0.31211 8.3302-0.34375 13.438-1.2326-2.3066-3.3956-4.6736-5.8438-6.6875-1.4134-1.1626-2.8465-2.1591-4.125-2.9062-0.81148-0.4742-1.5307-0.8115-2.2188-1.0312 1.5275-0.29509 3.8744-0.90217 6.625-2.625 2.3056-1.4441 4.5975-3.3663 6.375-4.9687z" fill-rule="evenodd" fill="#661215"/>
<path opacity=".3" style="color:#000000" d="m18.406 6c-8.18 7.019-12.852 8.016-14.406 8.125v2.5312c1.1732-0.164 4.1092-0.751 7.25-2.718 4.027-2.523 8.844-7.313 8.844-7.313-1.302 2.5536-1.684 11.312-1.719 22.875h8.125c0.60271 0 1.1339-0.26843 1.5-0.6875 0.00027-0.0105 0-0.0207 0-0.0312-1.565-3.227-2.576-7.895-3.344-12.062-0.655-4.973 0.298-9.3183 0.656-10.719h-6.9062zm-14.406 12.219v2.8125c3.2857 0 8.2665 3.8155 10.875 8.4688h2.2188c-1.665-4.451-10.589-11.282-13.094-11.282z" fill-rule="evenodd" fill="#661215"/>
<path style="color:#000000" d="m18.408 5c-8.18 7.019-12.854 8.01-14.408 8.119v2.5225c1.1732-0.16382 4.1224-0.73265 7.2632-2.6998 4.0274-2.5225 8.8421-7.3113 8.8421-7.3113-1.32 2.5898-1.705 11.522-1.73 23.333h8.441c0.661 0 1.184-0.523 1.184-1.183-1.565-3.227-2.588-7.893-3.355-12.06-0.656-4.973 0.312-9.3203 0.671-10.721h-6.9079zm-14.408 12.23v2.7938c3.3961 0 8.6171 4.0752 11.143 8.9398h2.1215c-1.187-4.423-10.673-11.734-13.264-11.734z" fill="url(#d)"/>
</g>
<path opacity=".05" d="m25.688 5.0313c-3.216 1.9588-13.74 7.9437-21.688 7.1877v5.4062s17.674 2.6262 24-2.5938v-8.7187c0-0.69873-0.55021-1.2812-1.25-1.2812h-1.0625zm2.312 12.25c-3.181 3.168-6.45 7.386-8.625 11.719h2.5312c1.761-2.975 4.072-6.235 6.094-8.25v-3.4688z" fill-rule="evenodd"/>
</g>
<rect opacity=".5" stroke-linejoin="round" rx="1" ry="1" height="23" width="23" stroke="url(#e)" stroke-linecap="round" y="5.5" x="4.5" fill="none"/>
<rect opacity=".35" stroke-linejoin="round" style="color:#000000" rx="2" ry="2" height="25" width="25" stroke="#410000" stroke-linecap="round" y="4.5" x="3.5" fill="none"/>
</svg>

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 691 B

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs>
<linearGradient id="g" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.57063 0 0 .57063 2.3049 3.3049)" y1="5.5641" x1="24">
<stop stop-color="#fff" offset="0"/>
<stop stop-color="#fff" stop-opacity=".23529" offset=".036262"/>
<stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
<stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
</linearGradient>
<radialGradient id="b" fx="7.2758" gradientUnits="userSpaceOnUse" cy="9.9571" cx="7.8061" gradientTransform="matrix(-1.0673e-7 3.4663 -5.3421 -1.0405e-7 69.185 -26.355)" r="12.672">
<stop stop-color="#ffcd7d" offset="0"/>
<stop stop-color="#fc8f36" offset=".26238"/>
<stop stop-color="#e23a0e" offset=".70495"/>
<stop stop-color="#ac441f" offset="1"/>
</radialGradient>
<linearGradient id="f" y2=".91791" gradientUnits="userSpaceOnUse" x2="25" gradientTransform="matrix(.66015 0 0 .52505 .15636 5.186)" y1="47.935" x1="25">
<stop stop-color="#ba3d12" offset="0"/>
<stop stop-color="#db6737" offset="1"/>
</linearGradient>
<radialGradient id="d" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.015663 0 0 .0082353 17.61 24.981)" r="117.14"/>
<linearGradient id="a">
<stop offset="0"/>
<stop stop-opacity="0" offset="1"/>
</linearGradient>
<radialGradient id="c" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.015663 0 0 .0082353 14.39 24.981)" r="117.14"/>
<linearGradient id="e" y2="609.51" gradientUnits="userSpaceOnUse" y1="366.65" gradientTransform="matrix(.045769 0 0 .0082353 -.54232 24.981)" x2="302.86" x1="302.86">
<stop stop-opacity="0" offset="0"/>
<stop offset=".5"/>
<stop stop-opacity="0" offset="1"/>
</linearGradient>
</defs>
<g>
<rect opacity=".15" height="2" width="22.1" y="28" x="4.95" fill="url(#e)"/>
<path opacity=".15" d="m4.95 28v1.9999c-0.80662 0.0038-1.95-0.44807-1.95-1.0001 0-0.552 0.90012-0.99982 1.95-0.99982z" fill="url(#c)"/>
<path opacity=".15" d="m27.05 28v1.9999c0.80661 0.0038 1.95-0.44807 1.95-1.0001 0-0.552-0.90012-0.99982-1.95-0.99982z" fill="url(#d)"/>
<path stroke-linejoin="round" style="color:#000000" d="m4.4473 5.4473c5.2946 0 23.105 0.00147 23.105 0.00147l0.000029 23.104h-23.105v-23.105z" stroke="url(#f)" stroke-width=".89464" fill="url(#b)"/>
</g>
<path opacity=".5" stroke-linejoin="round" d="m26.557 27.557h-21.113v-21.113h21.113z" stroke="url(#g)" stroke-linecap="round" stroke-width=".88668" fill="none"/>
<path d="m7.0633 24.902c0-0.30708 0.10601-0.56488 0.31803-0.7734 0.21203-0.2123 0.47138-0.31845 0.77805-0.31846 0.2991 0.000007 0.55277 0.10616 0.76101 0.31846 0.21202 0.20852 0.31803 0.46632 0.31803 0.7734 0 0.29951-0.10601 0.55541-0.31803 0.76771-0.20824 0.20852-0.46191 0.31278-0.76101 0.31277-0.30667 0.000007-0.56603-0.10425-0.77805-0.31277-0.2121-0.209-0.3181-0.465-0.3181-0.768m-0.0633-4.931v1.816c2.3202 0 4.2047 1.8882 4.2047 4.2129h1.8223c0-3.33-2.7035-6.0293-6.027-6.0293zm0.00312-3.9745v2.0078c4.4053 0 7.9822 3.5816 7.9822 7.9928h2.0147c0.000015-5.5219-4.4823-10.001-9.9969-10.001z" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 650 B

Some files were not shown because too many files have changed in this diff Show more