本文整理汇总了PHP中MantisEnum类的典型用法代码示例。如果您正苦于以下问题:PHP MantisEnum类的具体用法?PHP MantisEnum怎么用?PHP MantisEnum使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MantisEnum类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: workflow_parse
/**
* Parse a workflow into a graph-like array of workflow transitions.
* @param array The workflow enumeration to parse.
* @return array The parsed workflow graph.
*/
function workflow_parse($p_enum_workflow)
{
$t_status_arr = MantisEnum::getAssocArrayIndexedByValues(config_get('status_enum_string'));
if (count($p_enum_workflow) == 0) {
# workflow is not set, default it to all transitions
foreach ($t_status_arr as $t_status => $t_label) {
$t_temp_workflow = array();
foreach ($t_status_arr as $t_next => $t_next_label) {
if ($t_status != $t_next) {
$t_temp_workflow[] = $t_next . ':' . $t_next_label;
}
}
$p_enum_workflow[$t_status] = implode(',', $t_temp_workflow);
}
}
$t_entry = array();
$t_exit = array();
# prepopulate new bug state (bugs go from nothing to here)
$t_submit_status_array = config_get('bug_submit_status');
$t_new_label = MantisEnum::getLabel(lang_get('status_enum_string'), config_get('bug_submit_status'));
if (is_array($t_submit_status_array)) {
# @@@ (thraxisp) this is not implemented in bug_api.php
foreach ($t_submit_status_array as $t_access => $t_status) {
$t_entry[$t_status][0] = $t_new_label;
$t_exit[0][$t_status] = $t_new_label;
}
} else {
$t_status = $t_submit_status_array;
$t_entry[$t_status][0] = $t_new_label;
$t_exit[0][$t_status] = $t_new_label;
}
# add user defined arcs and implicit reopen arcs
$t_reopen = config_get('bug_reopen_status');
$t_reopen_label = MantisEnum::getLabel(lang_get('resolution_enum_string'), config_get('bug_reopen_resolution'));
$t_resolved_status = config_get('bug_resolved_status_threshold');
$t_default = array();
foreach ($t_status_arr as $t_status => $t_status_label) {
if (isset($p_enum_workflow[$t_status])) {
$t_next_arr = MantisEnum::getAssocArrayIndexedByValues($p_enum_workflow[$t_status]);
foreach ($t_next_arr as $t_next => $t_next_label) {
if (!isset($t_default[$t_status])) {
$t_default[$t_status] = $t_next;
}
$t_exit[$t_status][$t_next] = '';
$t_entry[$t_next][$t_status] = '';
}
} else {
$t_exit[$t_status] = array();
}
if ($t_status >= $t_resolved_status) {
$t_exit[$t_status][$t_reopen] = $t_reopen_label;
$t_entry[$t_reopen][$t_status] = $t_reopen_label;
}
if (!isset($t_entry[$t_status])) {
$t_entry[$t_status] = array();
}
}
return array('entry' => $t_entry, 'exit' => $t_exit, 'default' => $t_default);
}
开发者ID:kaos,项目名称:mantisbt,代码行数:64,代码来源:workflow_api.php
示例2: reminder_print_status_option_list
function reminder_print_status_option_list($p_name)
{
$t_enum_values = MantisEnum::getValues(config_get('status_enum_string'));
$t_selection = plugin_config_get($p_name);
echo '<select name="' . $p_name . '[]" multiple="multiple" size="' . count($t_enum_values) . '">';
foreach ($t_enum_values as $t_key) {
$t_elem2 = get_enum_element('status', $t_key);
echo '<option value="' . $t_key . '"';
reminder_check_selected($t_selection, $t_key);
echo '>' . $t_elem2 . '</option>';
}
echo '</select>';
}
开发者ID:rahmanjis,项目名称:dipstart-development,代码行数:13,代码来源:config.php
示例3: print_thead
/**
* Print table head
* @param $status_cols
*/
function print_thead($status_cols)
{
echo '<thead>';
echo '<tr>';
echo '<th></th>';
foreach ($status_cols as $status_col) {
echo '<th bgcolor="' . get_status_color($status_col, null, null) . '" class="center">';
$assocArray = MantisEnum::getAssocArrayIndexedByValues(lang_get('status_enum_string'));
echo $assocArray[$status_col];
echo '</th>';
}
echo '</tr>';
echo '</thead>';
}
开发者ID:Cre-ator,项目名称:Whiteboard.StoryBoard-Plugin,代码行数:18,代码来源:storyboard_index.php
示例4: get_capability_row
/**
* Return html for a row
* @param string $p_caption Caption.
* @param integer $p_access_level Access level.
* @return string
*/
function get_capability_row($p_caption, $p_access_level)
{
$t_access_levels = MantisEnum::getValues(config_get('access_levels_enum_string'));
$t_output = '<tr><td>' . string_display($p_caption) . '</td>';
foreach ($t_access_levels as $t_access_level) {
if ($t_access_level >= (int) $p_access_level) {
$t_value = '<img src="images/ok.gif" width="20" height="15" alt="X" title="X" />';
} else {
$t_value = ' ';
}
$t_output .= '<td class="center">' . $t_value . '</td>';
}
$t_output .= '</tr>' . "\n";
return $t_output;
}
开发者ID:gtn,项目名称:mantisbt,代码行数:21,代码来源:adm_permissions_report.php
示例5: set_capability_row
function set_capability_row( $p_threshold, $p_all_projects_only=false ) {
global $t_access, $t_project;
if ( ( $t_access >= config_get_access( $p_threshold ) )
&& ( ( ALL_PROJECTS == $t_project ) || !$p_all_projects_only ) ) {
$f_threshold = gpc_get_int_array( 'flag_thres_' . $p_threshold, array() );
$f_access = gpc_get_int( 'access_' . $p_threshold );
# @@debug @@ echo "<br />for $p_threshold "; var_dump($f_threshold, $f_access); echo '<br />';
$t_access_levels = MantisEnum::getAssocArrayIndexedByValues( config_get( 'access_levels_enum_string' ) );
ksort( $t_access_levels );
reset( $t_access_levels );
$t_lower_threshold = NOBODY;
$t_array_threshold = array();
foreach( $t_access_levels as $t_access_level => $t_level_name ) {
if ( in_array( $t_access_level, $f_threshold ) ) {
if ( NOBODY == $t_lower_threshold ) {
$t_lower_threshold = $t_access_level;
}
$t_array_threshold[] = $t_access_level;
} else {
if ( NOBODY <> $t_lower_threshold ) {
$t_lower_threshold = -1;
}
}
# @@debug @@ var_dump($$t_access_level, $t_lower_threshold, $t_array_threshold); echo '<br />';
}
$t_existing_threshold = config_get( $p_threshold );
$t_existing_access = config_get_access( $p_threshold );
if ( -1 == $t_lower_threshold ) {
if ( ( $t_existing_threshold != $t_array_threshold )
|| ( $t_existing_access != $f_access ) ) {
config_set( $p_threshold, $t_array_threshold, NO_USER, $t_project, $f_access );
}
} else {
if ( ( $t_existing_threshold != $t_lower_threshold )
|| ( $t_existing_access != $f_access ) ) {
config_set( $p_threshold, $t_lower_threshold, NO_USER, $t_project, $f_access );
}
}
}
}
开发者ID:rombert,项目名称:mantisbt,代码行数:43,代码来源:manage_config_work_threshold_set.php
示例6: get_status_option_list_plugin
function get_status_option_list_plugin($p_user_auth = 0, $p_current_value = 0, $p_show_current = true, $p_add_close = false, $p_project_id = ALL_PROJECTS)
{
$t_config_var_value = config_get('status_enum_string', null, null, $p_project_id);
$t_enum_workflow = config_get('status_enum_workflow', null, null, $p_project_id);
$t_enum_values = MantisEnum::getValues($t_config_var_value);
$t_enum_list = array();
foreach ($t_enum_values as $t_enum_value) {
if (($p_show_current || $p_current_value != $t_enum_value) && access_compare_level($p_user_auth, access_get_status_threshold($t_enum_value, $p_project_id))) {
$t_enum_list[$t_enum_value] = get_enum_element('status', $t_enum_value);
}
}
if ($p_show_current) {
$t_enum_list[$p_current_value] = get_enum_element('status', $p_current_value);
}
if ($p_add_close && access_compare_level($p_current_value, config_get('bug_resolved_status_threshold', null, null, $p_project_id))) {
$t_closed = config_get('bug_closed_status_threshold', null, null, $p_project_id);
if ($p_show_current || $p_current_value != $t_closed) {
$t_enum_list[$t_closed] = get_enum_element('status', $t_closed);
}
}
return $t_enum_list;
}
开发者ID:nenes25,项目名称:mantisbt_autochangestatus,代码行数:22,代码来源:functions.php
示例7: renderLists
function renderLists()
{
$content = '';
$status_codes = config_get('status_enum_string');
$t_status_array = MantisEnum::getAssocArrayIndexedByValues($status_codes);
foreach ($t_status_array as $status => $statusCode) {
if ($statusCode != "backlog" && $statusCode != "closed") {
$issues = $this->renderIssues($status);
$statusName = string_display_line(get_enum_element('status', $status));
$content .= '<div class="column">
<div class="inside"
style="background-color: ' . get_status_color($status) . '"
id="' . $status . '">
<h5 title="' . $status . '">' . $statusName . ' (' . sizeof($issues) . ')</h5>';
$content .= implode("\n", $issues);
$content .= '</div>';
// inside
$content .= '</div>';
// column
}
}
return $content;
}
开发者ID:pedroresende,项目名称:MantisBTKanbanBoard,代码行数:23,代码来源:kanban.php
示例8: getBugsInfoJSONPResponse
function getBugsInfoJSONPResponse($bugsString)
{
$t_bug_table = db_get_table('mantis_bug_table');
$t_statuses = MantisEnum::getAssocArrayIndexedByValues(config_get('status_enum_string'));
$statuses = '';
foreach ($t_statuses as $t_state => $t_label) {
$statuses .= '"' . $t_label . '": "' . get_status_color($t_state) . '", ';
}
$bugs_list = array_unique(str_split($bugsString, 7));
$bugs_list = "'" . implode("', '", $bugs_list) . "'";
$query = "SELECT id, status, summary\r\n\t\t\t FROM `" . $t_bug_table . "`\r\n\t\t\t WHERE id IN (" . $bugs_list . ")\r\n\t\t\t ORDER BY FIELD(id, " . $bugs_list . ")";
$results = db_query_bound($query);
if ($results) {
$json = '';
while ($row = db_fetch_array($results)) {
$id = $row['id'];
$statusId = $row['status'];
$summary = $row['summary'];
$json .= '"' . $id . '": { "status": "' . $t_statuses[$statusId] . '", "summary": "' . htmlspecialchars($summary) . '" }, ';
}
}
header("Content-Type: application/javascript; charset=utf-8");
echo 'bugtrackerConnection_callback( { "offset": "' . $_REQUEST['offset'] . '", "length": "' . $_REQUEST['length'] . '", "statuses": { ' . substr($statuses, 0, -2) . ' }, "bugsInfo" : { ' . substr($json, 0, -2) . ' } } );';
}
开发者ID:evilchewits,项目名称:gitweb-mantisbt,代码行数:24,代码来源:getBugsInfo.php
示例9: email_resolved
if ($t_resolve_issue) {
email_resolved($f_bug_id);
email_relationship_child_resolved($f_bug_id);
} else {
if ($t_close_issue) {
email_close($f_bug_id);
email_relationship_child_closed($f_bug_id);
} else {
if ($t_reopen_issue) {
email_reopen($f_bug_id);
} else {
if ($t_existing_bug->handler_id === NO_USER && $t_updated_bug->handler_id !== NO_USER) {
email_assign($f_bug_id);
} else {
if ($t_existing_bug->status !== $t_updated_bug->status) {
$t_new_status_label = MantisEnum::getLabel(config_get('status_enum_string'), $t_updated_bug->status);
$t_new_status_label = str_replace(' ', '_', $t_new_status_label);
email_generic($f_bug_id, $t_new_status_label, 'email_notification_title_for_status_bug_' . $t_new_status_label);
} else {
email_generic($f_bug_id, 'updated', 'email_notification_title_for_action_bug_updated');
}
}
}
}
}
# Twitter notification of bug update.
if ($t_resolve_issue && $t_updated_bug->resolution >= config_get('bug_resolution_fixed_threshold') && $t_updated_bug->resolution < config_get('bug_resolution_not_fixed_threshold')) {
twitter_issue_resolved($f_bug_id);
}
form_security_purge('bug_update');
print_successful_redirect_to_bug($f_bug_id);
开发者ID:Kirill,项目名称:mantisbt,代码行数:31,代码来源:bug_update.php
示例10: mci_get_enum_element
/**
* Given a enum string and num, return the appropriate localized string
* @param string $p_enum_name Enumeration name.
* @param string $p_val Enumeration value.
* @param string $p_lang Language string.
* @return string
*/
function mci_get_enum_element($p_enum_name, $p_val, $p_lang)
{
$t_enum_string = config_get($p_enum_name . '_enum_string');
$t_localized_enum_string = lang_get($p_enum_name . '_enum_string', $p_lang);
return MantisEnum::getLocalizedLabel($t_enum_string, $t_localized_enum_string, $p_val);
}
开发者ID:elmarculino,项目名称:mantisbt,代码行数:13,代码来源:mc_api.php
示例11: enum_bug_group
function enum_bug_group($p_enum_string, $p_enum)
{
$t_bug_table = db_get_table('bug');
$t_project_id = helper_get_current_project();
$t_bug_table = db_get_table('bug');
$t_user_id = auth_get_current_user_id();
$t_res_val = config_get('bug_resolved_status_threshold');
$t_clo_val = config_get('bug_closed_status_threshold');
$specific_where = " AND " . helper_project_specific_where($t_project_id, $t_user_id);
$t_array_indexed_by_enum_values = MantisEnum::getAssocArrayIndexedByValues($p_enum_string);
$enum_count = count($t_array_indexed_by_enum_values);
foreach ($t_array_indexed_by_enum_values as $t_value => $t_label) {
# Calculates the number of bugs opened and puts the results in a table
$query = "SELECT COUNT(*)\n\t\t\t\t\tFROM {$t_bug_table}\n\t\t\t\t\tWHERE {$p_enum}='{$t_value}' AND\n\t\t\t\t\t\tstatus<'{$t_res_val}' {$specific_where}";
$result2 = db_query($query);
$t_metrics['open'][$t_label] = db_result($result2, 0, 0);
# Calculates the number of bugs closed and puts the results in a table
$query = "SELECT COUNT(*)\n\t\t\t\t\tFROM {$t_bug_table}\n\t\t\t\t\tWHERE {$p_enum}='{$t_value}' AND\n\t\t\t\t\t\tstatus='{$t_clo_val}' {$specific_where}";
$result2 = db_query($query);
$t_metrics['closed'][$t_label] = db_result($result2, 0, 0);
# Calculates the number of bugs resolved and puts the results in a table
$query = "SELECT COUNT(*)\n\t\t\t\t\tFROM {$t_bug_table}\n\t\t\t\t\tWHERE {$p_enum}='{$t_value}' AND\n\t\t\t\t\t\tstatus>='{$t_res_val}' AND\n\t\t\t\t\t\tstatus<'{$t_clo_val}' {$specific_where}";
$result2 = db_query($query);
$t_metrics['resolved'][$t_label] = db_result($result2, 0, 0);
}
# ## end for
return $t_metrics;
}
开发者ID:kaos,项目名称:mantisbt,代码行数:28,代码来源:graph_api.php
示例12: get_enum_element
/**
* Given a enum string and num, return the appropriate string for the
* specified user/project
* @param string $p_enum_name
* @param int $p_val
* @param int|null $p_user user id, defaults to null (all users)
* @param int|null $p_project project id, defaults to null (all projects)
* @return string
*/
function get_enum_element($p_enum_name, $p_val, $p_user = null, $p_project = null)
{
$config_var = config_get($p_enum_name . '_enum_string', null, $p_user, $p_project);
$string_var = lang_get($p_enum_name . '_enum_string');
return MantisEnum::getLocalizedLabel($config_var, $string_var, $p_val);
}
开发者ID:nextgens,项目名称:mantisbt,代码行数:15,代码来源:helper_api.php
示例13: db_get_table
// no data to graph
exit;
}
$t_bug_table = db_get_table('mantis_bug_table');
$t_bug_hist_table = db_get_table('mantis_bug_history_table');
$t_marker = array();
$t_data = array();
$t_ptr = 0;
$t_end = $t_interval->get_end_timestamp();
$t_start = $t_interval->get_start_timestamp();
if ($t_end == false || $t_start == false) {
return;
}
// grab all status levels
$t_status_arr = MantisEnum::getAssocArrayIndexedByValues(config_get('status_enum_string'));
$t_status_labels = MantisEnum::getAssocArrayIndexedByValues(lang_get('status_enum_string'));
$t_default_bug_status = config_get('bug_submit_status');
$t_bug = array();
$t_view_status = array();
// walk through all issues and grab their status for 'now'
$t_marker[$t_ptr] = time();
foreach ($rows as $t_row) {
if (isset($t_data[$t_ptr][$t_row->status])) {
$t_data[$t_ptr][$t_row->status]++;
} else {
$t_data[$t_ptr][$t_row->status] = 1;
$t_view_status[$t_row->status] = isset($t_status_arr[$t_row->status]) ? $t_status_arr[$t_row->status] : '@' . $t_row->status . '@';
}
$t_bug[] = $t_row->id;
}
// get the history for these bugs over the interval required to offset the data
开发者ID:fur81,项目名称:zofaxiopeu,代码行数:31,代码来源:bug_graph_bystatus.php
示例14: mci_get_enum_value_from_label
/**
* Get the enum id given the enum label.
*
* @param $p_enum_string The enum string to search in.
* @param $p_label The label to search for.
*
* @return The id corresponding to the given label, or 0 if not found.
*/
function mci_get_enum_value_from_label($p_enum_string, $p_label)
{
$t_value = MantisEnum::getValue($p_enum_string, $p_label);
if ($t_value === false) {
return 0;
}
return $t_value;
}
开发者ID:nourchene-benslimane,项目名称:mantisV0,代码行数:16,代码来源:mc_enum_api.php
示例15: helper_alternate_class
<!-- Access Level -->
<tr <?php
echo helper_alternate_class();
?>
>
<td class="category">
<?php
echo lang_get('access_level');
?>
</td>
<td>
<select name="access_level">
<?php
$t_access_level = $t_user['access_level'];
if (!MantisEnum::hasValue(config_get('access_levels_enum_string'), $t_access_level)) {
$t_access_level = config_get('default_new_account_access_level');
}
print_project_access_levels_option_list($t_access_level);
?>
</select>
</td>
</tr>
<!-- Enabled Checkbox -->
<tr <?php
echo helper_alternate_class();
?>
>
<td class="category">
<?php
开发者ID:fur81,项目名称:zofaxiopeu,代码行数:30,代码来源:manage_user_edit_page.php
示例16: access_row
/**
* access row
* @return void
*/
function access_row()
{
global $g_access, $g_can_change_flags;
$t_enum_status = MantisEnum::getAssocArrayIndexedByValues(config_get('status_enum_string'));
$t_file_new = config_get_global('report_bug_threshold');
$t_global_new = config_get('report_bug_threshold', null, ALL_USERS, ALL_PROJECTS);
$t_project_new = config_get('report_bug_threshold');
$t_file_set = config_get_global('set_status_threshold');
$t_global_set = config_get('set_status_threshold', null, ALL_USERS, ALL_PROJECTS);
$t_project_set = config_get('set_status_threshold');
$t_submit_status = config_get('bug_submit_status');
# Print the table rows
foreach ($t_enum_status as $t_status => $t_status_label) {
echo "\t\t" . '<tr><td class="width30">' . string_no_break(MantisEnum::getLabel(lang_get('status_enum_string'), $t_status)) . '</td>' . "\n";
if ($t_status == $t_submit_status) {
# 'NEW' status
$t_level_project = $t_project_new;
$t_can_change = $g_access >= config_get_access('report_bug_threshold');
$t_color = set_color_override($t_file_new, $t_global_new, $t_project_new);
set_overrides('report_bug_threshold', $t_can_change, $t_color);
} else {
# Other statuses
# File level: fallback if set_status_threshold is not defined
if (isset($t_file_set[$t_status])) {
$t_level_file = $t_file_set[$t_status];
} else {
$t_level_file = config_get_global('update_bug_status_threshold');
}
$t_level_global = isset($t_global_set[$t_status]) ? $t_global_set[$t_status] : $t_level_file;
$t_level_project = isset($t_project_set[$t_status]) ? $t_project_set[$t_status] : $t_level_global;
$t_can_change = $g_access >= config_get_access('set_status_threshold');
$t_color = set_color_override($t_level_file, $t_level_global, $t_level_project);
set_overrides('set_status_threshold', $t_can_change, $t_color);
}
if ($t_can_change) {
echo '<td class="center ' . $t_color . '"><select name="access_change_' . $t_status . '">' . "\n";
print_enum_string_option_list('access_levels', $t_level_project);
echo '</select> </td>' . "\n";
$g_can_change_flags = true;
} else {
echo '<td class="center ' . $t_color . '">' . MantisEnum::getLabel(lang_get('access_levels_enum_string'), $t_level_project) . '</td>' . "\n";
}
echo '</tr>' . "\n";
}
}
开发者ID:gtn,项目名称:mantisbt,代码行数:49,代码来源:manage_config_workflow_page.php
示例17: summary_print_reporter_effectiveness
/**
* Print reporter effectiveness report
*
* @param string $p_severity_enum_string Severity enumeration string.
* @param string $p_resolution_enum_string Resolution enumeration string.
* @return void
*/
function summary_print_reporter_effectiveness($p_severity_enum_string, $p_resolution_enum_string)
{
$t_reporter_summary_limit = config_get('reporter_summary_limit');
$t_project_id = helper_get_current_project();
$t_severity_multipliers = config_get('severity_multipliers');
$t_resolution_multipliers = config_get('resolution_multipliers');
# Get the severity values to use
$c_sev_s = MantisEnum::getValues($p_severity_enum_string);
$t_enum_sev_count = count($c_sev_s);
# Get the resolution values to use
$c_res_s = MantisEnum::getValues($p_resolution_enum_string);
# Checking if it's a per project statistic or all projects
$t_specific_where = helper_project_specific_where($t_project_id);
if (' 1<>1' == $t_specific_where) {
return;
}
# Get all of the bugs and split them up into an array
$t_query = 'SELECT COUNT(id) as bugcount, reporter_id, resolution, severity
FROM {bug}
WHERE ' . $t_specific_where . '
GROUP BY reporter_id, resolution, severity';
$t_result = db_query($t_query);
$t_reporter_ressev_arr = array();
$t_reporter_bugcount_arr = array();
$t_arr = db_fetch_array($t_result);
while ($t_arr) {
if (!isset($t_reporter_ressev_arr[$t_arr['reporter_id']])) {
$t_reporter_ressev_arr[$t_arr['reporter_id']] = array();
$t_reporter_bugcount_arr[$t_arr['reporter_id']] = 0;
}
if (!isset($t_reporter_ressev_arr[$t_arr['reporter_id']][$t_arr['severity']])) {
$t_reporter_ressev_arr[$t_arr['reporter_id']][$t_arr['severity']] = array();
$t_reporter_ressev_arr[$t_arr['reporter_id']][$t_arr['severity']]['total'] = 0;
}
if (!isset($t_reporter_ressev_arr[$t_arr['reporter_id']][$t_arr['severity']][$t_arr['resolution']])) {
$t_reporter_ressev_arr[$t_arr['reporter_id']][$t_arr['severity']][$t_arr['resolution']] = 0;
}
$t_reporter_ressev_arr[$t_arr['reporter_id']][$t_arr['severity']][$t_arr['resolution']] += $t_arr['bugcount'];
$t_reporter_ressev_arr[$t_arr['reporter_id']][$t_arr['severity']]['total'] += $t_arr['bugcount'];
$t_reporter_bugcount_arr[$t_arr['reporter_id']] += $t_arr['bugcount'];
$t_arr = db_fetch_array($t_result);
}
# Sort our total bug count array so that the reporters with the highest number of bugs are listed first,
arsort($t_reporter_bugcount_arr);
$t_row_count = 0;
# We now have a multi dimensional array of users, resolutions and severities, with the
# value of each resolution and severity for each user
foreach ($t_reporter_bugcount_arr as $t_reporter_id => $t_total_user_bugs) {
# Limit the number of reporters listed
if ($t_row_count > $t_reporter_summary_limit) {
break;
}
# Only print reporters who have reported at least one bug. This helps
# prevent divide by zeroes, showing reporters not on this project, and showing
# users that aren't actually reporters...
if ($t_total_user_bugs > 0) {
$t_arr2 = $t_reporter_ressev_arr[$t_reporter_id];
echo '<tr>';
$t_row_count++;
echo '<td>';
echo string_display_line(user_get_name($t_reporter_id));
echo '</td>';
$t_total_severity = 0;
$t_total_errors = 0;
for ($j = 0; $j < $t_enum_sev_count; $j++) {
if (!isset($t_arr2[$c_sev_s[$j]])) {
continue;
}
$t_sev_bug_count = $t_arr2[$c_sev_s[$j]]['total'];
$t_sev_mult = 1;
if ($t_severity_multipliers[$c_sev_s[$j]]) {
$t_sev_mult = $t_severity_multipliers[$c_sev_s[$j]];
}
if ($t_sev_bug_count > 0) {
$t_total_severity += $t_sev_bug_count * $t_sev_mult;
}
foreach ($t_resolution_multipliers as $t_res => $t_res_mult) {
if (isset($t_arr2[$c_sev_s[$j]][$t_res])) {
$t_total_errors += $t_sev_mult * $t_res_mult;
}
}
}
echo '<td class="right">' . $t_total_severity . '</td>';
echo '<td class="right">' . $t_total_errors . '</td>';
printf('<td class="right">%d</td>', $t_total_severity - $t_total_errors);
echo '</tr>';
}
}
}
开发者ID:gtn,项目名称:mantisbt,代码行数:96,代码来源:summary_api.php
示例18: update
//.........这里部分代码省略.........
# Update all fields
# Ignore date_submitted and last_updated since they are pulled out
# as unix timestamps which could confuse the history log and they
# shouldn't get updated like this anyway. If you really need to change
# them use bug_set_field()
$query = "UPDATE {$t_bug_table}\n\t\t\t\t\tSET project_id=" . db_param() . ', reporter_id=' . db_param() . ",\n\t\t\t\t\t\thandler_id=" . db_param() . ', duplicate_id=' . db_param() . ",\n\t\t\t\t\t\tpriority=" . db_param() . ', severity=' . db_param() . ",\n\t\t\t\t\t\treproducibility=" . db_param() . ', status=' . db_param() . ",\n\t\t\t\t\t\tresolution=" . db_param() . ', projection=' . db_param() . ",\n\t\t\t\t\t\tcategory_id=" . db_param() . ', eta=' . db_param() . ",\n\t\t\t\t\t\tos=" . db_param() . ', os_build=' . db_param() . ",\n\t\t\t\t\t\tplatform=" . db_param() . ', version=' . db_param() . ",\n\t\t\t\t\t\tbuild=" . db_param() . ', fixed_in_version=' . db_param() . ',';
$t_fields = array($this->project_id, $this->reporter_id, $this->handler_id, $this->duplicate_id, $this->priority, $this->severity, $this->reproducibility, $this->status, $this->resolution, $this->projection, $this->category_id, $this->eta, $this->os, $this->os_build, $this->platform, $this->version, $this->build, $this->fixed_in_version);
$t_roadmap_updated = false;
if (access_has_project_level(config_get('roadmap_update_threshold'))) {
$query .= "\n\t\t\t\t\t\ttarget_version=" . db_param() . ",";
$t_fields[] = $this->target_version;
$t_roadmap_updated = true;
}
$query .= "\n\t\t\t\t\t\tview_state=" . db_param() . ",\n\t\t\t\t\t\tsummary=" . db_param() . ",\n\t\t\t\t\t\tsponsorship_total=" . db_param() . ",\n\t\t\t\t\t\tsticky=" . db_param() . ",\n\t\t\t\t\t\tdue_date=" . db_param() . "\n\t\t\t\t\tWHERE id=" . db_param();
$t_fields[] = $this->view_state;
$t_fields[] = $this->summary;
$t_fields[] = $this->sponsorship_total;
$t_fields[] = (bool) $this->sticky;
$t_fields[] = $this->due_date;
$t_fields[] = $this->id;
db_query_bound($query, $t_fields);
bug_clear_cache($this->id);
# log changes
history_log_event_direct($c_bug_id, 'project_id', $t_old_data->project_id, $this->project_id);
history_log_event_direct($c_bug_id, 'reporter_id', $t_old_data->reporter_id, $this->reporter_id);
history_log_event_direct($c_bug_id, 'handler_id', $t_old_data->handler_id, $this->handler_id);
history_log_event_direct($c_bug_id, 'priority', $t_old_data->priority, $this->priority);
history_log_event_direct($c_bug_id, 'severity', $t_old_data->severity, $this->severity);
history_log_event_direct($c_bug_id, 'reproducibility', $t_old_data->reproducibility, $this->reproducibility);
history_log_event_direct($c_bug_id, 'status', $t_old_data->status, $this->status);
history_log_event_direct($c_bug_id, 'resolution', $t_old_data->resolution, $this->resolution);
history_log_event_direct($c_bug_id, 'projection', $t_old_data->projection, $this->projection);
history_log_event_direct($c_bug_id, 'category', category_full_name($t_old_data->category_id, false), category_full_name($this->category_id, false));
history_log_event_direct($c_bug_id, 'eta', $t_old_data->eta, $this->eta);
history_log_event_direct($c_bug_id, 'os', $t_old_data->os, $this->os);
history_log_event_direct($c_bug_id, 'os_build', $t_old_data->os_build, $this->os_build);
history_log_event_direct($c_bug_id, 'platform', $t_old_data->platform, $this->platform);
history_log_event_direct($c_bug_id, 'version', $t_old_data->version, $this->version);
history_log_event_direct($c_bug_id, 'build', $t_old_data->build, $this->build);
history_log_event_direct($c_bug_id, 'fixed_in_version', $t_old_data->fixed_in_version, $this->fixed_in_version);
if ($t_roadmap_updated) {
history_log_event_direct($c_bug_id, 'target_version', $t_old_data->target_version, $this->target_version);
}
history_log_event_direct($c_bug_id, 'view_state', $t_old_data->view_state, $this->view_state);
history_log_event_direct($c_bug_id, 'summary', $t_old_data->summary, $this->summary);
history_log_event_direct($c_bug_id, 'sponsorship_total', $t_old_data->sponsorship_total, $this->sponsorship_total);
history_log_event_direct($c_bug_id, 'sticky', $t_old_data->sticky, $this->sticky);
history_log_event_direct($c_bug_id, 'due_date', $t_old_data->due_date != date_get_null() ? $t_old_data->due_date : null, $this->due_date != date_get_null() ? $this->due_date : null);
# Update extended info if requested
if ($p_update_extended) {
$t_bug_text_table = db_get_table('mantis_bug_text_table');
$t_bug_text_id = bug_get_field($c_bug_id, 'bug_text_id');
$query = "UPDATE {$t_bug_text_table}\n\t\t\t\t\t\t\tSET description=" . db_param() . ",\n\t\t\t\t\t\t\t\tsteps_to_reproduce=" . db_param() . ",\n\t\t\t\t\t\t\t\tadditional_information=" . db_param() . "\n\t\t\t\t\t\t\tWHERE id=" . db_param();
db_query_bound($query, array($this->description, $this->steps_to_reproduce, $this->additional_information, $t_bug_text_id));
bug_text_clear_cache($c_bug_id);
$t_current_user = auth_get_current_user_id();
if ($t_old_data->description != $this->description) {
if (bug_revision_count($c_bug_id, REV_DESCRIPTION) < 1) {
$t_revision_id = bug_revision_add($c_bug_id, $t_old_data->reporter_id, REV_DESCRIPTION, $t_old_data->description, 0, $t_old_data->date_submitted);
}
$t_revision_id = bug_revision_add($c_bug_id, $t_current_user, REV_DESCRIPTION, $this->description);
history_log_event_special($c_bug_id, DESCRIPTION_UPDATED, $t_revision_id);
}
if ($t_old_data->steps_to_reproduce != $this->steps_to_reproduce) {
if (bug_revision_count($c_bug_id, REV_STEPS_TO_REPRODUCE) < 1) {
$t_revision_id = bug_revision_add($c_bug_id, $t_old_data->reporter_id, REV_STEPS_TO_REPRODUCE, $t_old_data->steps_to_reproduce, 0, $t_old_data->date_submitted);
}
$t_revision_id = bug_revision_add($c_bug_id, $t_current_user, REV_STEPS_TO_REPRODUCE, $this->steps_to_reproduce);
history_log_event_special($c_bug_id, STEP_TO_REPRODUCE_UPDATED, $t_revision_id);
}
if ($t_old_data->additional_information != $this->additional_information) {
if (bug_revision_count($c_bug_id, REV_ADDITIONAL_INFO) < 1) {
$t_revision_id = bug_revision_add($c_bug_id, $t_old_data->reporter_id, REV_ADDITIONAL_INFO, $t_old_data->additional_information, 0, $t_old_data->date_submitted);
}
$t_revision_id = bug_revision_add($c_bug_id, $t_current_user, REV_ADDITIONAL_INFO, $this->additional_information);
history_log_event_special($c_bug_id, ADDITIONAL_INFO_UPDATED, $t_revision_id);
}
}
# Update the last update date
bug_update_date($c_bug_id);
# allow bypass if user is sending mail separately
if (false == $p_bypass_mail) {
# bug assigned
if ($t_old_data->handler_id != $this->handler_id) {
email_generic($c_bug_id, 'owner', 'email_notification_title_for_action_bug_assigned');
return true;
}
# status changed
if ($t_old_data->status != $this->status) {
$t_status = MantisEnum::getLabel(config_get('status_enum_string'), $this->status);
$t_status = str_replace(' ', '_', $t_status);
email_generic($c_bug_id, $t_status, 'email_notification_title_for_status_bug_' . $t_status);
return true;
}
# @todo handle priority change if it requires special handling
# generic update notification
email_generic($c_bug_id, 'updated', 'email_notification_title_for_action_bug_updated');
}
return true;
}
开发者ID:rahmanjis,项目名称:dipstart-development,代码行数:101,代码来源:bug_api.php
示例19: html_status_percentage_legend
/**
* Print the legend for the status percentage
* @return null
*/
function html_status_percentage_legend()
{
$t_mantis_bug_table = db_get_table('mantis_bug_table');
$t_project_id = helper_get_current_project();
$t_user_id = auth_get_current_user_id();
# checking if it's a per project statistic or all projects
$t_specific_where = helper_project_specific_where($t_project_id, $t_user_id);
$query = "SELECT status, COUNT(*) AS number\n\t\t\t\tFROM {$t_mantis_bug_table}\n\t\t\t\tWHERE {$t_specific_where}";
if (!access_has_project_level(config_get('private_bug_threshold'))) {
$query .= ' AND view_state < ' . VS_PRIVATE;
}
$query .= ' GROUP BY status';
$result = db_query_bound($query);
$t_bug_count = 0;
$t_status_count_array = array();
while ($row = db_fetch_array($result)) {
$t_status_count_array[$row['status']] = $row['number'];
$t_bug_count += $row['number'];
}
$t_enum_values = MantisEnum::getValues(config_get('status_enum_string'));
$enum_count = count($t_enum_values);
if ($t_bug_count > 0) {
echo '<br />';
echo '<table class="width100" cellspacing="1">';
echo '<tr>';
echo '<td class="form-title" colspan="' . $enum_count . '">' . lang_get('issue_status_percentage') . '</td>';
echo '</tr>';
echo '<tr>';
foreach ($t_enum_values as $t_status) {
$t_color = get_status_color($t_status);
if (!isset($t_status_count_array[$t_status])) {
$t_status_count_array[$t_status] = 0;
}
$width = round($t_status_count_array[$t_status] / $t_bug_count * 100);
if ($width > 0) {
echo "<td class=\"small-caption-center\" width=\"{$width}%\" bgcolor=\"{$t_color}\">{$width}%</td>";
}
}
echo '</tr>';
echo '</table>';
}
}
开发者ID:Tarendai,项目名称:spring-website,代码行数:46,代码来源:html_api.php
示例20: basename
* should only be known internally to the server.
*/
/**
* @todo Modify to run sections only on certain pages.
* eg. status colors are only necessary on a few pages.(my view, view all bugs, bug view, etc. )
* other pages may need to include dynamic css styles as well
*/
$t_referer_page = basename(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PATH));
switch ($t_referer_page) {
case 'login_page.php':
case 'signup_page.php':
case 'lost_pwd_page.php':
case 'account_update.php':
# We don't need custom status colors on login page, and this is
# actually causing an error since we're not authenticated yet.
exit;
}
$t_status_string = config_get('status_enum_string');
$t_statuses = MantisEnum::getAssocArrayIndexedByValues($t_status_string);
$t_colors = config_get('status_colors');
$t_color_count = count($t_colors);
$t_color_width = $t_color_count > 0 ? round(100 / $t_color_count) : 0;
$t_status_percents = get_percentage_by_status();
foreach ($t_statuses as $t_id => $t_label) {
if (array_key_exists($t_label, $t_colors))
|
请发表评论