]> source.dussan.org Git - nextcloud-server.git/commitdiff
Simplify generating file search results
authorBart Visscher <bartv@thisnet.nl>
Fri, 28 Sep 2012 19:14:59 +0000 (21:14 +0200)
committerBart Visscher <bartv@thisnet.nl>
Fri, 28 Sep 2012 19:18:20 +0000 (21:18 +0200)
lib/search/provider/file.php

index 135e40667b141f16667572b789aac686746b0fa3..e21278f3918f84360a5bb7944e2c4ec755a9291a 100644 (file)
@@ -5,29 +5,35 @@ class OC_Search_Provider_File extends OC_Search_Provider{
                $files=OC_FileCache::search($query,true);
                $results=array();
                foreach($files as $fileData) {
-                       $file=$fileData['path'];
-                       $mime=$fileData['mimetype'];
+                       $path = $fileData['path'];
+                       $mime = $fileData['mimetype'];
+
+                       $name = basename($path);
+                       $text = '';
                        if($mime=='httpd/unix-directory') {
-                               $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'index.php', array('dir' => $file)),'Files');
+                               $link = OC_Helper::linkTo( 'files', 'index.php', array('dir' => $path));
+                               $type = 'Files';
                        }else{
-                               $mimeBase=$fileData['mimepart'];
+                               $link = OC_Helper::linkTo( 'files', 'download.php', array('file' => $path));
+                               $mimeBase = $fileData['mimepart'];
                                switch($mimeBase) {
                                        case 'audio':
                                                break;
                                        case 'text':
-                                               $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php', array('file' => $file) ),'Text');
+                                               $type = 'Text';
                                                break;
                                        case 'image':
-                                               $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php', array('file' => $file) ),'Images');
+                                               $type = 'Images';
                                                break;
                                        default:
                                                if($mime=='application/xml') {
-                                                       $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php', array('file' => $file) ),'Text');
+                                                       $type = 'Text';
                                                }else{
-                                                       $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'download.php', array('file' => $file) ),'Files');
+                                                       $type = 'Files';
                                                }
                                }
                        }
+                       $results[] = new OC_Search_Result($name, $text, $link, $type);
                }
                return $results;
        }