diff --git a/ajax/mimes.php b/ajax/mimes.php new file mode 100644 index 00000000..2031a040 --- /dev/null +++ b/ajax/mimes.php @@ -0,0 +1,19 @@ + Filter::getAll()) +); + +exit(); \ No newline at end of file diff --git a/js/viewer/viewer.js b/js/viewer/viewer.js index a500072b..cf2313f3 100644 --- a/js/viewer/viewer.js +++ b/js/viewer/viewer.js @@ -11,7 +11,13 @@ var odfViewer = { 'application/vnd.oasis.opendocument.text' ], - register : function(){ + register : function(response){ + if (response && response.mimes){ + jQuery.each(response.mimes, function(i, mime){ + odfViewer.supportedMimesRead.push(mime); + odfViewer.supportedMimesUpdate.push(mime); + }); + } for (var i = 0; i < odfViewer.supportedMimesRead.length; ++i) { var mime = odfViewer.supportedMimesRead[i]; FileActions.register(mime, 'View', OC.PERMISSION_READ, '', odfViewer.onView); @@ -54,7 +60,8 @@ var odfViewer = { var location = filename; } else { //Public page, files app, etc - var location = OC.filePath('documents', 'ajax', 'download.php') + '?path=' + $('#dir').val() + '/' + encodeURIComponent(filename); + var dirName = $('#dir').val()!='/' ? $('#dir').val() + '/' : '/'; + var location = OC.filePath('documents', 'ajax', 'download.php') + '?path=' + dirName + encodeURIComponent(filename); OC.addStyle('documents', '3rdparty/webodf/editor'); } @@ -105,7 +112,11 @@ var odfViewer = { $(document).ready(function() { if (typeof FileActions !== 'undefined') { - odfViewer.register(); + $.post( + OC.filePath('documents', 'ajax', 'mimes.php'), + {}, + odfViewer.register + ); } $('#odf_close').live('click', odfViewer.onClose);