. /** * Base class that implements basic column functionality * and integration with MantisBT. * @package MantisBT * @subpackage classes */ abstract class MantisColumn { /** * Column title, as displayed to the user. */ public $title = null; /** * Column name, as selected in the manage columns interfaces. */ public $column = null; /** * Column is sortable by the user. Setting this to true implies that * the column will properly implement the sortquery() method. */ public $sortable = false; /** * Build the SQL query elements 'join' and 'order' as used by * core/filter_api.php to create the filter sorting query. * @param string Sorting order ('ASC' or 'DESC') * @return array Keyed-array with query elements; see developer guide */ public function sortquery( $p_dir ) {} /** * Allow plugin columns to pre-cache data for all issues * that will be shown in a given view. This is preferable to * the alternative option of querying the database for each * issue as the display() method is called. * @param array Bug objects */ public function cache( $p_bugs ) {} /** * Function to display column data for a given bug row. * @param object Bug object * @param int Column display target */ abstract public function display( $p_bug, $p_columns_target ); }