Moodle APIs 4.3
Moodle 4.3.6 (Build: 20240812)
|
Custom view class for the history page. More...
Public Member Functions | |
__construct (question_edit_contexts $contexts, moodle_url $pageurl, stdClass $course, stdClass $cm=null, array $params=[], array $extraparams=[],) | |
Constructor for the history. | |
add_searchcondition (condition $searchcondition, ?string $fieldname=null) | |
Add another search control to this view. | |
add_standard_search_conditions () | |
Add standard search conditions. | |
allow_add_questions () | |
Does the current view allow adding new questions? | |
base_url () | |
Returns the base url. | |
copy_question_moodle_url ($questionid) | |
Get the URL for duplicating a question as a moodle url. | |
copy_question_url ($questionid) | |
Get the URL for duplicating a given question. | |
display () | |
Shows the question bank interface. | |
display_bottom_pagination ($pagination, $totalnumber, $perpage, $pageurl) | |
Display bottom pagination bar. | |
display_question_bank_header () | |
Display the header for the question bank in the history page to include question name and type. | |
display_question_list () | |
Prints the table of questions in a category with interactions. | |
display_questions ($questions, $page=0, $perpage=DEFAULT_QUESTIONS_PER_PAGE) | |
Display the questions. | |
display_questions_table () | |
Display the questions table for the fragment/ajax. | |
display_top_pagnation ($pagination) | |
Display the top pagination bar. | |
edit_question_moodle_url ($questionid) | |
Get the URL for editing a question as a moodle url. | |
edit_question_url ($questionid) | |
Get the URL for editing a question as a HTML-escaped string. | |
get_aggregate_statistic (int $questionid, string $fieldname) | |
Get the aggregated value of a particular statistic for a particular question. | |
get_column_count () | |
Get the count of the columns. | |
get_courseid () | |
Get course id. | |
get_most_specific_context () | |
Get the context we are displaying the question bank for. | |
get_pagevars (?string $field=null) | |
Get fields from the pagevars array. | |
get_primary_sort_order ($sortname) | |
Gets the primary sort order according to the default sort. | |
get_question_actions () | |
Return array of menu actions. | |
get_question_count () | |
Get the number of questions. | |
get_visiblecolumns () | |
Gets visible columns. | |
has_column ($colname) | |
Checks if the column included in the output. | |
is_listing_specific_versions () | |
Is this view showing separate versions of a question? | |
load_questions () | |
Load the questions according to the search conditions. | |
new_sort_url ($sortname, $newsortreverse) | |
Get a URL to redisplay the page with a new sort for the question bank. | |
preview_question_url ($questiondata) | |
Get the URL to preview a question. | |
print_table_row ($question, $rowcount) | |
Prints the table row from child classes. | |
process_actions () | |
Process actions for the selected action. | |
process_actions_needing_ui () | |
Process actions with ui. | |
set_pagevars (array $pagevars) | |
Set the pagevars property with the provided array. | |
wanted_filters () | |
Override wanted_filters so that we apply the filters provided by the URL, but don't display the filter UI. | |
Public Attributes | |
array | $bulkactions = [] |
$bulkactions to identify the bulk actions for the api. | |
string | $callback = 'question_data' |
$callback name of the callback for the api call via filter js. | |
object cm_info null | $cm |
if we are in a module context, the cm. | |
string | $component = 'core_question' |
$component the component the api is used from. | |
core_question local bank question_edit_contexts | $contexts |
object | $course |
the course we are within. | |
array | $extraparams = [] |
$extraparams extra parameters for the extended apis. | |
string | $returnurl |
url of the new question page. | |
const | MAX_SORTS = 3 |
Maximum number of sorts allowed. | |
Protected Member Functions | |
build_query () | |
Create the SQL query to retrieve the indicated questions, based on core_question\bank\search\condition filters. | |
default_sort () | |
Default sort for question data. | |
determine_required_statistics () | |
Work out the list of all the required statistics fields for this question bank view. | |
display_advanced_search_form ($advancedsearch) | |
Print the "advanced" UI elements for the form to select which questions. | |
display_bottom_controls (\context $catcontext) | |
Display the controls at the bottom of the list of questions. | |
display_options_form ($showquestiontext) | |
Display the form with options for which questions are displayed and how they are displayed. | |
display_showtext_checkbox ($showquestiontext) | |
Display the checkbox UI for toggling the display of the question text in the list. | |
end_table () | |
End of the table html. | |
get_column_type ($columnname) | |
Check a column object from its name and get the object for sort. | |
get_component_requirements (array $viewcomponents) | |
Gather query requirements from view component objects. | |
get_current_category ($categoryandcontext) | |
Gets current selected category. | |
get_plugin_controls (\core\context $context, int $categoryid) | |
Output the question bank controls for each plugin. | |
get_question_bank_plugins () | |
Get class for each question bank columns. | |
get_required_fields () | |
Return an array of fields for any data that the core view requires. | |
get_required_joins () | |
Return an array 'table_alias' => 'JOIN clause' to bring in any data that the core view requires. | |
get_row_classes ($question, $rowcount) | |
Gets the classes for the row. | |
heading_column () | |
Specify the column heading. | |
init_bulk_actions () | |
Initialize bulk actions. | |
init_column_manager () | |
Allow qbank plugins to override the column manager. | |
init_columns ($wanted, $heading='') | |
Initializing table columns. | |
init_plugins () | |
Get an array of plugin features objects for all enabled qbank plugins. | |
init_question_actions () | |
Initialise list of menu actions for enabled question bank plugins. | |
init_search_conditions () | |
Initialize search conditions from plugins local_*_get_question_bank_search_conditions() must return an array of core_question\bank\search\condition objects. | |
init_sort () | |
Initialise sorting. | |
load_page_questions () | |
Load the questions we need to display. | |
load_required_statistics (array $questions) | |
Load the aggregate statistics that all the columns require. | |
parse_subsort ($sort) | |
Deal with a sort name of the form columnname, or colname_subsort by breaking it up, validating the bits that are present, and returning them. | |
print_choose_category_message () | |
Print the text if category id not available. | |
print_table ($questions) | |
Prints the actual table with question. | |
print_table_headers () | |
Print table headers from child classes. | |
sort_to_params ($sorts) | |
Sort to parameters. | |
start_table () | |
Start of the table html. | |
wanted_columns () | |
Loads all the available columns. | |
Protected Attributes | |
moodle_url | $basereturnurl |
Base url for the return. | |
moodle_url | $baseurl |
base URL for the current page. | |
column_manager_base | $columnmanager |
$columnmanager The column manager, can be overridden by plugins. | |
column_base[] | $corequestionbankcolumns |
these are the 'columns' that are common to the question bank. | |
string | $countsql |
SQL to count the number of questions matching the current search conditions. | |
moodle_url | $editquestionurl |
used as a basis for URLs that edit a question. | |
int | $entryid |
Entry id to get the versions. | |
column_base[] | $extrarows |
these are the 'columns' that are actually displayed as an additional row (e.g. | |
int null | $lastchangedid |
id of the a question to highlight in the list (if present). | |
array | $loadedstatistics = null |
Stores all the average statistics that this question bank view needs. | |
string | $loadsql |
SQL to actually load the question data to display. | |
int | $pagesize = DEFAULT_QUESTIONS_PER_PAGE |
page size to use (when we are not showing all questions). | |
array | $pagevars = [] |
Parameters for the page URL. | |
plugin_features_base[] | $plugins = [] |
$plugins Plugin feature objects for all enabled qbank plugins. | |
question_action_base[] | $questionactions |
these are all the actions that can be displayed in a question's action menu. | |
column_base[] | $requiredcolumns |
these are all the 'columns' that are part of the display. | |
condition[] | $searchconditions = [] |
search conditions. | |
array | $sort |
list of column class names for which columns to sort on. | |
array | $sqlparams |
params used by $countsql and $loadsql (which currently must be the same). | |
int null | $totalcount = null |
Number of questions. | |
column_base[] | $visiblecolumns |
these are the 'columns' that are actually displayed as a column, in order. | |
Custom view class for the history page.
qbank_history\question_history_view::__construct | ( | question_edit_contexts | $contexts, |
moodle_url | $pageurl, | ||
stdClass | $course, | ||
stdClass | $cm = null, | ||
array | $params = [], | ||
array | $extraparams = [] ) |
Constructor for the history.
question_edit_contexts | $contexts | the contexts of api call |
moodle_url | $pageurl | url of the page |
stdClass | $course | course settings |
stdClass | null | $cm | (optional) activity settings. |
array | $params | the parameters required to initialize the api. |
array | $extraparams | any extra parameters need to initialized if the api is extended, it will be passed to js. |
moodle_exception |
|
inherited |
Add another search control to this view.
condition | $searchcondition | the condition to add. |
string | null | $fieldname |
|
inherited |
Add standard search conditions.
Params must be set into this object before calling this function.
Reimplemented in mod_quiz\question\bank\custom_view.
qbank_history\question_history_view::allow_add_questions | ( | ) |
Does the current view allow adding new questions?
bool | True if the view supports adding new questions. |
Reimplemented from core_question\local\bank\view.
|
inherited |
Returns the base url.
moodle_url |
|
protected |
Create the SQL query to retrieve the indicated questions, based on core_question\bank\search\condition filters.
Reimplemented from core_question\local\bank\view.
|
inherited |
Get the URL for duplicating a question as a moodle url.
int | $questionid | the question id. |
moodle_url | the URL. |
|
inherited |
Get the URL for duplicating a given question.
int | $questionid | the question id. |
string | the URL, HTML-escaped. |
|
protected |
Default sort for question data.
array |
Reimplemented from core_question\local\bank\view.
|
protectedinherited |
Work out the list of all the required statistics fields for this question bank view.
This gathers all the required fields from all columns, so they can all be loaded at once.
string[] | the names of all the required fields for this question bank view. |
|
protected |
Print the "advanced" UI elements for the form to select which questions.
Hidden by default.
array | $advancedsearch |
Reimplemented from core_question\local\bank\view.
|
protectedinherited |
Display the controls at the bottom of the list of questions.
context | $catcontext | The context of the category being displayed. |
|
inherited |
Display bottom pagination bar.
string | $pagination | |
int | $totalnumber | |
int | $perpage | |
moodle_url | $pageurl |
|
protectedinherited |
Display the form with options for which questions are displayed and how they are displayed.
bool | $showquestiontext | Display the text of the question within the list. |
qbank_history\question_history_view::display_question_bank_header | ( | ) |
Display the header for the question bank in the history page to include question name and type.
Reimplemented from core_question\local\bank\view.
|
inherited |
Display the questions.
array | $questions |
|
inherited |
Display the questions table for the fragment/ajax.
string | HTML for the question table |
|
protectedinherited |
Display the checkbox UI for toggling the display of the question text in the list.
bool | $showquestiontext | the current or default value for whether to display the text. |
|
inherited |
|
inherited |
Get the URL for editing a question as a moodle url.
int | $questionid | the question id. |
moodle_url | the URL, HTML-escaped. |
|
inherited |
Get the URL for editing a question as a HTML-escaped string.
int | $questionid | the question id. |
string | the URL, HTML-escaped. |
|
protectedinherited |
|
inherited |
Get the aggregated value of a particular statistic for a particular question.
You can only get values for the questions on the current page of the question bank view, and only if you declared the need for this statistic in the get_required_statistics_fields() method of your question bank column.
int | $questionid | the id of a question |
string | $fieldname | the name of a statistics field, e.g. 'facility'. |
float|null | the average (across all users) of this statistic for this question. Null if the value is not available right now. |
|
inherited |
Get the count of the columns.
int | The number of columns in the table. |
|
protectedinherited |
Check a column object from its name and get the object for sort.
string | $columnname |
|
protectedinherited |
Gather query requirements from view component objects.
This will take the required fields and joins for this view, and combine them with those for all active view components. Fields will be de-duplicated in multiple components require the same field. Joins will be de-duplicated if the alias and join clause match exactly.
coding_exception | If two components attempt to use the same alias for different joins. |
view_component[] | $viewcomponents | List of component objects included in the current view |
array | [$fields, $joins] SQL fields and joins to add to the query. |
|
inherited |
Get course id.
mixed |
|
protectedinherited |
Gets current selected category.
string | $categoryandcontext |
false|mixed|stdClass |
|
inherited |
Get the context we are displaying the question bank for.
context | context object. |
|
inherited |
Get fields from the pagevars array.
If a field is specified, that particlar pagevars field will be returned. Otherwise the entire array will be returned.
If a field is specified but it does not exist, null will be returned.
?string | $field |
mixed |
|
protectedinherited |
Output the question bank controls for each plugin.
Controls will be output in the order defined by the array keys returned from {
core\context | $context | The current context, for permissions checks. |
int | $categoryid | The current question category. |
|
inherited |
Gets the primary sort order according to the default sort.
string | $sortname | a column or column_subsort name. |
int | the current sort order for this column -1, 0, 1 |
|
inherited |
Return array of menu actions.
question_action_base[] |
|
protectedinherited |
Get class for each question bank columns.
array |
Reimplemented in mod_quiz\question\bank\custom_view, and mod_quiz\question\bank\random_question_view.
|
inherited |
Get the number of questions.
int |
|
protectedinherited |
Return an array of fields for any data that the core view requires.
Use table alias 'q' for the question table, or one of the ones from get_required_joins. Every field requested must specify a table prefix.
string[] | fields required. |
|
protectedinherited |
Return an array 'table_alias' => 'JOIN clause' to bring in any data that the core view requires.
string[] | 'table_alias' => 'JOIN clause' |
|
protectedinherited |
Gets the classes for the row.
stdClass | $question | |
int | $rowcount |
array |
|
inherited |
Gets visible columns.
array | Visible columns. |
|
inherited |
Checks if the column included in the output.
string | $colname | a column internal name. |
bool | is this column included in the output? |
|
protectedinherited |
Specify the column heading.
string | Column name for the heading |
Reimplemented in mod_quiz\question\bank\custom_view.
|
protectedinherited |
Allow qbank plugins to override the column manager.
If multiple qbank plugins define a column manager, this will pick the first one sorted alphabetically.
void |
Reimplemented in mod_quiz\question\bank\custom_view, and qbank_columnsortorder\local\bank\preview_view.
|
protectedinherited |
Initializing table columns.
array | $wanted | Collection of column names |
string | $heading | The name of column that is set as heading |
|
protectedinherited |
Get an array of plugin features objects for all enabled qbank plugins.
void |
|
protected |
Initialise list of menu actions for enabled question bank plugins.
Menu action objects are stored in $this->menuactions, keyed by class name.
void |
Reimplemented from core_question\local\bank\view.
|
protectedinherited |
Initialize search conditions from plugins local_*_get_question_bank_search_conditions() must return an array of core_question\bank\search\condition objects.
qbank_history\question_history_view::is_listing_specific_versions | ( | ) |
Is this view showing separate versions of a question?
bool |
Reimplemented from core_question\local\bank\view.
|
protectedinherited |
Load the questions we need to display.
moodle_recordset | questionid => data about each question. |
|
inherited |
Load the questions according to the search conditions.
array |
|
protectedinherited |
Load the aggregate statistics that all the columns require.
stdClass[] | $questions | the questions that will be displayed indexed by question id. |
|
inherited |
Get a URL to redisplay the page with a new sort for the question bank.
string | $sortname | the column, or column_subsort to sort on. |
bool | $newsortreverse | whether to sort in reverse order. |
string | The new URL. |
|
protectedinherited |
Deal with a sort name of the form columnname, or colname_subsort by breaking it up, validating the bits that are present, and returning them.
If there is no subsort, then $subsort is returned as ''.
string | $sort | the sort parameter to process. |
array | [$colname, $subsort]. |
|
inherited |
Get the URL to preview a question.
stdClass | $questiondata | the data defining the question. |
moodle_url | the URL. |
|
protectedinherited |
Print the text if category id not available.
|
protectedinherited |
Prints the actual table with question.
array | $questions |
|
inherited |
Prints the table row from child classes.
stdClass | $question | |
int | $rowcount |
Reimplemented in qbank_columnsortorder\local\bank\preview_view.
|
inherited |
Process actions for the selected action.
|
inherited |
|
inherited |
Set the pagevars property with the provided array.
array | $pagevars |
|
protectedinherited |
Sort to parameters.
array | $sorts |
array |
|
protectedinherited |
|
protected |
Loads all the available columns.
array |
Reimplemented from core_question\local\bank\view.
qbank_history\question_history_view::wanted_filters | ( | ) |
Override wanted_filters so that we apply the filters provided by the URL, but don't display the filter UI.
void |
Reimplemented from core_question\local\bank\view.
|
protected |
Base url for the return.
$basereturnurl
|
protectedinherited |
base URL for the current page.
Used as the basis for making URLs for actions that reload the page.
|
protected |
Entry id to get the versions.
$entryid
|
protectedinherited |
these are the 'columns' that are actually displayed as an additional row (e.g.
question text), in order. Array keys are the class name.
|
protectedinherited |
Stores all the average statistics that this question bank view needs.
This field gets initialised in {
|
protectedinherited |
these are all the actions that can be displayed in a question's action menu.
Array keys are the class name.
|
protectedinherited |
these are all the 'columns' that are part of the display.
Array keys are the class name.
|
protectedinherited |
these are the 'columns' that are actually displayed as a column, in order.
Array keys are the class name.