Moodle APIs 4.3
Moodle 4.3.6 (Build: 20240812)
|
Glossary entries search. More...
Public Member Functions | |
attach_files ($document) | |
Files related to the current document are attached, to the document object ready for indexing by Global Search. | |
check_access ($id) | |
Whether the user can access the document or not. | |
get_area_id () | |
Returns the area id. | |
get_category_names () | |
Returns a list of category names associated with the area. | |
get_component_name () | |
Returns the moodle component name. | |
get_component_type () | |
Returns the component type. | |
get_config () | |
Returns all the search area configuration. | |
get_config_var_name () | |
Returns the config var name. | |
get_context_url (\core_search\document $doc) | |
Returns a url to the document context. | |
get_context_url (\core_search\document $doc) | |
Link to the glossary. | |
get_contexts_to_reindex () | |
Gets a list of all contexts to reindex when reindexing this search area. | |
get_doc_icon (document $doc) | |
Returns an icon instance for the document. | |
get_doc_url (\core_search\document $doc) | |
Returns a url to the document, it might match self\get_context_url(). | |
get_doc_url (\core_search\document $doc) | |
Link to glossary entry. | |
get_document ($entry, $options=array()) | |
Returns the documents associated with this glossary entry id. | |
get_document_display_title (\core_search\document $doc) | |
Returns the document title to display. | |
get_document_recordset ($modifiedfrom=0, context $context=null) | |
Returns recordset containing required data for indexing glossary entries. | |
get_last_indexing_duration () | |
Gets the length of time spent indexing this area (the last time it was indexed). | |
get_recordset_by_timestamp ($modifiedfrom=0) | |
Returns a recordset ordered by modification date ASC. | |
get_search_fileareas () | |
Return the context info required to index files for this search area. | |
get_visible_name ($lazyload=false) | |
Returns the area visible name. | |
is_enabled () | |
Is the search component enabled by the system administrator? | |
restrict_cm_access_by_group (\cm_info $cm) | |
Checks whether the content of this search area should be restricted by group for a specific module. | |
set_enabled ($isenabled) | |
supports_get_document_recordset () | |
Checks if get_document_recordset is supported for this search area. | |
supports_group_restriction () | |
Indicates whether this search area may restrict access by group. | |
uses_file_indexing () | |
Returns true if this area uses file indexing. | |
Static Public Member Functions | |
static | get_levels () |
Returns context levels property. | |
static | get_settingnames () |
Return a list of all required setting names. | |
Public Attributes | |
string | $areaid |
An area id from the componentname and the area name. | |
Protected Member Functions | |
get_cm ($modulename, $instanceid, $courseid) | |
Gets the course module for the required instanceid + modulename. | |
get_context_restriction_sql (?\context $context, $modname, $modtable, $paramtype=SQL_PARAMS_QM) | |
Helper function that gets SQL useful for restricting a search query given a passed-in context. | |
get_contexts_to_reindex_extra_sql () | |
This can be used in subclasses to change ordering within the get_contexts_to_reindex function. | |
get_course_level_context_restriction_sql (?\context $context, $coursetable, $paramtype=SQL_PARAMS_QM) | |
Helper function that gets SQL useful for restricting a search query given a passed-in context, for data stored at course level. | |
get_entry ($entryid) | |
Returns the specified glossary entry checking the internal cache. | |
get_module_name () | |
Returns the module name. | |
Static Protected Attributes | |
static array | $levels = [CONTEXT_MODULE] |
The context levels the search area is working on. | |
Glossary entries search.
|
inherited |
Files related to the current document are attached, to the document object ready for indexing by Global Search.
The default implementation retrieves all files for the file areas returned by get_search_fileareas(). If you need to filter files to specific items per file area, you will need to override this method and explicitly provide the items.
document | $document | The current document |
void |
Reimplemented in block_html\search\content, core_search\base_activity, mod_data\search\entry, and mod_forum\search\post.
mod_glossary\search\entry::check_access | ( | $id | ) |
Whether the user can access the document or not.
dml_missing_record_exception | |
dml_exception |
int | $id | Glossary entry id |
bool |
Reimplemented from core_search\base.
|
inherited |
Returns the area id.
string |
|
inherited |
Returns a list of category names associated with the area.
array |
Reimplemented from core_search\base.
|
protectedinherited |
Gets the course module for the required instanceid + modulename.
The returned data depends on the logged user, when calling this through self\get_document the admin user is used so everything would be returned.
No need more internal caching here, modinfo is already cached.
dml_missing_record_exception |
string | $modulename | The module name |
int | $instanceid | Module instance id (depends on the module) |
int | $courseid | Helps speeding up things |
cm_info |
|
inherited |
Returns the moodle component name.
It might be the plugin name (whole frankenstyle name) or the core subsystem name.
string |
Reimplemented in core_course\search\course, core_course\search\customfield, core_course\search\section, core_user\search\course_teacher, and core_user\search\user.
|
inherited |
Returns the component type.
It might be a plugintype or 'core' for core subsystems.
string |
|
inherited |
Returns all the search area configuration.
array |
|
inherited |
Returns the config var name.
It depends on whether it is a moodle subsystem or a plugin as plugin-related config should remain in their own scope.
string | Config var path including the plugin (or component) and the varname |
|
protectedinherited |
Helper function that gets SQL useful for restricting a search query given a passed-in context.
The SQL returned will be zero or more JOIN statements, surrounded by whitespace, which act as restrictions on the query based on the rows in a module table.
You can pass in a null or system context, which will both return an empty string and no params.
Returns an array with two nulls if there can be no results for the activity within this context (e.g. it is a block context).
If named parameters are used, these will be named gcrs0, gcrs1, etc. The table aliases used in SQL also all begin with gcrs, to avoid conflicts.
context | null | $context | Context to restrict the query |
string | $modname | Name of module e.g. 'forum' |
string | $modtable | Alias of table containing module id |
int | $paramtype | Type of SQL parameters to use (default question mark) |
array | Array with SQL and parameters; both null if no need to query |
coding_exception | If called with invalid params |
|
abstractinherited |
Returns a url to the document context.
core_search\document | $doc |
moodle_url |
Reimplemented in core_search\base_activity, and core_search\base_block.
mod_glossary\search\entry::get_context_url | ( | \core_search\document | $doc | ) |
|
inherited |
Gets a list of all contexts to reindex when reindexing this search area.
For modules, the default is to return all contexts for modules of that type, in order of time added (most recent first).
Iterator | Iterator of contexts to reindex |
moodle_exception | If any DB error |
Reimplemented from core_search\base.
|
protectedinherited |
This can be used in subclasses to change ordering within the get_contexts_to_reindex function.
It returns 2 values:
Note the query already includes a GROUP BY on the context fields, so if your joins result in multiple rows, you can use aggregate functions in the ORDER BY. See forum for an example.
string[] | Array with 2 elements; extra joins for the query, and ORDER BY value |
Reimplemented in mod_forum\search\post.
|
protectedinherited |
Helper function that gets SQL useful for restricting a search query given a passed-in context, for data stored at course level.
The SQL returned will be zero or more JOIN statements, surrounded by whitespace, which act as restrictions on the query based on the rows in a module table.
You can pass in a null or system context, which will both return an empty string and no params.
Returns an array with two nulls if there can be no results for a course within this context.
If named parameters are used, these will be named gclcrs0, gclcrs1, etc. The table aliases used in SQL also all begin with gclcrs, to avoid conflicts.
context | null | $context | Context to restrict the query |
string | $coursetable | Name of alias for course table e.g. 'c' |
int | $paramtype | Type of SQL parameters to use (default question mark) |
array | Array with SQL and parameters; both null if no need to query |
coding_exception | If called with invalid params |
|
inherited |
Returns an icon instance for the document.
core_search\document | $doc |
core_search\document_icon |
Reimplemented from core_search\base.
|
abstractinherited |
Returns a url to the document, it might match self\get_context_url().
core_search\document | $doc |
moodle_url |
Reimplemented in core_search\base_activity, and core_search\base_block.
mod_glossary\search\entry::get_doc_url | ( | \core_search\document | $doc | ) |
mod_glossary\search\entry::get_document | ( | $entry, | |
$options = array() ) |
Returns the documents associated with this glossary entry id.
stdClass | $entry | glossary entry. |
array | $options |
core_search\document |
Reimplemented from core_search\base.
|
inherited |
Returns the document title to display.
Allow to customize the document title string to display.
core_search\document | $doc |
string | Document title to display in the search results page |
mod_glossary\search\entry::get_document_recordset | ( | $modifiedfrom = 0, | |
context | $context = null ) |
Returns recordset containing required data for indexing glossary entries.
int | $modifiedfrom | timestamp |
context | null | $context | Optional context to restrict scope of returned results |
moodle_recordset|null | Recordset (or null if no results) |
Reimplemented from core_search\base.
|
protected |
Returns the specified glossary entry checking the internal cache.
Store minimal information as this might grow.
dml_exception |
int | $entryid |
stdClass |
|
inherited |
Gets the length of time spent indexing this area (the last time it was indexed).
int|bool | Time in seconds spent indexing this area last time, false if never indexed |
|
staticinherited |
Returns context levels property.
int |
|
protectedinherited |
Returns the module name.
string |
|
inherited |
Returns a recordset ordered by modification date ASC.
Each record can include any data self\get_document might need but it must:
Since Moodle 3.4, subclasses should instead implement get_document_recordset, which has an additional context parameter. This function continues to work for implementations which haven't been updated, or where the context parameter is not required.
int | $modifiedfrom |
moodle_recordset |
mod_glossary\search\entry::get_search_fileareas | ( | ) |
Return the context info required to index files for this search area.
array |
Reimplemented from core_search\base.
|
staticinherited |
Return a list of all required setting names.
array |
|
inherited |
Returns the area visible name.
bool | $lazyload | Usually false, unless when in admin settings. |
string |
|
inherited |
Is the search component enabled by the system administrator?
bool |
|
inherited |
Checks whether the content of this search area should be restricted by group for a specific module.
Called at query time.
The default behaviour simply checks if the effective group mode is SEPARATEGROUPS, which is probably correct for most cases.
If restricted by group, the search query will (where supported by the engine) filter out results for groups the user does not belong to, unless the user has 'access all groups' for the activity. This affects only documents which set the 'groupid' field; results with no groupid will not be restricted.
Even if you return true to this function, you may still need to do group access checks in check_access, because the search engine may not support group restrictions.
cm_info | $cm |
bool | True to restrict by group |
|
inherited |
Checks if get_document_recordset is supported for this search area.
For many uses you can simply call get_document_recordset and see if it returns false, but this function is useful when you don't want to actually call the function right away.
|
inherited |
Indicates whether this search area may restrict access by group.
This should return true if the search area (sometimes) sets the 'groupid' schema field, and false if it never sets that field.
(If this function returns false, but the field is set, then results may be restricted unintentionally.)
If this returns true, the search engine will automatically apply group restrictions in some cases (by default, where a module is configured to use separate groups). See function restrict_cm_access_by_group().
bool |
Reimplemented in mod_data\search\entry, mod_forum\search\post, and mod_wiki\search\collaborative_page.
mod_glossary\search\entry::uses_file_indexing | ( | ) |
Returns true if this area uses file indexing.
bool |
Reimplemented from core_search\base.
|
staticprotectedinherited |
The context levels the search area is working on.
This can be overwriten by the search area if it works at multiple levels.