MDL-55356 core_search: API to check if indexing enabled
authorsam marshall <s.marshall@open.ac.uk>
Thu, 7 Sep 2017 09:46:58 +0000 (10:46 +0100)
committersam marshall <s.marshall@open.ac.uk>
Wed, 11 Oct 2017 16:17:06 +0000 (17:17 +0100)
New function \core_search\manager::is_indexing_enabled(), analagous
to existing is_global_search_enabled().

This replaces existing duplicated code, ready for more use in
following commits.

lib/classes/task/search_index_task.php
lib/classes/task/search_optimize_task.php
search/classes/manager.php

index 870c4dc..7b6f801 100644 (file)
@@ -46,8 +46,7 @@ class search_index_task extends scheduled_task {
      * Throw exceptions on errors (the job will be retried).
      */
     public function execute() {
-        if (!\core_search\manager::is_global_search_enabled() &&
-                !get_config('core', 'searchindexwhendisabled')) {
+        if (!\core_search\manager::is_indexing_enabled()) {
             return;
         }
         $globalsearch = \core_search\manager::instance();
index 1a006c7..0c55179 100644 (file)
@@ -49,8 +49,7 @@ class search_optimize_task extends scheduled_task {
      * Throw exceptions on errors (the job will be retried).
      */
     public function execute() {
-        if (!\core_search\manager::is_global_search_enabled() &&
-                !get_config('core', 'searchindexwhendisabled')) {
+        if (!\core_search\manager::is_indexing_enabled()) {
             return;
         }
 
index 3e8daac..c8425a1 100644 (file)
@@ -157,6 +157,17 @@ class manager {
         return !empty($CFG->enableglobalsearch);
     }
 
+    /**
+     * Returns whether indexing is enabled or not (you can enable indexing even when search is not
+     * enabled at the moment, so as to have it ready for students).
+     *
+     * @return bool True if indexing is enabled.
+     */
+    public static function is_indexing_enabled() {
+        global $CFG;
+        return !empty($CFG->enableglobalsearch) || !empty($CFG->searchindexwhendisabled);
+    }
+
     /**
      * Returns an instance of the search engine.
      *