$incident_detail .= "<td style='text-align:right;'>".sprintf(__("%s ago"), human_time_comparation($incident['actualizacion']))."</td>"; $incident_detail .= "</tr>"; $incident_detail .= "<tr>"; $incident_detail .= "<td><strong>".__("Total time spent")."</strong>:</td>"; $incident_detail .= "<td style='text-align:right;'>".give_human_time($stats[INCIDENT_METRIC_TOTAL_TIME],true,true,true)."</td>"; $incident_detail .= "</tr>"; $incident_detail .= "<tr>"; $incident_detail .= "<td><strong>".__("Time no third people")."</strong>:</td>"; $incident_detail .= "<td style='text-align:right;'>".give_human_time($stats[INCIDENT_METRIC_TOTAL_TIME_NO_THIRD],true,true,true)."</td>"; $incident_detail .= "</tr>"; //$incident_detail .= "</table>"; echo print_container('incident_tracking_detail', __('General statistics'), $incident_detail, 'open', true, '20px', '', '', 1, 'less_widht'); echo "</td>"; echo "<td style='vertical-align:top; width: 33%;'>"; $workunit_count = get_incident_count_workunits ($id); //$workunit_detail = "<table class='details_table alternate'>"; if ($workunit_count) { $work_hours = get_incident_workunit_hours ($id); $workunits = get_incident_workunits ($id); $workunit_data = get_workunit_data ($workunits[0]['id_workunit']); $workunit_detail = "<tr>"; $workunit_detail .= "<td><strong>".__("Last work at")."</strong>:</td>"; $workunit_detail .= "<td style='text-align:right;'>".human_time_comparation ($workunit_data['timestamp'])."</td>"; $workunit_detail .= "</tr>"; $workunit_detail .= "<tr>"; $workunit_detail .= "<td><strong>".__("Workunits")."</strong>:</td>"; $workunit_detail .= "<td style='text-align:right;'>".$workunit_count."</td>"; $workunit_detail .= "</tr>"; $workunit_detail .= "<tr>"; $workunit_detail .= "<td><strong>".__("Time used")."</strong>:</td>";
function api_get_incidents($return_type, $user, $params) { $filter = array(); $filter['string'] = $params[0]; $filter['status'] = $params[1]; $filter['id_group'] = $params[2]; $filter["limit"] = 5000; // If the user is admin, all the incidents are showed if (!get_admin_user($user)) { $filter['id_user_or_creator'] = $user; } global $config; $config['id_user'] = $user; $result = filter_incidents($filter); if ($result === false) { switch ($return_type) { case "xml": return "<xml></xml>"; break; case "csv": return; break; } } $ret = ''; if ($return_type == 'xml') { $ret = "<xml version='1.0' encoding='UTF-8'>\n"; } $result = clean_numerics($result); foreach ($result as $index => $item) { $item['workunits_hours'] = get_incident_workunit_hours($item['id_incidencia']); $item['workunits_count'] = get_incident_count_workunits($item['id_incidencia']); switch ($return_type) { case "xml": $ret .= xml_node($item, 'incident', false); break; case "csv": $ret .= array_to_csv($item); break; } } if ($return_type == 'xml') { $ret .= "</xml>\n"; } return $ret; }
function incident_details_list($id_incident, $return = false) { $output = ''; $incident = get_incident($id_incident); $output .= '<ul id="incident-details-list" class="sidemenu">'; $output .= ' <strong>' . __('Open at') . '</strong>: ' . human_time_comparation($incident['inicio']); if ($incident['estado'] == 7) { $output .= '<br /> <strong>' . __('Closed at') . '</strong>: ' . human_time_comparation($incident['cierre']); } if ($incident['actualizacion'] != $incident['inicio']) { $output .= '<br /> <strong>' . __('Last update') . '</strong>: ' . human_time_comparation($incident['actualizacion']); } /* Show workunits if there are some */ $workunit_count = get_incident_count_workunits($id_incident); if ($workunit_count) { $work_hours = get_incident_workunit_hours($id_incident); $workunits = get_incident_workunits($id_incident); $workunit_data = get_workunit_data($workunits[0]['id_workunit']); $output .= '<br /> <strong>' . __('Last work at') . '</strong>: ' . human_time_comparation($workunit_data['timestamp']); $output .= '<br /> <strong>' . __('Workunits') . '</strong>: ' . $workunit_count; $output .= '<br /> <strong>' . __('Time used') . '</strong>: ' . $work_hours; $output .= '<br /> <strong>' . _('Done by') . '</strong>: <em>' . $workunit_data['id_user'] . '</em>'; } $output .= '</ul>'; if ($return) { return $output; } echo $output; }
echo "</ul>"; echo "</div>"; echo "</h1>"; $incidents = filter_incidents($filter); if (empty($incidents)) { $incidents = array(); } $incidents_by_user = array(); foreach ($incidents as $incident) { $row = array(); $user_name = get_db_value('nombre_real', 'tusuario', 'id_usuario', $incident['id_creator']); $row['id_creator'] = $incident['id_creator']; $row['id_incident'] = $incident['id_incidencia']; $row['incident_name'] = safe_output($incident['titulo']); $row['user_name'] = safe_output($user_name); $row['workunits'] = get_incident_count_workunits($incident['id_incidencia']); $row['hours'] = get_incident_workunit_hours($incident['id_incidencia']); $row['files'] = get_number_files_incident($incident['id_incidencia']); $incidents_by_user[] = $row; } /* Add a form to carry filter between statistics and search views */ echo '<form id="search_form" method="post" action="index.php?sec=incidents&sec2=operation/incidents/incident_search&option=search" style="clear: both">'; foreach ($filter as $key => $value) { print_input_hidden("search_" . $key, $value); } print_input_hidden("offset", get_parameter("offset")); echo "</form>"; if (empty($incidents_by_user)) { ui_print_error_message(__('There are not tickets with this filter.')); } else { print_bubble_incidents_per_user_graph($incidents_by_user);