Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
qbank_exporttoxml\export_xml_action_column Class Reference
Inheritance diagram for qbank_exporttoxml\export_xml_action_column:
core_question\local\bank\menu_action_column_base core_question\local\bank\action_column_base core_question\local\bank\menuable_action core_question\local\bank\column_base

Public Member Functions

 display ($question, $rowclasses)
 Output this column.
 
 display_header ()
 Output the column header cell.
 
 get_action_menu_link (\stdClass $question)
 Return the appropriate action menu link, or null if it does not apply to this question.
 
 get_column_name ()
 Get the name of this column.
 
 get_extra_classes ()
 Any extra class names you would like applied to every cell in this column.
 
 get_extra_joins ()
 Return an array 'table_alias' => 'JOIN clause' to bring in any data that this column required.
 
 get_name ()
 Get the internal name for this column.
 
 get_preference ()
 Get if the preference of the row.
 
 get_preference_key ()
 Get if the preference key of the row.
 
 get_required_fields ()
 Use table alias 'q' for the question table, or one of the ones from get_extra_joins.
 
 get_required_statistics_fields ()
 If this column requires any aggregated statistics, it should declare that here.
 
 get_title ()
 Title for this column.
 
 get_title_tip ()
 Use this when get_title() returns something very short, and you want a longer version as a tool tip.
 
 has_preference ()
 Check if the row has an extra preference to view/hide.
 
 help_icon ()
 If you return a help icon here, it is shown in the column header after the title.
 
 init ()
 A chance for subclasses to initialise themselves, for example to load lang strings, without having to override the constructor.
 
 is_extra_row ()
 Check if the column is an extra row of not.
 
 is_sortable ()
 Can this column be sorted on? You can return either:
 
 load_additional_data (array $questions)
 If this column needs extra data (e.g.
 
 load_question_tags (array $questions)
 Load the tags for each question.
 
 set_as_heading ()
 Set the column as heading.
 
 sort_expression ($reverse, $subsort)
 Sorts the expressions.
 

Protected Member Functions

 display_content ($question, $rowclasses)
 Output the contents of this column.
 
 display_end ($question, $rowclasses)
 Output the closing column tag.
 
 display_start ($question, $rowclasses)
 Output the opening column tag.
 
 get_classes ()
 The CSS classes to apply to every cell in this column.
 
 get_sort_icon ($reverse)
 Get an icon representing the corrent sort state.
 
 get_url_icon_and_label (\stdClass $question)
 Get the information required to display this action either as a menu item or a separate action column.
 
 make_sort_link ($sort, $title, $tip, $defaultreverse=false)
 Get a link that changes the sort order, and indicates the current sort state.
 
 print_icon ($icon, $title, $url)
 
 sortorder ($reverse)
 Helper method for building sort clauses.
 

Protected Attributes

bool $isheading = false
 determine whether the column is td or th.
 
view $qbank
 $qbank the question bank view we are helping to render.
 
string $strexportasxml
 avoids repeated calls to get_string('duplicate').
 

Member Function Documentation

◆ display()

core_question\local\bank\column_base::display ( $question,
$rowclasses )
inherited

Output this column.

Parameters
object$questionthe row from the $question table, augmented with extra information.
string$rowclassesCSS class names that should be applied to this row of output.

◆ display_content()

core_question\local\bank\menu_action_column_base::display_content ( $question,
$rowclasses )
protectedinherited

Output the contents of this column.

Parameters
object$questionthe row from the $question table, augmented with extra information.
string$rowclassesCSS class names that should be applied to this row of output.

Reimplemented from core_question\local\bank\column_base.

◆ display_end()

core_question\local\bank\column_base::display_end ( $question,
$rowclasses )
protectedinherited

Output the closing column tag.

Parameters
object$question
string$rowclasses

Reimplemented in core_question\local\bank\row_base.

◆ display_start()

core_question\local\bank\column_base::display_start ( $question,
$rowclasses )
protectedinherited

Output the opening column tag.

If it is set as heading, it will use

tag instead of

Parameters
stdClass$question
string$rowclasses

Reimplemented in core_question\local\bank\row_base.

◆ get_action_menu_link()

core_question\local\bank\menu_action_column_base::get_action_menu_link ( \stdClass $question)
inherited

Return the appropriate action menu link, or null if it does not apply to this question.

Parameters
stdClass$questiondata about the question being displayed in this row.
Return values
action_menu_link|nullthe action, if applicable to this question.

Implements core_question\local\bank\menuable_action.

◆ get_classes()

core_question\local\bank\column_base::get_classes ( )
protectedinherited

The CSS classes to apply to every cell in this column.

Return values
string

◆ get_column_name()

core_question\local\bank\column_base::get_column_name ( )
inherited

Get the name of this column.

This must be unique. When using the inherited class to make many columns from one parent, ensure each instance returns a unique value.

Return values
stringThe unique name;

Reimplemented in qbank_customfields\custom_field_column.

◆ get_extra_classes()

core_question\local\bank\action_column_base::get_extra_classes ( )
inherited

Any extra class names you would like applied to every cell in this column.

Return values
array

Reimplemented from core_question\local\bank\column_base.

Reimplemented in qbank_history\history_action_column.

◆ get_extra_joins()

core_question\local\bank\action_column_base::get_extra_joins ( )
inherited

Return an array 'table_alias' => 'JOIN clause' to bring in any data that this column required.

The return values for all the columns will be checked. It is OK if two columns join in the same table with the same alias and identical JOIN clauses. If to columns try to use the same alias with different joins, you get an error. The only table included by default is the question table, which is aliased to 'q'.

It is importnat that your join simply adds additional data (or NULLs) to the existing rows of the query. It must not cause additional rows.

Return values
array'table_alias' => 'JOIN clause'

Reimplemented from core_question\local\bank\column_base.

◆ get_name()

qbank_exporttoxml\export_xml_action_column::get_name ( )

Get the internal name for this column.

Used as a CSS class name, and to store information about the current sort. Must match PARAM_ALPHA.

Return values
stringcolumn name.

Reimplemented from core_question\local\bank\column_base.

◆ get_preference()

core_question\local\bank\column_base::get_preference ( )
inherited

Get if the preference of the row.

Reimplemented in qbank_viewquestiontext\question_text_row.

◆ get_preference_key()

core_question\local\bank\column_base::get_preference_key ( )
inherited

Get if the preference key of the row.

Reimplemented in qbank_viewquestiontext\question_text_row.

◆ get_required_fields()

core_question\local\bank\action_column_base::get_required_fields ( )
inherited

Use table alias 'q' for the question table, or one of the ones from get_extra_joins.

Every field requested must specify a table prefix.

Return values
arrayfields required.

Reimplemented from core_question\local\bank\column_base.

Reimplemented in qbank_deletequestion\delete_action_column.

◆ get_required_statistics_fields()

core_question\local\bank\column_base::get_required_statistics_fields ( )
inherited

If this column requires any aggregated statistics, it should declare that here.

This is those statistics can be efficiently loaded in bulk.

The statistics are all loaded just before load_additional_data is called on each column. The values are then available from $this->qbank->get_aggregate_statistic(...);

Return values
string[]the names of the required statistics fields. E.g. ['facility'].

Reimplemented in qbank_statistics\columns\discrimination_index, qbank_statistics\columns\discriminative_efficiency, and qbank_statistics\columns\facility_index.

◆ get_sort_icon()

core_question\local\bank\column_base::get_sort_icon ( $reverse)
protectedinherited

Get an icon representing the corrent sort state.

Parameters
bool$reversesort is descending, not ascending.
Return values
stringHTML image tag.

◆ get_title()

core_question\local\bank\action_column_base::get_title ( )
inherited

Title for this column.

Not used if is_sortable returns an array.

Reimplemented from core_question\local\bank\column_base.

◆ get_title_tip()

core_question\local\bank\column_base::get_title_tip ( )
inherited

Use this when get_title() returns something very short, and you want a longer version as a tool tip.

Return values
stringa fuller version of the name.

Reimplemented in core_question\local\bank\checkbox_column, and qbank_viewquestiontype\question_type_column.

◆ get_url_icon_and_label()

qbank_exporttoxml\export_xml_action_column::get_url_icon_and_label ( \stdClass $question)
protected

Get the information required to display this action either as a menu item or a separate action column.

If this action cannot apply to this question (e.g. because the user does not have permission, then return [null, null, null].

Parameters
stdClass$questionthe row from the $question table, augmented with extra information.
Return values
arraywith three elements. $url - the URL to perform the action. $icon - the icon for this action. E.g. 't/delete'. $label - text label to display in the UI (either in the menu, or as a tool-tip on the icon)

Reimplemented from core_question\local\bank\menu_action_column_base.

◆ has_preference()

core_question\local\bank\column_base::has_preference ( )
inherited

Check if the row has an extra preference to view/hide.

Reimplemented in qbank_viewquestiontext\question_text_row.

◆ help_icon()

core_question\local\bank\column_base::help_icon ( )
inherited

If you return a help icon here, it is shown in the column header after the title.

Return values
help_icon|nullhelp icon to show, if required.

Reimplemented in qbank_statistics\columns\discrimination_index, qbank_statistics\columns\discriminative_efficiency, qbank_statistics\columns\facility_index, qbank_usage\question_last_used_column, and qbank_usage\question_usage_column.

◆ init()

qbank_exporttoxml\export_xml_action_column::init ( )

A chance for subclasses to initialise themselves, for example to load lang strings, without having to override the constructor.

Reimplemented from core_question\local\bank\column_base.

◆ is_extra_row()

core_question\local\bank\column_base::is_extra_row ( )
inherited

Check if the column is an extra row of not.

Reimplemented in core_question\local\bank\row_base.

◆ is_sortable()

core_question\local\bank\column_base::is_sortable ( )
inherited

Can this column be sorted on? You can return either:

  • false for no (the default),
  • a field name, if sorting this column corresponds to sorting on that datbase field.
  • an array of subnames to sort on as follows return [ 'firstname' => ['field' => 'uc.firstname', 'title' => get_string('firstname')], 'lastname' => ['field' => 'uc.lastname', 'title' => get_string('lastname')], ]; As well as field, and field, you can also add 'revers' => 1 if you want the default sort order to be DESC.
    Return values
    mixedas above.

Reimplemented in mod_quiz\question\bank\question_name_column, qbank_viewcreator\creator_name_column, qbank_viewcreator\modifier_name_column, qbank_viewquestionname\question_name_idnumber_tags_column, qbank_viewquestionname\viewquestionname_column_helper, and qbank_viewquestiontype\question_type_column.

◆ load_additional_data()

core_question\local\bank\column_base::load_additional_data ( array $questions)
inherited

If this column needs extra data (e.g.

tags) then load that here.

The extra data should be added to the question object in the array. Probably a good idea to check that another column has not already loaded the data you want.

Parameters
stdClass[]$questionsthe questions that will be displayed, indexed by question id.

Reimplemented in mod_quiz\question\bank\question_name_text_column, and qbank_viewquestionname\question_name_idnumber_tags_column.

◆ load_question_tags()

core_question\local\bank\column_base::load_question_tags ( array $questions)
inherited

Load the tags for each question.

Helper that can be used from {

See also
load_additional_data()};
Parameters
array$questions

◆ make_sort_link()

core_question\local\bank\column_base::make_sort_link ( $sort,
$title,
$tip,
$defaultreverse = false )
protectedinherited

Get a link that changes the sort order, and indicates the current sort state.

Parameters
string$sortthe column to sort on.
string$titlethe link text.
string$tipthe link tool-tip text. If empty, defaults to title.
bool$defaultreversewhether the default sort order for this column is descending, rather than ascending.
Return values
string

◆ sort_expression()

core_question\local\bank\column_base::sort_expression ( $reverse,
$subsort )
inherited

Sorts the expressions.

Parameters
bool$reverseWhether to sort in the reverse of the default sort order.
string$subsortif is_sortable returns an array of subnames, then this will be one of those. Otherwise will be empty.
Return values
stringsome SQL to go in the order by clause.

◆ sortorder()

core_question\local\bank\column_base::sortorder ( $reverse)
protectedinherited

Helper method for building sort clauses.

Parameters
bool$reversewhether the normal direction should be reversed.
Return values
string'ASC' or 'DESC'

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