%PDF- %PDF-
Direktori : /www/loslex_o/tracker/core/classes/ |
Current File : /www/loslex_o/tracker/core/classes/MantisColumn.class.php |
<?php # MantisBT - A PHP based bugtracking system # MantisBT is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # MantisBT is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with MantisBT. If not, see <http://www.gnu.org/licenses/>. /** * Mantis Column Handling * @copyright Copyright 2009 MantisBT Team - mantisbt-dev@lists.sourceforge.net * @link http://www.mantisbt.org * @package MantisBT * @subpackage classes */ /** * Base class that implements basic column functionality * and integration with MantisBT. */ 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 $p_direction Sorting order ('ASC' or 'DESC'). * @return array Keyed-array with query elements; see developer guide */ public function sortquery( $p_direction ) { return array(); } /** * 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 $p_bugs Bug objects. * @return void */ public function cache( array $p_bugs ) {} /** * Function to clear the cache of values that was built with the cache() method. * This can be requested as part of an export of bugs, and clearing the used * memory helps to keep a long export process within memory limits. * @return void */ public function clear_cache() {} /** * Function to display column data for a given bug row. * @param BugData $p_bug A BugData object. * @param integer $p_columns_target Column display target. * @return void */ abstract public function display( BugData $p_bug, $p_columns_target ); /** * Function to return column value for a given bug row. * This should be overridden to provide value without processing for html * display or escaping for a specific target output. The output will be * escaped by calling code to the appropriate format. * Default implementation is to capture display output, for backward * compatibility with target COLUMNS_TARGET_CSV_PAGE. * @param BugData $p_bug A BugData object. * @param integer $p_columns_target Column display target. * @return string The column value. */ public function value( BugData $p_bug, $p_columns_target = COLUMNS_TARGET_CSV_PAGE ) { ob_start(); $this->display( $p_bug, $p_columns_target ); return ob_get_clean(); } }