MDL-60105 search: Fix fatal error
authorMatt Clarkson <mattc@catalyst.net.nz>
Wed, 13 Sep 2017 00:50:29 +0000 (12:50 +1200)
committerDavid Monllao <davidm@moodle.com>
Wed, 13 Sep 2017 11:51:30 +0000 (13:51 +0200)
If an indexed file has been modified or deleted the search index
will still reference the old file. Remove the file from search
results until the change has been indexed.

search/classes/document.php

index 7ed7055..97cdc7b 100644 (file)
@@ -231,6 +231,8 @@ class document implements \renderable, \templatable {
 
                 if ($file = $fs->get_file_by_id($id)) {
                     $this->files[$id] = $file;
+                } else {
+                    unset($this->files[$id]); // Index is out of date and referencing a file that does not exist.
                 }
             }
         }