diff options
Diffstat (limited to 'CGI.pl')
-rw-r--r-- | CGI.pl | 109 |
1 files changed, 0 insertions, 109 deletions
@@ -232,115 +232,6 @@ sub LogActivityEntry { } } -sub GetBugActivity { - my ($id, $starttime) = (@_); - my $datepart = ""; - my $dbh = Bugzilla->dbh; - - die "Invalid id: $id" unless $id=~/^\s*\d+\s*$/; - - if (defined $starttime) { - $datepart = "AND bugs_activity.bug_when > " . SqlQuote($starttime); - } - my $suppjoins = ""; - my $suppwhere = ""; - if (Param("insidergroup") && !UserInGroup(Param('insidergroup'))) { - $suppjoins = "LEFT JOIN attachments - ON attachments.attach_id = bugs_activity.attach_id"; - $suppwhere = "AND COALESCE(attachments.isprivate, 0) = 0"; - } - my $query = " - SELECT COALESCE(fielddefs.description, " - # This is a hack - PostgreSQL requires both COALESCE - # arguments to be of the same type, and this is the only - # way supported by both MySQL 3 and PostgreSQL to convert - # an integer to a string. MySQL 4 supports CAST. - . $dbh->sql_string_concat('bugs_activity.fieldid', q{''}) . - "), fielddefs.name, bugs_activity.attach_id, " . - $dbh->sql_date_format('bugs_activity.bug_when', '%Y.%m.%d %H:%i:%s') . - ", bugs_activity.removed, bugs_activity.added, profiles.login_name - FROM bugs_activity - $suppjoins - LEFT JOIN fielddefs - ON bugs_activity.fieldid = fielddefs.fieldid - INNER JOIN profiles - ON profiles.userid = bugs_activity.who - WHERE bugs_activity.bug_id = $id - $datepart - $suppwhere - ORDER BY bugs_activity.bug_when"; - - SendSQL($query); - - my @operations; - my $operation = {}; - my $changes = []; - my $incomplete_data = 0; - - while (my ($field, $fieldname, $attachid, $when, $removed, $added, $who) - = FetchSQLData()) - { - my %change; - my $activity_visible = 1; - - # check if the user should see this field's activity - if ($fieldname eq 'remaining_time' || - $fieldname eq 'estimated_time' || - $fieldname eq 'work_time' || - $fieldname eq 'deadline') { - - if (!UserInGroup(Param('timetrackinggroup'))) { - $activity_visible = 0; - } else { - $activity_visible = 1; - } - } else { - $activity_visible = 1; - } - - if ($activity_visible) { - # This gets replaced with a hyperlink in the template. - $field =~ s/^Attachment// if $attachid; - - # Check for the results of an old Bugzilla data corruption bug - $incomplete_data = 1 if ($added =~ /^\?/ || $removed =~ /^\?/); - - # An operation, done by 'who' at time 'when', has a number of - # 'changes' associated with it. - # If this is the start of a new operation, store the data from the - # previous one, and set up the new one. - if ($operation->{'who'} - && ($who ne $operation->{'who'} - || $when ne $operation->{'when'})) - { - $operation->{'changes'} = $changes; - push (@operations, $operation); - - # Create new empty anonymous data structures. - $operation = {}; - $changes = []; - } - - $operation->{'who'} = $who; - $operation->{'when'} = $when; - - $change{'field'} = $field; - $change{'fieldname'} = $fieldname; - $change{'attachid'} = $attachid; - $change{'removed'} = $removed; - $change{'added'} = $added; - push (@$changes, \%change); - } - } - - if ($operation->{'who'}) { - $operation->{'changes'} = $changes; - push (@operations, $operation); - } - - return(\@operations, $incomplete_data); -} - ############# Live code below here (that is, not subroutine defs) ############# use Bugzilla; |