Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
core_question\bank\column_base Class Reference

Base class for representing a column in a question_bank_view. More...

Inheritance diagram for core_question\bank\column_base:
core_question\bank\action_column_base core_question\bank\checkbox_column core_question\bank\creator_name_column core_question\bank\edit_menu_column core_question\bank\modifier_name_column core_question\bank\question_name_column core_question\bank\question_type_column core_question\bank\row_base

Public Member Functions

 __construct (view $qbank)
 Constructor. More...
 
 display ($question, $rowclasses)
 Output this column. More...
 
 display_header ()
 Output the column header cell.
 
 get_extra_classes ()
 
 get_extra_joins ()
 Return an array 'table_alias' => 'JOIN clause' to bring in any data that this column required. More...
 
 get_name ()
 Get the internal name for this column. More...
 
 get_required_fields ()
 
 is_extra_row ()
 
 is_sortable ()
 Can this column be sorted on? You can return either: More...
 
 load_additional_data (array $questions)
 If this column needs extra data (e.g. More...
 
 load_question_tags (array $questions)
 Load the tags for each question. More...
 
 set_as_heading ()
 Set the column as heading.
 
 sort_expression ($reverse, $subsort)
 

Protected Member Functions

 display_content ($question, $rowclasses)
 Output the contents of this column. More...
 
 display_end ($question, $rowclasses)
 Output the closing column tag. More...
 
 display_start ($question, $rowclasses)
 Output the opening column tag. More...
 
 get_classes ()
 
 get_sort_icon ($reverse)
 Get an icon representing the corrent sort state. More...
 
 get_title ()
 Title for this column. More...
 
 get_title_tip ()
 
 init ()
 A chance for subclasses to initialise themselves, for example to load lang strings, without having to override the constructor.
 
 make_sort_link ($sort, $title, $tip, $defaultreverse=false)
 Get a link that changes the sort order, and indicates the current sort state. More...
 
 sortorder ($reverse)
 Helper method for building sort clauses. More...
 

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.
 

Detailed Description

Base class for representing a column in a question_bank_view.

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

Constructor & Destructor Documentation

◆ __construct()

core_question\bank\column_base::__construct ( view  $qbank)

Constructor.

Parameters
view$qbankthe question bank view we are helping to render.

Member Function Documentation

◆ display()

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

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\bank\column_base::display_content (   $question,
  $rowclasses 
)
abstractprotected

◆ display_end()

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

Output the closing column tag.

Parameters
object$question
string$rowclasses

Reimplemented in core_question\bank\row_base.

◆ display_start()

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

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\bank\row_base.

◆ get_classes()

core_question\bank\column_base::get_classes ( )
protected
Return values
stringthe CSS classes to apply to every cell in this column.

◆ get_extra_classes()

core_question\bank\column_base::get_extra_classes ( )
Return values
arrayany extra class names you would like applied to every cell in this column.

Reimplemented in core_question\bank\action_column_base.

◆ get_extra_joins()

core_question\bank\column_base::get_extra_joins ( )

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 in core_question\bank\question_text_row, core_question\bank\modifier_name_column, core_question\bank\creator_name_column, and core_question\bank\action_column_base.

◆ get_name()

core_question\bank\column_base::get_name ( )
abstract

◆ get_required_fields()

core_question\bank\column_base::get_required_fields ( )

◆ get_sort_icon()

core_question\bank\column_base::get_sort_icon (   $reverse)
protected

Get an icon representing the corrent sort state.

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

◆ get_title()

core_question\bank\column_base::get_title ( )
abstractprotected

◆ get_title_tip()

core_question\bank\column_base::get_title_tip ( )
protected
Return values
stringa fuller version of the name. Use this when get_title() returns something very short, and you want a longer version as a tool tip.

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

◆ is_sortable()

core_question\bank\column_base::is_sortable ( )

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 array( 'firstname' => array('field' => 'uc.firstname', 'title' => get_string('firstname')), 'lastname' => array('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 core_question\bank\question_type_column, core_question\bank\question_name_idnumber_tags_column, core_question\bank\question_name_column, core_question\bank\modifier_name_column, and core_question\bank\creator_name_column.

◆ load_additional_data()

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

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.

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

◆ load_question_tags()

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

Load the tags for each question.

Helper that can be used from load_additional_data();

Parameters
array$questions

◆ make_sort_link()

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

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
stringHTML fragment.

◆ sort_expression()

core_question\bank\column_base::sort_expression (   $reverse,
  $subsort 
)
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\bank\column_base::sortorder (   $reverse)
protected

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: