Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Protected Member Functions | List of all members
mod_forum\local\vaults\discussion Class Reference

Discussion vault class. More...

Inheritance diagram for mod_forum\local\vaults\discussion:
mod_forum\local\vaults\db_table_vault

Public Member Functions

 get_all_discussions_in_forum (forum_entity $forum, string $sort=null)
 Get all discussions in the specified forum. More...
 
 get_count_discussions_in_forum (forum_entity $forum)
 Get the count of the discussions in the specified forum. More...
 
 get_first_discussion_in_forum (forum_entity $forum)
 Get the first discussion in the specified forum. More...
 
 get_from_id (int $id)
 Get the entity for the given id. More...
 
 get_from_ids (array $ids)
 Get the list of entities for the given ids. More...
 
 get_last_discussion_in_forum (forum_entity $forum)
 Get the last discussion in the specified forum. More...
 
 update_discussion (discussion_entity $discussion)
 Update the discussion. More...
 

Protected Member Functions

 from_db_records (array $results)
 Convert the DB records into discussion entities. More...
 
 generate_get_records_sql (string $wheresql=null, string $sortsql=null, ?int $userid=null)
 Build the SQL to be used in get_records_sql. More...
 
 get_db ()
 Get the moodle database. More...
 
 get_entity_factory ()
 Get the entity factory. More...
 
 get_legacy_factory ()
 Get the legacy factory. More...
 
 get_preprocessors ()
 Get the list of preprocessors to run on the DB record results. More...
 
 get_table_alias ()
 Get the table alias. More...
 
 transform_db_records_to_entities (array $records)
 Execute the defined preprocessors on the DB record results and then convert them into entities. More...
 

Detailed Description

Discussion vault class.

This should be the only place that accessed the database.

This uses the repository pattern. See: https://designpatternsphp.readthedocs.io/en/latest/More/Repository/README.html

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ from_db_records()

mod_forum\local\vaults\discussion::from_db_records ( array  $results)
protected

Convert the DB records into discussion entities.

Parameters
array$resultsThe DB records
Return values
discussion_entity[]

Reimplemented from mod_forum\local\vaults\db_table_vault.

◆ generate_get_records_sql()

mod_forum\local\vaults\discussion::generate_get_records_sql ( string  $wheresql = null,
string  $sortsql = null,
?int  $userid = null 
)
protected

Build the SQL to be used in get_records_sql.

Parameters
string | null$wheresqlWhere conditions for the SQL
string | null$sortsqlOrder by conditions for the SQL
int | null$useridThe user ID
Return values
string

Reimplemented from mod_forum\local\vaults\db_table_vault.

◆ get_all_discussions_in_forum()

mod_forum\local\vaults\discussion::get_all_discussions_in_forum ( forum_entity  $forum,
string  $sort = null 
)

Get all discussions in the specified forum.

Parameters
forum_entity$forum
Return values
array

◆ get_count_discussions_in_forum()

mod_forum\local\vaults\discussion::get_count_discussions_in_forum ( forum_entity  $forum)

Get the count of the discussions in the specified forum.

Parameters
forum_entity$forum
Return values
int

◆ get_db()

mod_forum\local\vaults\db_table_vault::get_db ( )
protectedinherited

Get the moodle database.

Return values
moodle_database

◆ get_entity_factory()

mod_forum\local\vaults\db_table_vault::get_entity_factory ( )
protectedinherited

Get the entity factory.

Return values
entity_factory

◆ get_first_discussion_in_forum()

mod_forum\local\vaults\discussion::get_first_discussion_in_forum ( forum_entity  $forum)

Get the first discussion in the specified forum.

Parameters
forum_entity$forum
Return values
discussion_entity|null

◆ get_from_id()

mod_forum\local\vaults\db_table_vault::get_from_id ( int  $id)
inherited

Get the entity for the given id.

Parameters
int$idIdentifier for the entity
Return values
object|null

◆ get_from_ids()

mod_forum\local\vaults\db_table_vault::get_from_ids ( array  $ids)
inherited

Get the list of entities for the given ids.

Parameters
int[]$idsIdentifiers
Return values
array

◆ get_last_discussion_in_forum()

mod_forum\local\vaults\discussion::get_last_discussion_in_forum ( forum_entity  $forum)

Get the last discussion in the specified forum.

Parameters
forum_entity$forum
Return values
discussion_entity|null

◆ get_legacy_factory()

mod_forum\local\vaults\db_table_vault::get_legacy_factory ( )
protectedinherited

Get the legacy factory.

Return values
object

◆ get_preprocessors()

mod_forum\local\vaults\db_table_vault::get_preprocessors ( )
protectedinherited

Get the list of preprocessors to run on the DB record results.

The preprocessors should be defined using an associative array. The key used to identify the preprocessor in this list will be used to identify the value of that preprocessor in the list of results when passed to the from_db_records function.

Return values
array

Reimplemented in mod_forum\local\vaults\forum, and mod_forum\local\vaults\discussion_list.

◆ get_table_alias()

mod_forum\local\vaults\discussion::get_table_alias ( )
protected

Get the table alias.

Return values
string

Reimplemented from mod_forum\local\vaults\db_table_vault.

◆ transform_db_records_to_entities()

mod_forum\local\vaults\db_table_vault::transform_db_records_to_entities ( array  $records)
protectedinherited

Execute the defined preprocessors on the DB record results and then convert them into entities.

Parameters
stdClass[]$recordsList of DB results
Return values
array

◆ update_discussion()

mod_forum\local\vaults\discussion::update_discussion ( discussion_entity  $discussion)

Update the discussion.

Parameters
discussion_entity$discussion
Return values
discussion_entity|null

The documentation for this class was generated from the following file: