MDL-19575に報告しました.
確かに,search/query.phpの冒頭で,require_login()がありますが,$CFG->forceloginがtrueの場合だけです.ゲストでもログイン可能なコースを用意している場合は有効にできません.
search/query.phpの頭に,
require_once('../config.php');
require_once("$CFG->dirroot/search/lib.php");
// include "debugging.php";
if ($CFG->forcelogin) {
require_login();
}
if (!isloggedin() or isguest()) {
error('Guest user can not execute Global Search!');
}
if (empty($CFG->enableglobalsearch)) {
error(get_string('globalsearchdisabled', 'search'));
}
赤で示したコードを追加すれば,取り合えずゲストによるグローバルサーチを禁止できます.
でも,もしかしたらこれはグローバルサーチの思想(仕様)なのかも知れません.