query_first("SELECT * FROM " . TABLE_PREFIX . "bug WHERE bugid = " . intval($bugsys->in['bugid'])); if (!$bug) { $message->error($lang->getlex('error_invalid_id')); } if ($bug['hidden'] AND !can_perform('canviewhidden', $bug['productid'])) { $message->error_permission(); } // ################################################################### $customfields = $db->query(" SELECT bugfield.* FROM " . TABLE_PREFIX . "bugfield AS bugfield LEFT JOIN " . TABLE_PREFIX . "bugfieldpermission AS permission ON (bugfield.fieldid = permission.fieldid) WHERE permission.mask <> 0 AND permission.usergroupid = {$bugsys->userinfo['usergroupid']}" ); while ($field = $db->fetch_array($customfields)) { $fieldlist["custom_field$field[fieldid]"] = 'custom_field' . $field['fieldid'] . " (\"$field[name]\")"; } // ################################################################### $logs_fetch = $db->query(" SELECT history.*, user.userid, user.email, user.displayname, user.showemail FROM " . TABLE_PREFIX . "history AS history LEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = history.userid) WHERE bugid = $bug[bugid]" ); while ($log = $db->fetch_array($logs_fetch)) { $log['date'] = $datef->format($bugsys->options['dateformat'], $log['dateline']); $log['user'] = construct_user_display($log); $logs["$log[dateline]"]["$log[historyid]"] = $log; ksort($logs["$log[dateline]"]); } ksort($logs); foreach ($logs AS $dateline => $logitems) { $rowspan = 1; $changes = ''; $show['changes'] = false; $messages = array(); foreach ($logitems AS $log) { $hasvalues = ((empty($log['original']) AND (empty($log['changed']) AND $log['changed'] != '0')) ? false : true); if ($newlog = $fieldlist["$log[field]"]) { $log['field'] = $newlog; } $show['changes'] = (($hasvalues) ? true : $show['changes']); if ($hasvalues) { $rowspan++; eval('$changes .= "' . $template->fetch('history_bit') . '";'); } } $log['messages'] = implode("
\n", $messages); eval('$history .= "' . $template->fetch('history_group') . '";'); } eval('$template->flush("' . $template->fetch('history') . '");'); /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>