/** * Print the value of the custom field (if the field is applicable to the project of * the specified issue and the current user has read access to it. * see custom_function_default_print_column_title() for rules about column names. * @param string $p_column Name of field to show in the column. * @param BugData $p_bug Bug object. * @param integer $p_columns_target See COLUMNS_TARGET_* in constant_inc.php. * @return void */ function custom_function_default_print_column_value($p_column, BugData $p_bug, $p_columns_target = COLUMNS_TARGET_VIEW_PAGE) { if (COLUMNS_TARGET_CSV_PAGE == $p_columns_target) { $t_column_start = ''; $t_column_end = ''; $t_column_empty = ''; } else { $t_column_start = '<td class="column-%s">'; $t_column_end = '</td>'; $t_column_empty = ' '; } $t_custom_field = column_get_custom_field_name($p_column); if ($t_custom_field !== null) { printf($t_column_start, 'custom-' . $t_custom_field); $t_field_id = custom_field_get_id_from_name($t_custom_field); if ($t_field_id === false) { echo '@', $t_custom_field, '@'; } else { $t_issue_id = $p_bug->id; $t_project_id = $p_bug->project_id; if (custom_field_is_linked($t_field_id, $t_project_id)) { $t_def = custom_field_get_definition($t_field_id); print_custom_field_value($t_def, $t_field_id, $t_issue_id); } else { # field is not linked to project echo $t_column_empty; } } echo $t_column_end; } else { $t_plugin_columns = columns_get_plugin_columns(); if ($p_columns_target != COLUMNS_TARGET_CSV_PAGE) { $t_function = 'print_column_' . $p_column; } else { $t_function = 'csv_format_' . $p_column; } if (function_exists($t_function)) { if ($p_columns_target != COLUMNS_TARGET_CSV_PAGE) { $t_function($p_bug, $p_columns_target); } else { $t_function($p_bug); } } else { if (isset($t_plugin_columns[$p_column])) { $t_column_object = $t_plugin_columns[$p_column]; print_column_plugin($t_column_object, $p_bug, $p_columns_target); } else { printf($t_column_start, $p_column); if (isset($p_bug->{$p_column})) { echo string_display_line($p_bug->{$p_column}) . $t_column_end; } else { echo '@' . $p_column . '@' . $t_column_end; } } } } }
function custom_function_override_print_column_value($p_column, $p_bug, $p_columns_target = COLUMNS_TARGET_VIEW_PAGE) { if (COLUMNS_TARGET_CSV_PAGE == $p_columns_target) { $t_column_start = ''; $t_column_end = ''; $t_column_empty = ''; } else { $t_column_start = '<td class="center">'; $t_column_end = '</td>'; $t_column_empty = ' '; } $t_custom_field = column_get_custom_field_name($p_column); if ($t_custom_field !== null) { echo $t_column_start; $t_field_id = custom_field_get_id_from_name($t_custom_field); if ($t_field_id === false) { echo '@', $t_custom_field, '@'; } else { $t_issue_id = $p_bug->id; $t_project_id = $p_bug->project_id; if (custom_field_is_linked($t_field_id, $t_project_id)) { $t_def = custom_field_get_definition($t_field_id); if (strpos($p_column, 'custom_Deadline') === 0 && $t_def['type'] == CUSTOM_FIELD_TYPE_DATE) { $deadline_date = custom_field_get_value($t_field_id, $t_issue_id); if ($p_issue_row['status'] < 80) { $current_date = strtotime(date("Y-m-d")); if ($current_date >= $deadline_date) { echo '<b><font color="red">'; print_custom_field_value($t_def, $t_field_id, $t_issue_id); echo '</font></b>'; } else { print_custom_field_value($t_def, $t_field_id, $t_issue_id); } } elseif ($deadline_date) { if (lang_get_current() == 'german') { echo '<b>ERLEDIGT!</b>'; } else { echo '<b>DONE!</b>'; } } } else { print_custom_field_value($t_def, $t_field_id, $t_issue_id); } } else { // field is not linked to project echo $t_column_empty; } } echo $t_column_end; } else { $t_plugin_columns = columns_get_plugin_columns(); if ($p_columns_target != COLUMNS_TARGET_CSV_PAGE) { if ($p_column == 'summary') { $t_function = 'print_column_summary_BFE'; } else { $t_function = 'print_column_' . $p_column; } } else { $t_function = 'csv_format_' . $p_column; } if (function_exists($t_function)) { if ($p_columns_target != COLUMNS_TARGET_CSV_PAGE) { $t_function($p_bug, $p_columns_target); } else { $t_function($p_bug); } } else { if (isset($t_plugin_columns[$p_column])) { $t_column_object = $t_plugin_columns[$p_column]; print_column_plugin($t_column_object, $p_bug, $p_columns_target); } else { if (isset($p_bug->{$p_column})) { echo $t_column_start . string_display_line($p_bug->{$p_column}) . $t_column_end; } else { echo $t_column_start . '@' . $p_column . '@' . $t_column_end; } } } } }