query_first("SELECT * FROM " . TABLE_PREFIX . "bug WHERE bugid = " . intval($bugsys->in['bugid'])); if (!$bug) { $message->error('alert: bad bug'); } if ($bug['hidden'] AND !can_perform('canviewhiddenbugs')) { $message->error_permission(); } // ################################################################### $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['formatted'] = call_user_func_array('phrase', array_merge(array($log['language']), unserialize($log['arguments']))); $log['date'] = datelike('standard', $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'])) ? false : true); $show['changes'] = (($hasvalues) ? true : $show['changes']); if ($hasvalues) { $rowspan++; eval('$changes .= "' . $template->fetch('history_bit') . '";'); } if (!in_array($log['formatted'], $messages)) { $messages[] = $log['formatted']; } } $log['messages'] = implode("\n
", $messages); eval('$history .= "' . $template->fetch('history_group') . '";'); } eval('$template->flush("' . $template->fetch('history') . '");'); /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>