diff --git a/apps/files_textviewer/js/textviewer.js b/apps/files_textviewer/js/textviewer.js index d650c44d5a..b1a564df9b 100644 --- a/apps/files_textviewer/js/textviewer.js +++ b/apps/files_textviewer/js/textviewer.js @@ -116,4 +116,16 @@ $(document).ready(function() { }); FileActions.setDefault('application/xml','View'); } + OC.search.customResults.Text=function(row,item){ + var text=item.link.substr(item.link.indexOf('file=')+5); + var a=row.find('a'); + a.data('file',text); + a.attr('href','#'); + a.click(function(){ + var file=$(this).data('file'); + var text=file.split('/').pop(); + var dir=file.substr(0,file.length-file.length-1); + TextViewer.showText(dir,text); + }); + } }); diff --git a/lib/search/provider/file.php b/lib/search/provider/file.php index f3d235abdc..5fd35fa3e5 100644 --- a/lib/search/provider/file.php +++ b/lib/search/provider/file.php @@ -13,11 +13,18 @@ class OC_Search_Provider_File extends OC_Search_Provider{ switch($mimeBase){ case 'audio': break; + case 'text': + $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Text'); + break; case 'image': $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Images'); break; default: - $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Files'); + if($mime=='application/xml'){ + $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Text'); + }else{ + $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php?file='.$file ),'Files'); + } } } }